@znt/sdk-nodejs 1.0.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/dist/daemon.js ADDED
@@ -0,0 +1,309 @@
1
+ import { constants } from "node:fs";
2
+ import { access, chmod, mkdir, readFile, rename, rm, writeFile } from "node:fs/promises";
3
+ import { homedir } from "node:os";
4
+ import { dirname, isAbsolute, join, resolve } from "node:path";
5
+ import { spawn } from "node:child_process";
6
+ import { createHash } from "node:crypto";
7
+ import { ZntCoreDownloadError, ZntCoreNotInstalledError } from "./errors.js";
8
+ const DEFAULT_START_TIMEOUT_MS = 10_000;
9
+ const PROBE_INTERVAL_MS = 100;
10
+ const DEFAULT_CORE_RELEASES_URL = "https://github.com/znt-app/core/releases";
11
+ export function resolveCoreInstallDirectory(env = process.env, platform = process.platform, home = homedir()) {
12
+ if (env.ZNT_CORE_HOME)
13
+ return resolve(env.ZNT_CORE_HOME);
14
+ if (platform === "win32") {
15
+ return join(env.LOCALAPPDATA || join(home, "AppData", "Local"), "Znt", "bin");
16
+ }
17
+ if (platform === "darwin") {
18
+ return join(home, "Library", "Application Support", "Znt", "bin");
19
+ }
20
+ return join(env.XDG_DATA_HOME || join(home, ".local", "share"), "znt", "bin");
21
+ }
22
+ export function resolveCoreBinaryPath(env = process.env, platform = process.platform, home = homedir()) {
23
+ if (env.ZNT_CORE_BINARY)
24
+ return resolve(env.ZNT_CORE_BINARY);
25
+ const binaryName = platform === "win32" ? "znt-core.exe" : "znt-core";
26
+ return join(resolveCoreInstallDirectory(env, platform, home), binaryName);
27
+ }
28
+ export function resolveManagedConfigPath(coreBinaryPath, env = process.env, platform = process.platform, home = homedir()) {
29
+ const binaryPath = coreBinaryPath ? resolve(coreBinaryPath) : resolveCoreBinaryPath(env, platform, home);
30
+ return join(dirname(binaryPath), "config.yaml");
31
+ }
32
+ export function resolveCoreReleaseAssetKey(platform = process.platform, arch = process.arch) {
33
+ const releasePlatform = platform === "win32" ? "windows" : platform;
34
+ const releaseArch = arch === "x64" ? "amd64" : arch;
35
+ const supportedPlatform = releasePlatform === "darwin" || releasePlatform === "linux" || releasePlatform === "windows";
36
+ const supportedArch = releaseArch === "amd64" || releaseArch === "arm64";
37
+ if (!supportedPlatform || !supportedArch || (releasePlatform === "windows" && releaseArch !== "amd64")) {
38
+ throw new ZntCoreDownloadError(`Unsupported znt-core platform: ${platform}/${arch}.`);
39
+ }
40
+ return `${releasePlatform}-${releaseArch}`;
41
+ }
42
+ export async function getInstalledCorePath(options = {}) {
43
+ const binaryPath = options.coreBinaryPath
44
+ ? resolve(options.coreBinaryPath)
45
+ : resolveCoreBinaryPath();
46
+ try {
47
+ await access(binaryPath, process.platform === "win32" ? constants.F_OK : constants.X_OK);
48
+ }
49
+ catch (cause) {
50
+ throw new ZntCoreNotInstalledError(binaryPath, { cause });
51
+ }
52
+ return binaryPath;
53
+ }
54
+ export async function isManagedCoreConfigured(options = {}) {
55
+ const configPath = options.configPath
56
+ ? resolve(options.configPath)
57
+ : process.env.ZNT_CONFIG
58
+ ? resolve(process.env.ZNT_CONFIG)
59
+ : resolveManagedConfigPath(options.coreBinaryPath);
60
+ return pathExists(configPath);
61
+ }
62
+ export async function isManagedCoreInstalled(options = {}, expectedVersion) {
63
+ let binaryPath;
64
+ try {
65
+ binaryPath = await getInstalledCorePath(options);
66
+ }
67
+ catch (error) {
68
+ if (error instanceof ZntCoreNotInstalledError)
69
+ return false;
70
+ throw error;
71
+ }
72
+ if (!expectedVersion)
73
+ return true;
74
+ try {
75
+ const metadata = JSON.parse(await readFile(metadataPathFor(binaryPath), "utf8"));
76
+ return metadata.version === expectedVersion;
77
+ }
78
+ catch {
79
+ return false;
80
+ }
81
+ }
82
+ export async function removeManagedCore(options = {}) {
83
+ const binaryPath = options.coreBinaryPath ? resolve(options.coreBinaryPath) : resolveCoreBinaryPath();
84
+ const installed = await isManagedCoreInstalled(options);
85
+ await rm(binaryPath, { force: true });
86
+ await rm(metadataPathFor(binaryPath), { force: true });
87
+ return installed;
88
+ }
89
+ export async function startManagedDaemon(options) {
90
+ const binaryPath = await getInstalledCorePath(options);
91
+ const args = ["daemon", "--socket", options.endpoint];
92
+ const configPath = options.configPath || process.env.ZNT_CONFIG || resolveManagedConfigPath(binaryPath);
93
+ if (!(await pathExists(resolve(configPath)))) {
94
+ throw new Error(`znt-core config is not installed at ${resolve(configPath)}`);
95
+ }
96
+ args.push("--config", resolve(configPath));
97
+ const configuredCwd = options.daemonCwd || process.env.ZNT_CORE_CWD;
98
+ const cwd = configuredCwd
99
+ ? (isAbsolute(configuredCwd) ? configuredCwd : resolve(configuredCwd))
100
+ : dirname(binaryPath);
101
+ const child = spawn(binaryPath, args, {
102
+ cwd,
103
+ detached: true,
104
+ env: process.env,
105
+ stdio: "ignore",
106
+ windowsHide: true,
107
+ });
108
+ child.unref();
109
+ let spawnError;
110
+ let exitDescription;
111
+ child.once("error", (error) => {
112
+ spawnError = error;
113
+ });
114
+ child.once("exit", (code, signal) => {
115
+ exitDescription = signal ? `signal ${signal}` : `code ${code ?? "unknown"}`;
116
+ });
117
+ const deadline = Date.now() + (options.daemonStartTimeoutMs ?? DEFAULT_START_TIMEOUT_MS);
118
+ let lastError;
119
+ while (Date.now() < deadline) {
120
+ if (spawnError)
121
+ throw spawnError;
122
+ if (exitDescription)
123
+ throw new Error(`znt-core exited before becoming ready (${exitDescription})`);
124
+ await delay(PROBE_INTERVAL_MS);
125
+ try {
126
+ await options.probe();
127
+ return;
128
+ }
129
+ catch (error) {
130
+ lastError = error;
131
+ }
132
+ }
133
+ throw new Error(`znt-core did not become ready within ${options.daemonStartTimeoutMs ?? DEFAULT_START_TIMEOUT_MS} ms`, {
134
+ cause: lastError,
135
+ });
136
+ }
137
+ export async function downloadManagedCore(options = {}, coreBinaryPath, configuredConfigPath) {
138
+ const resolvedDownload = await resolveCoreDownload(options);
139
+ const sourceURL = resolvedDownload.sourceURL;
140
+ let parsedURL;
141
+ try {
142
+ parsedURL = new URL(sourceURL);
143
+ }
144
+ catch (cause) {
145
+ throw new ZntCoreDownloadError(`Invalid znt-core release URL: ${sourceURL}`, { cause });
146
+ }
147
+ if (parsedURL.protocol !== "https:" && parsedURL.protocol !== "http:") {
148
+ throw new ZntCoreDownloadError("znt-core release URL must use HTTP or HTTPS.");
149
+ }
150
+ const binaryPath = coreBinaryPath ? resolve(coreBinaryPath) : resolveCoreBinaryPath();
151
+ const configPath = configuredConfigPath ? resolve(configuredConfigPath) : resolveManagedConfigPath(binaryPath);
152
+ const temporaryPath = `${binaryPath}.download-${process.pid}-${Date.now()}`;
153
+ await mkdir(dirname(binaryPath), { recursive: true });
154
+ try {
155
+ const requestOptions = { redirect: "follow" };
156
+ if (options.signal)
157
+ requestOptions.signal = options.signal;
158
+ const response = await fetch(parsedURL, requestOptions);
159
+ if (!response.ok) {
160
+ throw new ZntCoreDownloadError(`Failed to download znt-core: HTTP ${response.status}.`);
161
+ }
162
+ const bytes = new Uint8Array(await response.arrayBuffer());
163
+ if (bytes.byteLength === 0)
164
+ throw new ZntCoreDownloadError("Downloaded znt-core artifact is empty.");
165
+ const digest = createHash("sha256").update(bytes).digest("hex");
166
+ const expectedDigest = resolvedDownload.sha256;
167
+ if (digest !== expectedDigest) {
168
+ throw new ZntCoreDownloadError(`znt-core SHA-256 mismatch: expected ${expectedDigest}, received ${digest}.`);
169
+ }
170
+ await writeFile(temporaryPath, bytes, { mode: 0o755 });
171
+ if (process.platform !== "win32")
172
+ await chmod(temporaryPath, 0o755);
173
+ await rm(binaryPath, { force: true });
174
+ await rename(temporaryPath, binaryPath);
175
+ const version = resolvedDownload.version;
176
+ const metadata = {
177
+ version,
178
+ sourceUrl: parsedURL.toString(),
179
+ sha256: digest,
180
+ installedAt: new Date().toISOString(),
181
+ };
182
+ await writeFile(metadataPathFor(binaryPath), `${JSON.stringify(metadata, null, 2)}\n`, { mode: 0o644 });
183
+ return { binaryPath, bytesDownloaded: bytes.byteLength, configPath, sha256: digest, version };
184
+ }
185
+ catch (error) {
186
+ if (error instanceof ZntCoreDownloadError)
187
+ throw error;
188
+ throw new ZntCoreDownloadError(`Could not download znt-core from ${parsedURL.toString()}`, { cause: error });
189
+ }
190
+ finally {
191
+ await rm(temporaryPath, { force: true });
192
+ }
193
+ }
194
+ async function resolveCoreDownload(options) {
195
+ const releasesURL = DEFAULT_CORE_RELEASES_URL;
196
+ const requestedVersion = options.version?.trim();
197
+ const releasePath = requestedVersion
198
+ ? `download/${encodeURIComponent(requestedVersion)}`
199
+ : "latest/download";
200
+ const manifestURL = `${releasesURL}/${releasePath}/manifest.json`;
201
+ try {
202
+ const requestOptions = { redirect: "follow" };
203
+ if (options.signal)
204
+ requestOptions.signal = options.signal;
205
+ const response = await fetch(manifestURL, requestOptions);
206
+ if (!response.ok) {
207
+ throw new ZntCoreDownloadError(`Failed to download znt-core release manifest: HTTP ${response.status}.`);
208
+ }
209
+ const manifest = validateReleaseManifest(await response.json());
210
+ const key = resolveCoreReleaseAssetKey();
211
+ const asset = manifest.assets[key];
212
+ if (!asset) {
213
+ throw new ZntCoreDownloadError(`znt-core release ${manifest.version} has no asset for ${key}.`);
214
+ }
215
+ return {
216
+ sourceURL: `${releasesURL}/${releasePath}/${encodeURIComponent(asset.name)}`,
217
+ version: manifest.version,
218
+ sha256: asset.sha256.toLowerCase(),
219
+ };
220
+ }
221
+ catch (error) {
222
+ if (error instanceof ZntCoreDownloadError)
223
+ throw error;
224
+ throw new ZntCoreDownloadError(`Could not resolve a znt-core release from ${manifestURL}`, { cause: error });
225
+ }
226
+ }
227
+ export async function getDefaultConfig(options = {}) {
228
+ const binaryPath = await getInstalledCorePath(options);
229
+ return runCoreCommand(binaryPath, ["config", "defaults"]);
230
+ }
231
+ export async function validateManagedConfig(configPath, options = {}) {
232
+ const binaryPath = await getInstalledCorePath(options);
233
+ const args = ["config", "validate", "--config", resolve(configPath)];
234
+ if (options.checkProvider)
235
+ args.push("--check-provider");
236
+ const message = (await runCoreCommand(binaryPath, args, undefined, options.signal)).trim();
237
+ return { valid: true, providerChecked: options.checkProvider === true, message };
238
+ }
239
+ export async function storeManagedSecret(reference, secret, options = {}) {
240
+ if (!secret)
241
+ throw new Error("refusing to store an empty credential");
242
+ const binaryPath = await getInstalledCorePath(options);
243
+ await runCoreCommand(binaryPath, ["config", "secret", "set", "--ref", reference], secret, options.signal);
244
+ }
245
+ export async function deleteManagedSecret(reference, options = {}) {
246
+ if (!reference)
247
+ throw new Error("refusing to delete secret without reference");
248
+ const binaryPath = await getInstalledCorePath(options);
249
+ await runCoreCommand(binaryPath, ["config", "secret", "delete", "--ref", reference], undefined, options.signal);
250
+ }
251
+ async function runCoreCommand(binaryPath, args, input, signal) {
252
+ return new Promise((resolveCommand, rejectCommand) => {
253
+ const child = spawn(binaryPath, args, { stdio: ["pipe", "pipe", "pipe"], windowsHide: true });
254
+ let stdout = "";
255
+ let stderr = "";
256
+ const abort = () => child.kill();
257
+ if (signal?.aborted)
258
+ abort();
259
+ signal?.addEventListener("abort", abort, { once: true });
260
+ child.stdout.setEncoding("utf8");
261
+ child.stderr.setEncoding("utf8");
262
+ child.stdout.on("data", (chunk) => { stdout += chunk; });
263
+ child.stderr.on("data", (chunk) => { stderr += chunk; });
264
+ child.stdin.on("error", () => {
265
+ // The close handler reports a core command that exits before reading stdin.
266
+ });
267
+ child.once("error", rejectCommand);
268
+ child.once("close", (code) => {
269
+ signal?.removeEventListener("abort", abort);
270
+ if (signal?.aborted) {
271
+ rejectCommand(new Error("znt-core command aborted"));
272
+ }
273
+ else if (code === 0) {
274
+ resolveCommand(stdout);
275
+ }
276
+ else {
277
+ rejectCommand(new Error(stderr.trim() || `znt-core exited with code ${code}`));
278
+ }
279
+ });
280
+ child.stdin.end(input);
281
+ });
282
+ }
283
+ function validateReleaseManifest(value) {
284
+ if (!value || typeof value !== "object") {
285
+ throw new ZntCoreDownloadError("Invalid znt-core release manifest.");
286
+ }
287
+ const manifest = value;
288
+ if (typeof manifest.version !== "string" || !manifest.version.trim() || !manifest.assets || typeof manifest.assets !== "object") {
289
+ throw new ZntCoreDownloadError("Invalid znt-core release manifest.");
290
+ }
291
+ for (const asset of Object.values(manifest.assets)) {
292
+ if (!asset || typeof asset.name !== "string" || !/^[a-f0-9]{64}$/i.test(asset.sha256)) {
293
+ throw new ZntCoreDownloadError("Invalid znt-core release manifest asset.");
294
+ }
295
+ }
296
+ return manifest;
297
+ }
298
+ const metadataPathFor = (binaryPath) => `${binaryPath}.metadata.json`;
299
+ const pathExists = async (path) => {
300
+ try {
301
+ await access(path, constants.F_OK);
302
+ return true;
303
+ }
304
+ catch {
305
+ return false;
306
+ }
307
+ };
308
+ const delay = (milliseconds) => new Promise((resolveDelay) => setTimeout(resolveDelay, milliseconds));
309
+ //# sourceMappingURL=daemon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { type JsonValue, type RpcId, type ScanProgress } from "./types.js";
2
+ export declare class ZntError extends Error {
3
+ constructor(message: string, options?: ErrorOptions);
4
+ }
5
+ export declare class ZntRpcError extends ZntError {
6
+ readonly code: number;
7
+ readonly data: JsonValue | undefined;
8
+ readonly method: string;
9
+ readonly requestId: RpcId;
10
+ constructor(options: {
11
+ code: number;
12
+ message: string;
13
+ data?: JsonValue;
14
+ method: string;
15
+ requestId: RpcId;
16
+ });
17
+ get retryable(): boolean;
18
+ }
19
+ export declare class ZntTransportError extends ZntError {
20
+ readonly endpoint: string;
21
+ constructor(message: string, endpoint: string, options?: ErrorOptions);
22
+ }
23
+ export declare class ZntCoreNotInstalledError extends ZntError {
24
+ readonly binaryPath: string;
25
+ constructor(binaryPath: string, options?: ErrorOptions);
26
+ }
27
+ export declare class ZntCoreConfigNotInstalledError extends ZntError {
28
+ readonly configPath: string;
29
+ constructor(configPath: string, options?: ErrorOptions);
30
+ }
31
+ export declare class ZntCoreConfigMismatchError extends ZntError {
32
+ readonly activeConfigPath: string;
33
+ readonly requestedConfigPath: string;
34
+ constructor(activeConfigPath: string, requestedConfigPath: string);
35
+ }
36
+ export declare class ZntCoreDownloadError extends ZntError {
37
+ }
38
+ export declare class ZntProtocolError extends ZntError {
39
+ }
40
+ export declare class ZntTimeoutError extends ZntError {
41
+ readonly method: string;
42
+ readonly timeoutMs: number;
43
+ constructor(method: string, timeoutMs: number);
44
+ }
45
+ export declare class ZntAbortError extends ZntError {
46
+ constructor();
47
+ }
48
+ export declare class ZntScanError extends ZntError {
49
+ readonly progress: ScanProgress;
50
+ constructor(progress: ScanProgress);
51
+ }
52
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAE5F,qBAAa,QAAS,SAAQ,KAAK;gBACrB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,WAAY,SAAQ,QAAQ;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;gBAEd,OAAO,EAAE;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,KAAK,CAAC;KAClB;IAQD,IAAI,SAAS,IAAI,OAAO,CAEvB;CACF;AAED,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;gBAEd,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAItE;AAED,qBAAa,wBAAyB,SAAQ,QAAQ;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvD;AAED,qBAAa,8BAA+B,SAAQ,QAAQ;IAC1D,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIvD;AAED,qBAAa,0BAA2B,SAAQ,QAAQ;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;gBAEzB,gBAAgB,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM;CAKlE;AAED,qBAAa,oBAAqB,SAAQ,QAAQ;CAAG;AAErD,qBAAa,gBAAiB,SAAQ,QAAQ;CAAG;AAEjD,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;CAK9C;AAED,qBAAa,aAAc,SAAQ,QAAQ;;CAI1C;AAED,qBAAa,YAAa,SAAQ,QAAQ;IACxC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;gBAEpB,QAAQ,EAAE,YAAY;CAInC"}
package/dist/errors.js ADDED
@@ -0,0 +1,79 @@
1
+ import { ZntRpcErrorCode } from "./types.js";
2
+ export class ZntError extends Error {
3
+ constructor(message, options) {
4
+ super(message, options);
5
+ this.name = new.target.name;
6
+ }
7
+ }
8
+ export class ZntRpcError extends ZntError {
9
+ code;
10
+ data;
11
+ method;
12
+ requestId;
13
+ constructor(options) {
14
+ super(options.message);
15
+ this.code = options.code;
16
+ this.data = options.data;
17
+ this.method = options.method;
18
+ this.requestId = options.requestId;
19
+ }
20
+ get retryable() {
21
+ return this.code === ZntRpcErrorCode.Busy;
22
+ }
23
+ }
24
+ export class ZntTransportError extends ZntError {
25
+ endpoint;
26
+ constructor(message, endpoint, options) {
27
+ super(message, options);
28
+ this.endpoint = endpoint;
29
+ }
30
+ }
31
+ export class ZntCoreNotInstalledError extends ZntError {
32
+ binaryPath;
33
+ constructor(binaryPath, options) {
34
+ super(`znt-core is not installed at ${binaryPath}`, options);
35
+ this.binaryPath = binaryPath;
36
+ }
37
+ }
38
+ export class ZntCoreConfigNotInstalledError extends ZntError {
39
+ configPath;
40
+ constructor(configPath, options) {
41
+ super(`znt-core config is not installed at ${configPath}`, options);
42
+ this.configPath = configPath;
43
+ }
44
+ }
45
+ export class ZntCoreConfigMismatchError extends ZntError {
46
+ activeConfigPath;
47
+ requestedConfigPath;
48
+ constructor(activeConfigPath, requestedConfigPath) {
49
+ super(`znt-core is already using config ${activeConfigPath}; requested ${requestedConfigPath}`);
50
+ this.activeConfigPath = activeConfigPath;
51
+ this.requestedConfigPath = requestedConfigPath;
52
+ }
53
+ }
54
+ export class ZntCoreDownloadError extends ZntError {
55
+ }
56
+ export class ZntProtocolError extends ZntError {
57
+ }
58
+ export class ZntTimeoutError extends ZntError {
59
+ method;
60
+ timeoutMs;
61
+ constructor(method, timeoutMs) {
62
+ super(`znt-core request ${method} timed out after ${timeoutMs} ms`);
63
+ this.method = method;
64
+ this.timeoutMs = timeoutMs;
65
+ }
66
+ }
67
+ export class ZntAbortError extends ZntError {
68
+ constructor() {
69
+ super("znt-core request was aborted");
70
+ }
71
+ }
72
+ export class ZntScanError extends ZntError {
73
+ progress;
74
+ constructor(progress) {
75
+ super(progress.last_error || `znt-core scan ${progress.scan_id} failed`);
76
+ this.progress = progress;
77
+ }
78
+ }
79
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export { ZntClient, type ZntClientOptions } from "./client.js";
2
+ export { ZntConnection, resolveDefaultEndpoint, type ZntConnectionOptions } from "./connection.js";
3
+ export { ZntAbortError, ZntCoreDownloadError, ZntCoreConfigMismatchError, ZntCoreConfigNotInstalledError, ZntCoreNotInstalledError, ZntError, ZntProtocolError, ZntRpcError, ZntScanError, ZntTimeoutError, ZntTransportError, } from "./errors.js";
4
+ export { downloadManagedCore, getDefaultConfig, getInstalledCorePath, isManagedCoreConfigured, isManagedCoreInstalled, removeManagedCore, resolveCoreBinaryPath, resolveCoreInstallDirectory, resolveCoreReleaseAssetKey, resolveManagedConfigPath, storeManagedSecret, deleteManagedSecret, validateManagedConfig, type ConfigValidationResult, type CoreDownloadResult, type DownloadCoreOptions, type ZntDaemonOptions, } from "./daemon.js";
5
+ export { credentialReference, getSetupStatus, mergeConfig, setupManagedConfig, writeConfigAtomically, type GetSetupStatusOptions, type SetupConfigOptions, type SetupConfigResult, type SetupStatusResult, } from "./config.js";
6
+ export { ZntRpcErrorCode } from "./types.js";
7
+ export type * from "./types.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,KAAK,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnG,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,GACvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,mBAAmB,YAAY,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ export { ZntClient } from "./client.js";
2
+ export { ZntConnection, resolveDefaultEndpoint } from "./connection.js";
3
+ export { ZntAbortError, ZntCoreDownloadError, ZntCoreConfigMismatchError, ZntCoreConfigNotInstalledError, ZntCoreNotInstalledError, ZntError, ZntProtocolError, ZntRpcError, ZntScanError, ZntTimeoutError, ZntTransportError, } from "./errors.js";
4
+ export { downloadManagedCore, getDefaultConfig, getInstalledCorePath, isManagedCoreConfigured, isManagedCoreInstalled, removeManagedCore, resolveCoreBinaryPath, resolveCoreInstallDirectory, resolveCoreReleaseAssetKey, resolveManagedConfigPath, storeManagedSecret, deleteManagedSecret, validateManagedConfig, } from "./daemon.js";
5
+ export { credentialReference, getSetupStatus, mergeConfig, setupManagedConfig, writeConfigAtomically, } from "./config.js";
6
+ export { ZntRpcErrorCode } from "./types.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAA6B,MAAM,iBAAiB,CAAC;AACnG,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,8BAA8B,EAC9B,wBAAwB,EACxB,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,eAAe,EACf,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GAKtB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,qBAAqB,GAKtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}