@hasna/domains 0.0.46 → 0.1.0
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/README.md +58 -34
- package/dist/cli/commands/dns.d.ts.map +1 -1
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/serve.d.ts +1 -0
- package/dist/cli/commands/serve.d.ts.map +1 -1
- package/dist/cli/index.js +4946 -2042
- package/dist/db/database.d.ts +6 -21
- package/dist/db/database.d.ts.map +1 -1
- package/dist/db/domains.d.ts +3 -14
- package/dist/db/domains.d.ts.map +1 -1
- package/dist/db/store.d.ts +36 -32
- package/dist/db/store.d.ts.map +1 -1
- package/dist/generated/storage-kit/backend.d.ts +4 -4
- package/dist/generated/storage-kit/backend.d.ts.map +1 -1
- package/dist/generated/storage-kit/index.d.ts +1 -1
- package/dist/generated/storage-kit/index.d.ts.map +1 -1
- package/dist/generated/storage-kit/migrations.d.ts.map +1 -1
- package/dist/generated/storage-kit/pool.d.ts +2 -5
- package/dist/generated/storage-kit/pool.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1268 -1639
- package/dist/lib/app-home.d.ts +48 -0
- package/dist/lib/app-home.d.ts.map +1 -0
- package/dist/lib/client-storage-policy.d.ts +10 -0
- package/dist/lib/client-storage-policy.d.ts.map +1 -0
- package/dist/lib/client-types.d.ts +184 -0
- package/dist/lib/client-types.d.ts.map +1 -0
- package/dist/lib/cloudflare.d.ts.map +1 -1
- package/dist/lib/cloudflare.js +23 -0
- package/dist/lib/config.d.ts +8 -17
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/dns-plan.d.ts +1 -1
- package/dist/lib/dns-plan.d.ts.map +1 -1
- package/dist/lib/domains-resolver.d.ts +96 -0
- package/dist/lib/domains-resolver.d.ts.map +1 -0
- package/dist/lib/registrar.d.ts +8 -0
- package/dist/lib/registrar.d.ts.map +1 -1
- package/dist/lib/registrar.js +23 -0
- package/dist/mcp/harness.d.ts +46 -0
- package/dist/mcp/harness.d.ts.map +1 -0
- package/dist/mcp/http.d.ts +3 -2
- package/dist/mcp/http.d.ts.map +1 -1
- package/dist/mcp/index.d.ts.map +1 -1
- package/dist/mcp/index.js +23611 -24591
- package/dist/mcp/tool-filter.d.ts +6 -0
- package/dist/mcp/tool-filter.d.ts.map +1 -1
- package/dist/sdk/index.d.ts +21 -10
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +861 -245
- package/dist/server/index.d.ts +6 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +84 -29
- package/dist/server/migrations.d.ts +35 -0
- package/dist/server/migrations.d.ts.map +1 -1
- package/package.json +8 -8
- package/postinstall.js +41 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @hasna/domains LOCAL data home resolution — the on-box SQLite store's root.
|
|
3
|
+
*
|
|
4
|
+
* This is NOT a credential chain. Credentials and the service authority come
|
|
5
|
+
* from the ONE shared resolver in @hasna/contracts (see
|
|
6
|
+
* `../lib/domains-resolver.ts`); this module only answers where the local
|
|
7
|
+
* store lives when the operator explicitly opted into it.
|
|
8
|
+
*
|
|
9
|
+
* The default is the legacy `~/.hasna/domains` root, which IS the shared
|
|
10
|
+
* `~/.hasna` root the resolver's disk tier already reads
|
|
11
|
+
* (`~/.hasna/domains/config/credentials`), so the local data and the
|
|
12
|
+
* credential file stay under one operator-known namespace. When `HASNA_HOME`
|
|
13
|
+
* (the shared root override @hasna/contracts honours) is set, the local data
|
|
14
|
+
* root follows it: `$HASNA_HOME/domains`.
|
|
15
|
+
*
|
|
16
|
+
* STRIPPED (2026-09-06, hasna/apps#1720 class B): the in-package reimplementation
|
|
17
|
+
* of the deleted @hasna/paths resolver, the XDG data/config home layout,
|
|
18
|
+
* `~/.config/hasna` / `$XDG_CONFIG_HOME` / `$XDG_DATA_HOME` consultation, and
|
|
19
|
+
* the one-time migrations from the pre-XDG layout. Nothing in this package
|
|
20
|
+
* consults those locations any more. An exact-app override
|
|
21
|
+
* (`HASNA_DOMAINS_HOME` / `HASNA_DOMAINS_DIR` win over their legacy unprefixed
|
|
22
|
+
* aliases) still names a concrete local store root and keeps the legacy layout
|
|
23
|
+
* under it.
|
|
24
|
+
*
|
|
25
|
+
* Everything accepts an explicit env object (default `process.env`) so the
|
|
26
|
+
* resolver is deterministic in tests.
|
|
27
|
+
*/
|
|
28
|
+
export declare const APP: "domains";
|
|
29
|
+
/** The effective user home, mirroring the pre-existing domains resolution (`HOME` || `USERPROFILE` || os.homedir()). */
|
|
30
|
+
export declare function effectiveHome(env?: NodeJS.ProcessEnv): string;
|
|
31
|
+
/**
|
|
32
|
+
* The exact-app override root, when set: `HASNA_DOMAINS_HOME` /
|
|
33
|
+
* `HASNA_DOMAINS_DIR` (the canonical names) win over the legacy unprefixed
|
|
34
|
+
* `DOMAINS_HOME` / `DOMAINS_DIR` aliases. Wins unconditionally and keeps the
|
|
35
|
+
* legacy layout under the override root.
|
|
36
|
+
*/
|
|
37
|
+
export declare function exactAppOverride(env?: NodeJS.ProcessEnv): string | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* The effective local data home: the exact-app override wins unconditionally;
|
|
40
|
+
* otherwise `$HASNA_HOME/domains` (the shared-root override) or the legacy
|
|
41
|
+
* `~/.hasna/domains` default.
|
|
42
|
+
*/
|
|
43
|
+
export declare function appDataHome(env?: NodeJS.ProcessEnv): string;
|
|
44
|
+
/** The default SQLite db path, at the root of the effective data home. */
|
|
45
|
+
export declare function getDefaultDbPath(env?: NodeJS.ProcessEnv): string;
|
|
46
|
+
/** The default config path, at the root of the effective data home. */
|
|
47
|
+
export declare function getDefaultConfigPath(env?: NodeJS.ProcessEnv): string;
|
|
48
|
+
//# sourceMappingURL=app-home.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-home.d.ts","sourceRoot":"","sources":["../../src/lib/app-home.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAKH,eAAO,MAAM,GAAG,EAAG,SAAkB,CAAC;AAEtC,wHAAwH;AACxH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE1E;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAOzF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAMxE;AAED,0EAA0E;AAC1E,wBAAgB,gBAAgB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE7E;AAED,uEAAuE;AACvE,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAEjF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Legacy variables that must no longer select a client database. */
|
|
2
|
+
export declare const LOCAL_PATH_VARS: readonly ["HASNA_DOMAINS_DB_PATH", "DOMAINS_DB_PATH", "HASNA_DOMAINS_DIR", "DOMAINS_DIR"];
|
|
3
|
+
export type LocalOptInEnv = Record<string, string | undefined>;
|
|
4
|
+
/** The first local-path var this env sets, or undefined when none is set. */
|
|
5
|
+
export declare function explicitLocalPathVar(env?: LocalOptInEnv): string | undefined;
|
|
6
|
+
/** Every env name that can configure a domains authority or credential, resolver-derived. */
|
|
7
|
+
export declare function domainsAuthorityEnvKeys(): string[];
|
|
8
|
+
/** Refuse obsolete local database configuration without exposing its value. */
|
|
9
|
+
export declare function assertDomainsClientStorage(env?: LocalOptInEnv): void;
|
|
10
|
+
//# sourceMappingURL=client-storage-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-storage-policy.d.ts","sourceRoot":"","sources":["../../src/lib/client-storage-policy.ts"],"names":[],"mappings":"AASA,qEAAqE;AACrE,eAAO,MAAM,eAAe,2FAKlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE/D,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAAC,GAAG,GAAE,aAA2B,GAAG,MAAM,GAAG,SAAS,CAEzF;AAED,6FAA6F;AAC7F,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,CASlD;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CAAC,GAAG,GAAE,aAA2B,GAAG,IAAI,CAKjF"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/** An environment as the client resolver reads it. */
|
|
2
|
+
export type ClientEnv = Record<string, string | undefined>;
|
|
3
|
+
/** The env-key spec for one app, in precedence order. */
|
|
4
|
+
export interface ClientTransportEnvKeys {
|
|
5
|
+
/** API base-URL keys, in precedence order. */
|
|
6
|
+
apiUrlKeys: string[];
|
|
7
|
+
/** API-key keys, in precedence order. */
|
|
8
|
+
apiKeyKeys: string[];
|
|
9
|
+
}
|
|
10
|
+
/** Which tier of the credential chain supplied a key. */
|
|
11
|
+
export type CredentialTier = "argument" | "override" | "pointer" | "profile" | "keychain" | "disk" | "env";
|
|
12
|
+
/**
|
|
13
|
+
* A credential resolved from one tier of the chain.
|
|
14
|
+
*
|
|
15
|
+
* `apiKey` is non-enumerable and redacted by a custom-inspect hook in the
|
|
16
|
+
* resolver, so spreading or serializing a resolution drops it. That is a
|
|
17
|
+
* runtime property of the value, not something a type can carry.
|
|
18
|
+
*/
|
|
19
|
+
export interface ResolvedCredential {
|
|
20
|
+
readonly apiKey: string;
|
|
21
|
+
readonly tier: CredentialTier;
|
|
22
|
+
/** An env key NAME, an absolute file path, or `keychain:<service>@<account>`. Never a value. */
|
|
23
|
+
readonly source: string;
|
|
24
|
+
/** True for tiers an operator sets on purpose. These never fall through. */
|
|
25
|
+
readonly deliberate: boolean;
|
|
26
|
+
/** For `tier === "pointer"`, the vault ITEM KEY to resolve at request time. Never a value. */
|
|
27
|
+
readonly pointerVaultKey?: string;
|
|
28
|
+
/** The disk paths consulted before this credential was chosen. */
|
|
29
|
+
readonly diskCandidates: readonly string[];
|
|
30
|
+
/** Human-readable advisory. Never contains key material. */
|
|
31
|
+
readonly warning: string | null;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* A per-request credential source.
|
|
35
|
+
*
|
|
36
|
+
* Prefer this over a bare string for a long-lived client: the transport calls
|
|
37
|
+
* it fresh for every request, so a key rotation heals without a rebuild.
|
|
38
|
+
*/
|
|
39
|
+
export type CredentialProvider = () => ResolvedCredential;
|
|
40
|
+
/** The captured outcome of one `security` invocation. `stdout` IS the secret. */
|
|
41
|
+
export interface KeychainCommandResult {
|
|
42
|
+
/** Exit status; null when the tool could not be started or was killed. */
|
|
43
|
+
status: number | null;
|
|
44
|
+
stdout: string;
|
|
45
|
+
stderr: string;
|
|
46
|
+
}
|
|
47
|
+
/** Runs `/usr/bin/security` with the given argv — no shell. Injected by tests. */
|
|
48
|
+
export type KeychainCommandRunner = (argv: readonly string[]) => KeychainCommandResult;
|
|
49
|
+
/** Keychain-tier controls. Every field is optional; production callers pass nothing. */
|
|
50
|
+
export interface KeychainTierOptions {
|
|
51
|
+
/**
|
|
52
|
+
* Whether the Keychain is consulted for a caller-built env object. The tier is
|
|
53
|
+
* AMBIENT: by default it runs only for the live `process.env`. Injecting `run`
|
|
54
|
+
* implies `true`.
|
|
55
|
+
*/
|
|
56
|
+
enabled?: boolean;
|
|
57
|
+
/** Defaults to `process.platform`; the tier exists only on `"darwin"`. */
|
|
58
|
+
platform?: string;
|
|
59
|
+
/** The machine's host name (label before the first dot), used when `HASNA_STATION` is unset. */
|
|
60
|
+
hostname?: () => string;
|
|
61
|
+
/** The `security` runner. Defaults to spawning `/usr/bin/security` by argv. */
|
|
62
|
+
run?: KeychainCommandRunner;
|
|
63
|
+
}
|
|
64
|
+
/** Tier-1 credential inputs (`--api-key` / `--profile`) plus the Keychain-tier seam. */
|
|
65
|
+
export interface CredentialChainOptions {
|
|
66
|
+
/** Tier 1: an explicit key, e.g. from `--api-key`. */
|
|
67
|
+
apiKey?: string;
|
|
68
|
+
/** Tier 1: an explicit profile name, e.g. from `--profile`. Beats `HASNA_PROFILE`. */
|
|
69
|
+
profile?: string;
|
|
70
|
+
/** Tier 3: Keychain controls — a fake `security` runner in tests, an opt-out on CI. */
|
|
71
|
+
keychain?: KeychainTierOptions;
|
|
72
|
+
}
|
|
73
|
+
/** Where a client reads and writes. There is one: the authenticated service API. */
|
|
74
|
+
export type ClientTransportKind = "http";
|
|
75
|
+
/** The transport decision, with every source named and no key value in it. */
|
|
76
|
+
export interface ClientTransportResolution {
|
|
77
|
+
/** Where the client should read/write from. */
|
|
78
|
+
transport: ClientTransportKind;
|
|
79
|
+
/** What selected the transport: an env key NAME, a Keychain item reference, a file PATH, or `"default"`. */
|
|
80
|
+
transportSource: string;
|
|
81
|
+
/** `<origin>/v1` base for the server API. */
|
|
82
|
+
baseUrl: string;
|
|
83
|
+
/** WHERE the API URL came from: an env key NAME, a Keychain item reference, a file PATH, `"default"`, or null. */
|
|
84
|
+
apiUrlSource: string | null;
|
|
85
|
+
/** Whether an API key is present (value never exposed). */
|
|
86
|
+
apiKeyPresent: boolean;
|
|
87
|
+
/** WHERE the API key came from: an env key NAME or an absolute file path. Never the value. */
|
|
88
|
+
apiKeySource: string | null;
|
|
89
|
+
/** Which tier of the credential chain supplied the key. */
|
|
90
|
+
apiKeyTier: CredentialTier;
|
|
91
|
+
/** Kept for diagnostic shape compatibility; a successful resolution is never misconfigured. */
|
|
92
|
+
misconfigured: boolean;
|
|
93
|
+
/** Human-readable warning, or null. Never contains secret values. */
|
|
94
|
+
warning: string | null;
|
|
95
|
+
}
|
|
96
|
+
/** Query string params appended to a request URL. */
|
|
97
|
+
export type QueryParams = URLSearchParams | Record<string, string | number | boolean | null | undefined | ReadonlyArray<string | number | boolean>>;
|
|
98
|
+
/** Retry policy for transient failures (network errors, timeouts, 5xx, 429). */
|
|
99
|
+
export interface HasnaRetryOptions {
|
|
100
|
+
/** Max RETRY attempts after the first try. Default 2 (=> up to 3 total tries). */
|
|
101
|
+
retries?: number;
|
|
102
|
+
/** Base backoff in ms for exponential backoff. Default 200. */
|
|
103
|
+
baseDelayMs?: number;
|
|
104
|
+
/** Backoff ceiling in ms. Default 2000. */
|
|
105
|
+
maxDelayMs?: number;
|
|
106
|
+
/** HTTP statuses that trigger a retry. Default 408, 425, 429, 500, 502, 503, 504. */
|
|
107
|
+
retryStatuses?: number[];
|
|
108
|
+
}
|
|
109
|
+
/** Per-call request options: query, idempotency, timeout, retry, extra headers. */
|
|
110
|
+
export interface HasnaRequestOptions {
|
|
111
|
+
/** Query string params appended to the URL. */
|
|
112
|
+
query?: QueryParams;
|
|
113
|
+
/** Idempotency key sent as `Idempotency-Key`, making an unsafe method safe to retry. */
|
|
114
|
+
idempotencyKey?: string;
|
|
115
|
+
/** Override the transport timeout for this call (ms). */
|
|
116
|
+
timeoutMs?: number;
|
|
117
|
+
/** Extra headers merged into this call (override transport headers). */
|
|
118
|
+
headers?: Record<string, string>;
|
|
119
|
+
/** Override or disable retry for this call. `false` disables retries. */
|
|
120
|
+
retry?: HasnaRetryOptions | false;
|
|
121
|
+
/** Caller abort signal, combined with the internal timeout. */
|
|
122
|
+
signal?: AbortSignal;
|
|
123
|
+
}
|
|
124
|
+
/** The authenticated HTTP transport. The API key lives inside it and is never returned. */
|
|
125
|
+
export interface HasnaHttpTransport {
|
|
126
|
+
readonly baseUrl: string;
|
|
127
|
+
request<T = unknown>(method: string, path: string, body?: unknown, opts?: HasnaRequestOptions): Promise<T>;
|
|
128
|
+
get<T = unknown>(path: string, opts?: HasnaRequestOptions): Promise<T>;
|
|
129
|
+
post<T = unknown>(path: string, body?: unknown, opts?: HasnaRequestOptions): Promise<T>;
|
|
130
|
+
put<T = unknown>(path: string, body?: unknown, opts?: HasnaRequestOptions): Promise<T>;
|
|
131
|
+
patch<T = unknown>(path: string, body?: unknown, opts?: HasnaRequestOptions): Promise<T>;
|
|
132
|
+
del<T = unknown>(path: string, body?: unknown, opts?: HasnaRequestOptions): Promise<T>;
|
|
133
|
+
}
|
|
134
|
+
/** Options for a `list()` call: filters/pagination as query params. */
|
|
135
|
+
export interface StorageListOptions extends Pick<HasnaRequestOptions, "timeoutMs" | "headers" | "retry" | "signal"> {
|
|
136
|
+
/** Query params (limit, offset, cursor, filters, ...). */
|
|
137
|
+
query?: QueryParams;
|
|
138
|
+
}
|
|
139
|
+
/** Options for a `get()` call. */
|
|
140
|
+
export type StorageGetOptions = Pick<HasnaRequestOptions, "timeoutMs" | "headers" | "retry" | "signal" | "query">;
|
|
141
|
+
/** Options for a `create()` call. */
|
|
142
|
+
export interface StorageCreateOptions extends Pick<HasnaRequestOptions, "timeoutMs" | "headers" | "retry" | "signal" | "query"> {
|
|
143
|
+
/** Defaults to a fresh UUID so a retried POST is deduped rather than duplicated. */
|
|
144
|
+
idempotencyKey?: string;
|
|
145
|
+
}
|
|
146
|
+
/** Options for an `update()` call. */
|
|
147
|
+
export interface StorageUpdateOptions extends Pick<HasnaRequestOptions, "timeoutMs" | "headers" | "retry" | "signal" | "query"> {
|
|
148
|
+
/** HTTP verb for the update. Default `PATCH` (partial); use `PUT` for replace. */
|
|
149
|
+
method?: "PATCH" | "PUT";
|
|
150
|
+
/** Idempotency key. Set this to make a PATCH retry-safe too. */
|
|
151
|
+
idempotencyKey?: string;
|
|
152
|
+
}
|
|
153
|
+
/** Options for a `delete()` call. */
|
|
154
|
+
export type StorageDeleteOptions = Pick<HasnaRequestOptions, "timeoutMs" | "headers" | "retry" | "signal" | "query">;
|
|
155
|
+
/** Result of a `list()` call. `items` is the extracted array; `raw` is the full envelope. */
|
|
156
|
+
export interface StorageListResult<T> {
|
|
157
|
+
items: T[];
|
|
158
|
+
/** Total count when the server reports one (`total`/`count`), else null. */
|
|
159
|
+
total: number | null;
|
|
160
|
+
/** Opaque pagination cursor when the server reports one, else null. */
|
|
161
|
+
cursor: string | null;
|
|
162
|
+
/** The full parsed response body (envelope preserved). */
|
|
163
|
+
raw: unknown;
|
|
164
|
+
}
|
|
165
|
+
/** The app storage interface exposed by the authenticated service API. */
|
|
166
|
+
export interface HasnaStorageClient {
|
|
167
|
+
/** App slug this client targets. */
|
|
168
|
+
readonly name: string;
|
|
169
|
+
/** `<origin>/v1` base URL. */
|
|
170
|
+
readonly baseUrl: string;
|
|
171
|
+
/** The underlying HTTP transport (escape hatch for non-CRUD routes). */
|
|
172
|
+
readonly transport: HasnaHttpTransport;
|
|
173
|
+
/** List a collection. Returns extracted `items` plus the raw envelope. */
|
|
174
|
+
list<T = unknown>(resource: string, options?: StorageListOptions): Promise<StorageListResult<T>>;
|
|
175
|
+
/** Fetch one entity by id. Returns `null` on 404. */
|
|
176
|
+
get<T = unknown>(resource: string, id: string, options?: StorageGetOptions): Promise<T | null>;
|
|
177
|
+
/** Create one entity. Retry-safe via an auto `Idempotency-Key`. */
|
|
178
|
+
create<T = unknown>(resource: string, body: unknown, options?: StorageCreateOptions): Promise<T>;
|
|
179
|
+
/** Update one entity by id (PATCH by default). */
|
|
180
|
+
update<T = unknown>(resource: string, id: string, patch: unknown, options?: StorageUpdateOptions): Promise<T>;
|
|
181
|
+
/** Delete one entity by id. Resolves for 2xx and 404 (already gone). */
|
|
182
|
+
delete(resource: string, id: string, options?: StorageDeleteOptions): Promise<void>;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=client-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-types.d.ts","sourceRoot":"","sources":["../../src/lib/client-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,uBAAuB,EAIxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAIjC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,wBAAgB,SAAS,IAAI,gBAAgB,CAE5C;AAqCD,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAkBpF;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQvG;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAUnG;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE;IACL,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC1E,GACA,OAAO,CAAC,cAAc,CAAC,CASzB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAID,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkBxG;AAkBD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrH;AA+FD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7G;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjI;AA4BD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,GAAG,uBAAuB,
|
|
1
|
+
{"version":3,"file":"cloudflare.d.ts","sourceRoot":"","sources":["../../src/lib/cloudflare.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAEV,WAAW,EACX,uBAAuB,EAIxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAE9B,YAAY,EAAE,gBAAgB,EAAE,CAAC;AAIjC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,wBAAgB,SAAS,IAAI,gBAAgB,CAE5C;AAqCD,wBAAsB,SAAS,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAkBpF;AAED,wBAAsB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAQvG;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC,CAUnG;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE;IACL,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC7E,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;CAC1E,GACA,OAAO,CAAC,cAAc,CAAC,CASzB;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzF;AAID,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAkBxG;AAkBD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsBrH;AA+FD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7G;AAED,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQjI;AA4BD,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,GAAG,uBAAuB,CAuHzG"}
|
package/dist/lib/cloudflare.js
CHANGED
|
@@ -426,6 +426,29 @@ function createCloudflareProvider(config) {
|
|
|
426
426
|
await replaceRecordsByNameType(zone.id, replacement, cfg);
|
|
427
427
|
}
|
|
428
428
|
return true;
|
|
429
|
+
},
|
|
430
|
+
async deleteDnsRecords(domain, records) {
|
|
431
|
+
const zone = await getZone(domain, cfg);
|
|
432
|
+
if (!zone)
|
|
433
|
+
throw new Error(`No Cloudflare zone found for ${domain}`);
|
|
434
|
+
const grouped = new Map;
|
|
435
|
+
for (const record of records) {
|
|
436
|
+
const key = `${record.type}|${record.name}`;
|
|
437
|
+
const group = grouped.get(key) ?? [];
|
|
438
|
+
group.push(record);
|
|
439
|
+
grouped.set(key, group);
|
|
440
|
+
}
|
|
441
|
+
for (const group of grouped.values()) {
|
|
442
|
+
const { type, name } = group[0];
|
|
443
|
+
const existing = await listRecordsByNameType(zone.id, type, name, cfg);
|
|
444
|
+
for (const record of group) {
|
|
445
|
+
const match = existing.find((candidate) => candidate.content === record.value && (candidate.priority ?? undefined) === (record.priority ?? undefined));
|
|
446
|
+
if (match?.id) {
|
|
447
|
+
await deleteRecord(zone.id, match.id, cfg);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
return true;
|
|
429
452
|
}
|
|
430
453
|
};
|
|
431
454
|
}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Persistent config stored in the domains config directory.
|
|
3
|
+
*
|
|
4
|
+
* This is a SETTINGS store — registrant contact defaults, registrar/DNS
|
|
5
|
+
* defaults, the purchase AWS profile. It never holds an API key: credentials
|
|
6
|
+
* come from the shared @hasna/contracts resolver only (see
|
|
7
|
+
* `../lib/domains-resolver.ts`).
|
|
3
8
|
*/
|
|
4
9
|
export interface DomainContact {
|
|
5
10
|
first_name?: string;
|
|
@@ -28,24 +33,10 @@ export interface DomainsConfig {
|
|
|
28
33
|
export declare function getPurchaseProfile(): string | undefined;
|
|
29
34
|
/** Set AWS_PROFILE from config for purchase ops if no explicit creds are set. */
|
|
30
35
|
export declare function applyPurchaseProfile(): string | undefined;
|
|
31
|
-
export interface LegacyConfigMigrationReport {
|
|
32
|
-
dryRun: boolean;
|
|
33
|
-
wouldCopy: boolean;
|
|
34
|
-
copied: boolean;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* One-time migration from the previous XDG config default
|
|
38
|
-
* ($XDG_CONFIG_HOME/open-domains/config.json) into the canonical
|
|
39
|
-
* ~/.hasna/domains/config.json. Copies, verifies by size and sha256, records a
|
|
40
|
-
* receipt, never deletes the source, never overwrites existing canonical data,
|
|
41
|
-
* and is idempotent (receipt + canonical file both skip it). dryRun reports
|
|
42
|
-
* whether the config would be copied and writes nothing.
|
|
43
|
-
*/
|
|
44
|
-
export declare function migrateLegacyConfig(env?: NodeJS.ProcessEnv, dryRun?: boolean): LegacyConfigMigrationReport;
|
|
45
36
|
/**
|
|
46
|
-
* The default config location
|
|
47
|
-
* (
|
|
48
|
-
* over the default.
|
|
37
|
+
* The default config location — `config.json` at the root of the effective
|
|
38
|
+
* local data home (see `app-home.ts`). Env overrides (DOMAINS_CONFIG_PATH /
|
|
39
|
+
* DOMAINS_CONFIG_DIR) are honored unchanged and win over the default.
|
|
49
40
|
*/
|
|
50
41
|
export declare function getConfigPath(env?: NodeJS.ProcessEnv): string;
|
|
51
42
|
export declare function loadConfig(env?: NodeJS.ProcessEnv): DomainsConfig;
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAIvD;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM1E;AAED,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,CAQ9E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAK5F;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,CAehH;AAED,mGAAmG;AACnG,wBAAgB,cAAc,CAAC,IAAI,EAAE;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CAC9C,GAAG;IACF,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IACpE,cAAc,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAC1E,QAAQ,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9C,CA2BA;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUhE"}
|
package/dist/lib/dns-plan.d.ts
CHANGED
|
@@ -26,5 +26,5 @@ export declare function selectChangedDnsRecords(plan: DnsPlan, desired: Provider
|
|
|
26
26
|
export declare function getDnsApplyBlockReason(plan: DnsPlan, opts: {
|
|
27
27
|
yes?: boolean;
|
|
28
28
|
allowDelete?: boolean;
|
|
29
|
-
}): DnsApplyBlockReason | undefined;
|
|
29
|
+
}, deleteSupported?: boolean): DnsApplyBlockReason | undefined;
|
|
30
30
|
//# sourceMappingURL=dns-plan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dns-plan.d.ts","sourceRoot":"","sources":["../../src/lib/dns-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,oBAAoB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,8BAA8B,GAAG,0BAA0B,CAAC;AAMxH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAmB/F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,CA8BxF;AAUD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAgCjH;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAErD;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CASxG;AAED,wBAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"dns-plan.d.ts","sourceRoot":"","sources":["../../src/lib/dns-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B;AAED,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEhF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,oBAAoB,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,GAAG,uBAAuB,GAAG,8BAA8B,GAAG,0BAA0B,CAAC;AAMxH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAmB/F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,CA8BxF;AAUD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAgCjH;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAErD;AAMD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CASxG;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,IAAI,EAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAE,EAC9C,eAAe,UAAQ,GACtB,mBAAmB,GAAG,SAAS,CAMjC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { ClientEnv, ClientTransportResolution, CredentialChainOptions, CredentialTier, HasnaStorageClient, ResolvedCredential } from "./client-types.js";
|
|
2
|
+
/** The app slug the shared client seam resolves credentials and authority for. */
|
|
3
|
+
export declare const DOMAINS_APP_NAME: "domains";
|
|
4
|
+
export { domainsAuthorityEnvKeys } from "./client-storage-policy.js";
|
|
5
|
+
/**
|
|
6
|
+
* The environment as the resolver should see it: every authority/credential
|
|
7
|
+
* variable that is DECLARED BUT BLANK removed.
|
|
8
|
+
*
|
|
9
|
+
* A blank has always been this package's spelling for "not configured" — it is
|
|
10
|
+
* how fixtures scrub an inherited environment and how wrappers spell
|
|
11
|
+
* `HASNA_DOMAINS_API_URL="${MAYBE_UNSET}"`. @hasna/contracts takes the
|
|
12
|
+
* opposite and, for its purposes, correct view: a declared-but-blank credential
|
|
13
|
+
* is a misconfiguration it refuses loudly rather than resolving around.
|
|
14
|
+
*
|
|
15
|
+
* Both are right at their own layer, and the mismatch is not hypothetical: an
|
|
16
|
+
* environment carrying a real `HASNA_DOMAINS_API_KEY` alongside a blank legacy
|
|
17
|
+
* alias — the exact shape a scrubbed-then-overridden fixture produces — is a
|
|
18
|
+
* complete, unambiguous configuration that would otherwise be refused for the
|
|
19
|
+
* alias nobody set. Normalising here keeps "blank means unset" true at the
|
|
20
|
+
* domains seam while leaving the resolver's stricter rule intact for
|
|
21
|
+
* everything it does receive: a value that is present is still policed, and
|
|
22
|
+
* two aliases that actually disagree still refuse.
|
|
23
|
+
*/
|
|
24
|
+
export declare function domainsResolverEnv<T extends ClientEnv>(env: T): T;
|
|
25
|
+
/** The env object and credential options a domains surface hands @hasna/contracts. */
|
|
26
|
+
export interface DomainsResolverInputs<T extends ClientEnv> {
|
|
27
|
+
/** The environment with every declared-but-blank authority variable removed. */
|
|
28
|
+
env: T;
|
|
29
|
+
/** The chain options, with the Keychain tier's ambient gate already decided. */
|
|
30
|
+
credentials: CredentialChainOptions;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Build the resolver's inputs: the normalised environment AND the credential
|
|
34
|
+
* options that keep the machine's Keychain tier reachable across it. See the
|
|
35
|
+
* module header for why the gate has to travel with the copy.
|
|
36
|
+
*
|
|
37
|
+
* An explicit `enabled` from the caller still wins, and an injected `run`
|
|
38
|
+
* (which @hasna/contracts already treats as "enabled") is left alone, so the
|
|
39
|
+
* hermetic seam tests rely on is untouched. When there is no blank to remove
|
|
40
|
+
* the inputs pass through by identity, exactly as before — the CLI hands the
|
|
41
|
+
* resolver `process.env` itself, never a copy.
|
|
42
|
+
*/
|
|
43
|
+
export declare function domainsResolverInputs<T extends ClientEnv>(env: T, credentials?: CredentialChainOptions): DomainsResolverInputs<T>;
|
|
44
|
+
/**
|
|
45
|
+
* Options a domains surface forwards to the shared resolver: tier-1 credential
|
|
46
|
+
* inputs and the Keychain-tier seam.
|
|
47
|
+
*/
|
|
48
|
+
export interface DomainsResolverOptions {
|
|
49
|
+
/** Tier-1 credential inputs (`--api-key` / `--profile`) and Keychain controls. */
|
|
50
|
+
credentials?: CredentialChainOptions;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The transport report a caller can see — sources, tier, authority — with no
|
|
54
|
+
* key value in it. `baseUrl` is the `<origin>/v1` base the resolver produced.
|
|
55
|
+
*/
|
|
56
|
+
export interface DomainsTransportReport {
|
|
57
|
+
transport: "http";
|
|
58
|
+
/** `<origin>/v1` base for the server API. */
|
|
59
|
+
baseUrl: string;
|
|
60
|
+
/** WHERE the API URL came from: env key NAME, Keychain reference, file PATH, or `"default"`. */
|
|
61
|
+
apiUrlSource: string;
|
|
62
|
+
/** WHERE the API key came from: env key NAME, Keychain reference, or file PATH. Never a value. */
|
|
63
|
+
apiKeySource: string;
|
|
64
|
+
/** Which tier of the credential chain supplied the key. */
|
|
65
|
+
apiKeyTier: CredentialTier;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Resolve the domains authority and credential through the shared chain,
|
|
69
|
+
* FRESH, and return both the report and the credential VALUE.
|
|
70
|
+
*
|
|
71
|
+
* Throws a fail-closed `Error` (prefixed `domains fails closed: …`) that names
|
|
72
|
+
* the canonical env pair when no credential resolves from any tier, when a
|
|
73
|
+
* deliberate tier cannot be honoured, or when the configured authorities
|
|
74
|
+
* disagree — never a quiet fall-through to local data.
|
|
75
|
+
*/
|
|
76
|
+
export declare function resolveDomainsTransport(env?: ClientEnv, options?: DomainsResolverOptions): {
|
|
77
|
+
report: DomainsTransportReport;
|
|
78
|
+
credential: ResolvedCredential;
|
|
79
|
+
};
|
|
80
|
+
/** A resolved HTTP storage client plus the decision that produced it. */
|
|
81
|
+
export interface ResolvedDomainsHttpClient {
|
|
82
|
+
transport: "http";
|
|
83
|
+
client: HasnaStorageClient;
|
|
84
|
+
resolution: ClientTransportResolution;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Resolve the authenticated domains HTTP client for this environment.
|
|
88
|
+
*
|
|
89
|
+
* The returned client resolves its credential FRESH on every request (the
|
|
90
|
+
* transport's per-request binding provider), so a key rotation heals a
|
|
91
|
+
* long-lived MCP server or daemon without a rebuild. Throws a fail-closed
|
|
92
|
+
* `Error` when no credential resolves from any tier — never a quiet
|
|
93
|
+
* fall-through to local data.
|
|
94
|
+
*/
|
|
95
|
+
export declare function resolveDomainsHttpClient(env?: ClientEnv, options?: DomainsResolverOptions): ResolvedDomainsHttpClient;
|
|
96
|
+
//# sourceMappingURL=domains-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domains-resolver.d.ts","sourceRoot":"","sources":["../../src/lib/domains-resolver.ts"],"names":[],"mappings":"AAqDA,OAAO,KAAK,EACV,SAAS,EACT,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAG3B,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,EAAG,SAAkB,CAAC;AAEnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAsBrE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAQjE;AAED,sFAAsF;AACtF,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,SAAS;IACxD,gFAAgF;IAChF,GAAG,EAAE,CAAC,CAAC;IACP,gFAAgF;IAChF,WAAW,EAAE,sBAAsB,CAAC;CACrC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,SAAS,EACvD,GAAG,EAAE,CAAC,EACN,WAAW,GAAE,sBAA2B,GACvC,qBAAqB,CAAC,CAAC,CAAC,CAS1B;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,kFAAkF;IAClF,WAAW,CAAC,EAAE,sBAAsB,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,YAAY,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,YAAY,EAAE,MAAM,CAAC;IACrB,2DAA2D;IAC3D,UAAU,EAAE,cAAc,CAAC;CAC5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,GAAE,SAAuB,EAC5B,OAAO,GAAE,sBAA2B,GACnC;IAAE,MAAM,EAAE,sBAAsB,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,CAGpE;AAoCD,yEAAyE;AACzE,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,yBAAyB,CAAC;CACvC;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,GAAG,GAAE,SAAuB,EAC5B,OAAO,GAAE,sBAA2B,GACnC,yBAAyB,CAiB3B"}
|
package/dist/lib/registrar.d.ts
CHANGED
|
@@ -100,6 +100,14 @@ export interface DnsProvider {
|
|
|
100
100
|
dnsWriteScope?: DnsWriteScope;
|
|
101
101
|
getDnsRecords(domain: string): Promise<ProviderDnsRecord[]>;
|
|
102
102
|
setDnsRecords(domain: string, records: ProviderDnsRecord[]): Promise<boolean>;
|
|
103
|
+
/**
|
|
104
|
+
* Delete the EXACT live records matching the given records.
|
|
105
|
+
*
|
|
106
|
+
* Omission is conservative: `dns apply` refuses a delete plan
|
|
107
|
+
* (`delete-apply-unsupported`) unless the provider can converge on deletes through
|
|
108
|
+
* this route, so a non-deletable provider is never written into a partial state.
|
|
109
|
+
*/
|
|
110
|
+
deleteDnsRecords?(domain: string, records: ProviderDnsRecord[]): Promise<boolean>;
|
|
103
111
|
}
|
|
104
112
|
/** A provider that does both — e.g. Route 53 */
|
|
105
113
|
export type FullProvider = RegistrarProvider & DnsProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/lib/registrar.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/lib/registrar.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/registrar.js
CHANGED
|
@@ -426,6 +426,29 @@ function createCloudflareProvider(config) {
|
|
|
426
426
|
await replaceRecordsByNameType(zone.id, replacement, cfg);
|
|
427
427
|
}
|
|
428
428
|
return true;
|
|
429
|
+
},
|
|
430
|
+
async deleteDnsRecords(domain, records) {
|
|
431
|
+
const zone = await getZone(domain, cfg);
|
|
432
|
+
if (!zone)
|
|
433
|
+
throw new Error(`No Cloudflare zone found for ${domain}`);
|
|
434
|
+
const grouped = new Map;
|
|
435
|
+
for (const record of records) {
|
|
436
|
+
const key = `${record.type}|${record.name}`;
|
|
437
|
+
const group = grouped.get(key) ?? [];
|
|
438
|
+
group.push(record);
|
|
439
|
+
grouped.set(key, group);
|
|
440
|
+
}
|
|
441
|
+
for (const group of grouped.values()) {
|
|
442
|
+
const { type, name } = group[0];
|
|
443
|
+
const existing = await listRecordsByNameType(zone.id, type, name, cfg);
|
|
444
|
+
for (const record of group) {
|
|
445
|
+
const match = existing.find((candidate) => candidate.content === record.value && (candidate.priority ?? undefined) === (record.priority ?? undefined));
|
|
446
|
+
if (match?.id) {
|
|
447
|
+
await deleteRecord(zone.id, match.id, cfg);
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
return true;
|
|
429
452
|
}
|
|
430
453
|
};
|
|
431
454
|
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare function isStdioMode(argv?: readonly string[], env?: NodeJS.ProcessEnv): boolean;
|
|
2
|
+
export declare function isHttpMode(argv?: readonly string[], env?: NodeJS.ProcessEnv): boolean;
|
|
3
|
+
export declare function resolveMcpHttpPort(opts?: {
|
|
4
|
+
explicit?: number;
|
|
5
|
+
argv?: readonly string[];
|
|
6
|
+
env?: NodeJS.ProcessEnv;
|
|
7
|
+
default?: number;
|
|
8
|
+
}): number;
|
|
9
|
+
export declare function healthPayload(name: string): {
|
|
10
|
+
status: string;
|
|
11
|
+
name: string;
|
|
12
|
+
};
|
|
13
|
+
/** Minimal structural shape the HTTP adapters need from a built MCP server. */
|
|
14
|
+
export interface ConnectableMcpServer {
|
|
15
|
+
connect(transport: unknown): Promise<void>;
|
|
16
|
+
close(): Promise<void>;
|
|
17
|
+
}
|
|
18
|
+
export type BuildServer = () => ConnectableMcpServer | Promise<ConnectableMcpServer>;
|
|
19
|
+
/** Handle returned by the Bun HTTP adapter. */
|
|
20
|
+
export interface BunHttpServerHandle {
|
|
21
|
+
port: number;
|
|
22
|
+
stop: () => void;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Handle one MCP request using Web-standard `Request` / `Response`. Emits a
|
|
26
|
+
* JSON-RPC `-32603` 500 on failure.
|
|
27
|
+
*/
|
|
28
|
+
export declare function handleMcpHttpRequest(req: Request, buildServer: BuildServer, options?: {
|
|
29
|
+
enableJsonResponse?: boolean;
|
|
30
|
+
}): Promise<Response>;
|
|
31
|
+
/**
|
|
32
|
+
* Start a `Bun.serve` HTTP server exposing `GET /health` and `POST /mcp`.
|
|
33
|
+
* Returns the bound port and a `stop()`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function startBunHttpServer(buildServer: BuildServer, options: {
|
|
36
|
+
port: number;
|
|
37
|
+
host?: string;
|
|
38
|
+
serviceName: string;
|
|
39
|
+
enableJsonResponse?: boolean;
|
|
40
|
+
}): BunHttpServerHandle;
|
|
41
|
+
/**
|
|
42
|
+
* Test helper — kept for API stability. The harness is stateless per-request,
|
|
43
|
+
* so there is no shared transport state to reset.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resetMcpHttpStateForTests(): void;
|
|
46
|
+
//# sourceMappingURL=harness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/mcp/harness.ts"],"names":[],"mappings":"AAgCA,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEjH;AAED,wBAAgB,UAAU,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEhH;AAuBD,wBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,MAAM,CAiBT;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAE5E;AAED,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAErF,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzC,OAAO,CAAC,QAAQ,CAAC,CAgBnB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1F,mBAAmB,CAoBrB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAAG"}
|
package/dist/mcp/http.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
/**
|
|
3
|
-
* open-domains MCP transport/port boilerplate — thin shim over
|
|
4
|
-
* Public API preserved; hand-rolled
|
|
3
|
+
* open-domains MCP transport/port boilerplate — thin shim over the vendored
|
|
4
|
+
* harness (./harness.js). Public API preserved; hand-rolled
|
|
5
|
+
* transport/port/health removed.
|
|
5
6
|
* Generated by open-mcp/scripts/adopt-harness.ts.
|
|
6
7
|
*/
|
|
7
8
|
export declare const MCP_HTTP_HOST = "127.0.0.1";
|
package/dist/mcp/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/mcp/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/mcp/http.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWzE;;;;;GAKG;AAEH,eAAO,MAAM,aAAa,cAAc,CAAC;AACzC,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,wBAAgB,UAAU,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,OAAO,CAE1E;AACD,wBAAgB,WAAW,CAAC,IAAI,GAAE,SAAS,MAAM,EAAiB,GAAG,OAAO,CAE3E;AACD,wBAAgB,kBAAkB,CAChC,IAAI,GAAE,SAAS,MAAM,EAAiB,EACtC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AACD,wBAAgB,aAAa,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAEhE;AACD,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,WAAW,EAAE,MAAM,SAAS,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAEnB;AACD,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,SAAS,EAC5B,IAAI,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC,CAM7C;AACD,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
|
package/dist/mcp/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkWpE,wBAAgB,WAAW,IAAI,SAAS,CAqiDvC"}
|