@lionden/network 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/LICENSE +201 -0
- package/README.md +23 -0
- package/dist/accounts.d.ts +12 -0
- package/dist/accounts.d.ts.map +1 -0
- package/dist/accounts.js +38 -0
- package/dist/accounts.js.map +1 -0
- package/dist/connection.d.ts +121 -0
- package/dist/connection.d.ts.map +1 -0
- package/dist/connection.js +1064 -0
- package/dist/connection.js.map +1 -0
- package/dist/devnode-backend.d.ts +53 -0
- package/dist/devnode-backend.d.ts.map +1 -0
- package/dist/devnode-backend.js +121 -0
- package/dist/devnode-backend.js.map +1 -0
- package/dist/devnode-manager.d.ts +130 -0
- package/dist/devnode-manager.d.ts.map +1 -0
- package/dist/devnode-manager.js +546 -0
- package/dist/devnode-manager.js.map +1 -0
- package/dist/execution-key-cache.d.ts +71 -0
- package/dist/execution-key-cache.d.ts.map +1 -0
- package/dist/execution-key-cache.js +286 -0
- package/dist/execution-key-cache.js.map +1 -0
- package/dist/file-io.d.ts +2 -0
- package/dist/file-io.d.ts.map +1 -0
- package/dist/file-io.js +9 -0
- package/dist/file-io.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/named-account-manager.d.ts +40 -0
- package/dist/named-account-manager.d.ts.map +1 -0
- package/dist/named-account-manager.js +116 -0
- package/dist/named-account-manager.js.map +1 -0
- package/dist/network-manager.d.ts +36 -0
- package/dist/network-manager.d.ts.map +1 -0
- package/dist/network-manager.js +226 -0
- package/dist/network-manager.js.map +1 -0
- package/dist/sdk-adapter.d.ts +271 -0
- package/dist/sdk-adapter.d.ts.map +1 -0
- package/dist/sdk-adapter.js +997 -0
- package/dist/sdk-adapter.js.map +1 -0
- package/dist/sdk-diagnostics.d.ts +113 -0
- package/dist/sdk-diagnostics.d.ts.map +1 -0
- package/dist/sdk-diagnostics.js +241 -0
- package/dist/sdk-diagnostics.js.map +1 -0
- package/dist/transition-selector.d.ts +15 -0
- package/dist/transition-selector.d.ts.map +1 -0
- package/dist/transition-selector.js +45 -0
- package/dist/transition-selector.js.map +1 -0
- package/dist/types.d.ts +484 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +129 -0
- package/dist/types.js.map +1 -0
- package/package.json +35 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Devnode backend resolution and preflight.
|
|
3
|
+
*
|
|
4
|
+
* Lionden can drive two devnode backends:
|
|
5
|
+
* - `"leo"`: the devnode bundled in the Leo CLI (`leo devnode start`).
|
|
6
|
+
* - `"standalone"`: Provable's standalone `aleo-devnode` binary.
|
|
7
|
+
*
|
|
8
|
+
* When the user doesn't pin a `provider`, the backend is auto-detected by
|
|
9
|
+
* probing `aleo-devnode --version`. Standalone-only inputs (an explicit binary,
|
|
10
|
+
* persistence/snapshot) force the standalone backend and fail clearly if it
|
|
11
|
+
* isn't available rather than silently falling back to `leo`.
|
|
12
|
+
*/
|
|
13
|
+
import type { LionDenResolvedConfig } from "@lionden/config";
|
|
14
|
+
import type { DevnodeProvider } from "./types.js";
|
|
15
|
+
export interface DevnodeBackend {
|
|
16
|
+
readonly provider: DevnodeProvider;
|
|
17
|
+
/** Binary to spawn for this backend. */
|
|
18
|
+
readonly command: string;
|
|
19
|
+
readonly capabilities: {
|
|
20
|
+
readonly snapshot: boolean;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export interface ResolveDevnodeBackendOptions {
|
|
24
|
+
/** Explicit backend pin. Undefined ⇒ auto-detect. */
|
|
25
|
+
provider?: DevnodeProvider;
|
|
26
|
+
/** Leo CLI binary (already tilde-expanded). Default: "leo". */
|
|
27
|
+
leoBinary?: string;
|
|
28
|
+
/** Explicit standalone binary path. Setting this forces standalone. */
|
|
29
|
+
binary?: string;
|
|
30
|
+
/** Configured network — standalone rejects anything but "testnet". */
|
|
31
|
+
network?: string;
|
|
32
|
+
/** Configured consensus heights — rejected on standalone. */
|
|
33
|
+
consensusHeights?: string;
|
|
34
|
+
/** Whether persistence/snapshot is requested (forces standalone). */
|
|
35
|
+
requiresPersistence?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/** Clear the memoized `aleo-devnode --version` probe results (tests only). */
|
|
38
|
+
export declare function clearDevnodeBackendProbeCacheForTests(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve which devnode backend to use, honoring an explicit `provider`, an
|
|
41
|
+
* explicit `binary`, and any standalone-only feature request. Performs a
|
|
42
|
+
* (memoized) `--version` probe when auto-detecting or when a standalone-only
|
|
43
|
+
* input is present. Throws — never silently falls back to `leo` — when a
|
|
44
|
+
* standalone-only input cannot be satisfied.
|
|
45
|
+
*/
|
|
46
|
+
export declare function resolveDevnodeBackend(options?: ResolveDevnodeBackendOptions): Promise<DevnodeBackend>;
|
|
47
|
+
/**
|
|
48
|
+
* Verify the resolved devnode backend can run. Leo delegates to the existing
|
|
49
|
+
* `preflightLeo` (which also checks the configured Leo version). Standalone
|
|
50
|
+
* asserts the binary responds to `--version`.
|
|
51
|
+
*/
|
|
52
|
+
export declare function preflightDevnode(config: LionDenResolvedConfig, backend: DevnodeBackend): Promise<void>;
|
|
53
|
+
//# sourceMappingURL=devnode-backend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devnode-backend.d.ts","sourceRoot":"","sources":["../src/devnode-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAMlD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CACvD;AAED,MAAM,WAAW,4BAA4B;IAC3C,qDAAqD;IACrD,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAeD,8EAA8E;AAC9E,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D;AAyBD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,GAAE,4BAAiC,GACzC,OAAO,CAAC,cAAc,CAAC,CA8CzB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,qBAAqB,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,IAAI,CAAC,CAqBf"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Devnode backend resolution and preflight.
|
|
3
|
+
*
|
|
4
|
+
* Lionden can drive two devnode backends:
|
|
5
|
+
* - `"leo"`: the devnode bundled in the Leo CLI (`leo devnode start`).
|
|
6
|
+
* - `"standalone"`: Provable's standalone `aleo-devnode` binary.
|
|
7
|
+
*
|
|
8
|
+
* When the user doesn't pin a `provider`, the backend is auto-detected by
|
|
9
|
+
* probing `aleo-devnode --version`. Standalone-only inputs (an explicit binary,
|
|
10
|
+
* persistence/snapshot) force the standalone backend and fail clearly if it
|
|
11
|
+
* isn't available rather than silently falling back to `leo`.
|
|
12
|
+
*/
|
|
13
|
+
import { execFile } from "node:child_process";
|
|
14
|
+
import { promisify } from "node:util";
|
|
15
|
+
import { preflightLeo } from "@lionden/core";
|
|
16
|
+
const execFileAsync = promisify(execFile);
|
|
17
|
+
const DEFAULT_STANDALONE_BINARY = "aleo-devnode";
|
|
18
|
+
const PROBE_TIMEOUT_MS = 30_000;
|
|
19
|
+
const probeCache = new Map();
|
|
20
|
+
function probeStandalone(binary) {
|
|
21
|
+
let p = probeCache.get(binary);
|
|
22
|
+
if (!p) {
|
|
23
|
+
p = execFileAsync(binary, ["--version"], { timeout: PROBE_TIMEOUT_MS })
|
|
24
|
+
.then(() => true)
|
|
25
|
+
.catch(() => false);
|
|
26
|
+
probeCache.set(binary, p);
|
|
27
|
+
}
|
|
28
|
+
return p;
|
|
29
|
+
}
|
|
30
|
+
/** Clear the memoized `aleo-devnode --version` probe results (tests only). */
|
|
31
|
+
export function clearDevnodeBackendProbeCacheForTests() {
|
|
32
|
+
probeCache.clear();
|
|
33
|
+
}
|
|
34
|
+
function assertStandaloneNetwork(network, consensusHeights) {
|
|
35
|
+
if (network !== undefined && network !== "testnet") {
|
|
36
|
+
throw new Error(`The standalone aleo-devnode backend only supports the "testnet" network, but ` +
|
|
37
|
+
`network "${network}" was configured. Use network: "testnet" or provider: "leo".`);
|
|
38
|
+
}
|
|
39
|
+
if (consensusHeights !== undefined) {
|
|
40
|
+
throw new Error(`consensusHeights is not supported on the standalone aleo-devnode backend ` +
|
|
41
|
+
`(consensus heights are compiled in). Remove consensusHeights or use provider: "leo".`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function leoBackend(leoBinary) {
|
|
45
|
+
return { provider: "leo", command: leoBinary ?? "leo", capabilities: { snapshot: false } };
|
|
46
|
+
}
|
|
47
|
+
function standaloneBackend(command) {
|
|
48
|
+
return { provider: "standalone", command, capabilities: { snapshot: true } };
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolve which devnode backend to use, honoring an explicit `provider`, an
|
|
52
|
+
* explicit `binary`, and any standalone-only feature request. Performs a
|
|
53
|
+
* (memoized) `--version` probe when auto-detecting or when a standalone-only
|
|
54
|
+
* input is present. Throws — never silently falls back to `leo` — when a
|
|
55
|
+
* standalone-only input cannot be satisfied.
|
|
56
|
+
*/
|
|
57
|
+
export async function resolveDevnodeBackend(options = {}) {
|
|
58
|
+
const { provider, leoBinary, binary, network, consensusHeights, requiresPersistence } = options;
|
|
59
|
+
const explicitBinary = binary !== undefined;
|
|
60
|
+
const standaloneBinary = binary ?? DEFAULT_STANDALONE_BINARY;
|
|
61
|
+
const wantsStandaloneFeature = requiresPersistence === true || explicitBinary;
|
|
62
|
+
if (provider === "leo") {
|
|
63
|
+
if (wantsStandaloneFeature) {
|
|
64
|
+
throw new Error(`Devnode persistence/snapshot features require the standalone "aleo-devnode" ` +
|
|
65
|
+
`backend, but provider is pinned to "leo". Remove provider: "leo" or set ` +
|
|
66
|
+
`provider: "standalone".`);
|
|
67
|
+
}
|
|
68
|
+
return leoBackend(leoBinary);
|
|
69
|
+
}
|
|
70
|
+
if (provider === "standalone") {
|
|
71
|
+
assertStandaloneNetwork(network, consensusHeights);
|
|
72
|
+
return standaloneBackend(standaloneBinary);
|
|
73
|
+
}
|
|
74
|
+
// Auto-detect.
|
|
75
|
+
if (wantsStandaloneFeature) {
|
|
76
|
+
const ok = await probeStandalone(standaloneBinary);
|
|
77
|
+
if (!ok) {
|
|
78
|
+
throw new Error(explicitBinary
|
|
79
|
+
? `Configured devnode binary "${standaloneBinary}" could not be executed ` +
|
|
80
|
+
`("${standaloneBinary} --version" failed). Ensure the standalone aleo-devnode ` +
|
|
81
|
+
`binary is installed and on PATH.`
|
|
82
|
+
: `Devnode persistence/snapshot features require the standalone "aleo-devnode" ` +
|
|
83
|
+
`binary, but it could not be found on PATH. Install aleo-devnode or remove the ` +
|
|
84
|
+
`persistence option.`);
|
|
85
|
+
}
|
|
86
|
+
assertStandaloneNetwork(network, consensusHeights);
|
|
87
|
+
return standaloneBackend(standaloneBinary);
|
|
88
|
+
}
|
|
89
|
+
if (await probeStandalone(standaloneBinary)) {
|
|
90
|
+
assertStandaloneNetwork(network, consensusHeights);
|
|
91
|
+
return standaloneBackend(standaloneBinary);
|
|
92
|
+
}
|
|
93
|
+
return leoBackend(leoBinary);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Verify the resolved devnode backend can run. Leo delegates to the existing
|
|
97
|
+
* `preflightLeo` (which also checks the configured Leo version). Standalone
|
|
98
|
+
* asserts the binary responds to `--version`.
|
|
99
|
+
*/
|
|
100
|
+
export async function preflightDevnode(config, backend) {
|
|
101
|
+
if (backend.provider === "leo") {
|
|
102
|
+
await preflightLeo(config);
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
await execFileAsync(backend.command, ["--version"], { timeout: PROBE_TIMEOUT_MS });
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
const e = err;
|
|
110
|
+
const reason = [
|
|
111
|
+
e.code !== undefined ? `code ${String(e.code)}` : "",
|
|
112
|
+
e.message ?? "unknown error",
|
|
113
|
+
]
|
|
114
|
+
.filter(Boolean)
|
|
115
|
+
.join(": ");
|
|
116
|
+
throw new Error(`aleo-devnode preflight failed for "${backend.command}": unable to run ` +
|
|
117
|
+
`"${backend.command} --version" (${reason}). Ensure the standalone aleo-devnode ` +
|
|
118
|
+
`binary is installed and on PATH.`);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=devnode-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devnode-backend.js","sourceRoot":"","sources":["../src/devnode-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DevnodeManager — manages the lifecycle of a `leo devnode start` process.
|
|
3
|
+
*
|
|
4
|
+
* Handles spawning, health-checking, and graceful shutdown.
|
|
5
|
+
*/
|
|
6
|
+
import { type ChildProcess, type StdioOptions } from "node:child_process";
|
|
7
|
+
import type { DevnodeLogMode, DevnodeProvider, DevnodeStartOptions } from "./types.js";
|
|
8
|
+
type ExitInfo = {
|
|
9
|
+
code: number | null;
|
|
10
|
+
signal: NodeJS.Signals | null;
|
|
11
|
+
};
|
|
12
|
+
type LogCallbacks = {
|
|
13
|
+
onStdout?: (chunk: Buffer) => void;
|
|
14
|
+
onStderr?: (chunk: Buffer) => void;
|
|
15
|
+
};
|
|
16
|
+
/** Map a `DevnodeLogMode` to the corresponding `spawn` stdio array. */
|
|
17
|
+
export declare function stdioConfigForMode(logMode: DevnodeLogMode): StdioOptions;
|
|
18
|
+
/**
|
|
19
|
+
* Attach drain listeners to the child's piped streams per `logMode`. Owns the
|
|
20
|
+
* internal ring buffers; returns a handle whose `getTail()` produces the
|
|
21
|
+
* current buffered tail (≤ 64 KiB per stream). For `logMode: "inherit"`
|
|
22
|
+
* returns an empty-tail handle without touching the streams.
|
|
23
|
+
*/
|
|
24
|
+
export declare function setupChildLogging(proc: ChildProcess, logMode: DevnodeLogMode, callbacks?: LogCallbacks): {
|
|
25
|
+
getTail(): {
|
|
26
|
+
stdout: string;
|
|
27
|
+
stderr: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export declare class DevnodeManager {
|
|
31
|
+
private process;
|
|
32
|
+
private _endpoint;
|
|
33
|
+
private _logMode;
|
|
34
|
+
private _logging?;
|
|
35
|
+
private _exitPromise?;
|
|
36
|
+
private _exitResolve?;
|
|
37
|
+
private _terminal;
|
|
38
|
+
private _exitInfo?;
|
|
39
|
+
private _exitDrainTimer?;
|
|
40
|
+
private _shutdownInitiated;
|
|
41
|
+
private _startResolved;
|
|
42
|
+
private _diagnosticEmitted;
|
|
43
|
+
private _spawnErrorMessage?;
|
|
44
|
+
private _provider;
|
|
45
|
+
private _network;
|
|
46
|
+
private _storagePath?;
|
|
47
|
+
private _lastStartOptions?;
|
|
48
|
+
/** REST API endpoint URL (e.g., "http://127.0.0.1:3030") */
|
|
49
|
+
get endpoint(): string;
|
|
50
|
+
/** The resolved backend driving this devnode. */
|
|
51
|
+
get provider(): DevnodeProvider;
|
|
52
|
+
/**
|
|
53
|
+
* Whether this devnode can snapshot/restore. Requires the standalone backend
|
|
54
|
+
* AND a configured `storagePath` (in-memory devnodes cannot snapshot).
|
|
55
|
+
*/
|
|
56
|
+
get capabilities(): {
|
|
57
|
+
snapshot: boolean;
|
|
58
|
+
};
|
|
59
|
+
/** Whether the devnode process is currently running. */
|
|
60
|
+
isRunning(): boolean;
|
|
61
|
+
/** Snapshot of buffered child output. Empty strings for `inherit` mode. */
|
|
62
|
+
getLogTail(): {
|
|
63
|
+
stdout: string;
|
|
64
|
+
stderr: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Resolves with the child's terminal exit info. Resolves on `close` (or a
|
|
68
|
+
* bounded fallback after `exit` if the child never closes), or — if the child
|
|
69
|
+
* fires `error` without ever closing — with `{ code: null, signal: null }`.
|
|
70
|
+
* Throws synchronously if called before `start()`. Idempotent: every call
|
|
71
|
+
* after termination receives the same info.
|
|
72
|
+
*/
|
|
73
|
+
waitForExit(): Promise<ExitInfo>;
|
|
74
|
+
/**
|
|
75
|
+
* Start a devnode process with the given options.
|
|
76
|
+
* Waits for the REST API to become healthy before returning.
|
|
77
|
+
*/
|
|
78
|
+
start(options?: DevnodeStartOptions): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Stop the devnode process gracefully.
|
|
81
|
+
* Sends SIGTERM, then SIGKILL after a timeout. Awaits the terminal exit
|
|
82
|
+
* (resolved on `close`, or a bounded fallback after `exit` if the child never
|
|
83
|
+
* closes) before returning so `markTerminal` is the sole writer of
|
|
84
|
+
* `this.process`.
|
|
85
|
+
*/
|
|
86
|
+
stop(): Promise<void>;
|
|
87
|
+
/** Reset all per-process state so a stop/start cycle is clean. */
|
|
88
|
+
private resetPerProcessState;
|
|
89
|
+
/** Idempotent: collapse exit/error events into a single terminal state. */
|
|
90
|
+
private markTerminal;
|
|
91
|
+
private clearStartDerivedState;
|
|
92
|
+
private emitUnexpectedExitDiagnostic;
|
|
93
|
+
private renderExitError;
|
|
94
|
+
/** Resolve the binary and argv for the given backend. */
|
|
95
|
+
private buildSpawn;
|
|
96
|
+
/** Build CLI arguments for `leo devnode start`. */
|
|
97
|
+
private buildLeoArgs;
|
|
98
|
+
/**
|
|
99
|
+
* Build CLI arguments for `aleo-devnode start`. Unlike the Leo backend,
|
|
100
|
+
* `--verbosity` is always emitted (the standalone CLI defaults to trace=2,
|
|
101
|
+
* while Lionden's default is 0). `--network` / `--consensus-heights` are
|
|
102
|
+
* never passed — they are unsupported on standalone and rejected upstream.
|
|
103
|
+
*/
|
|
104
|
+
private buildStandaloneArgs;
|
|
105
|
+
private assertSnapshotCapable;
|
|
106
|
+
/**
|
|
107
|
+
* Create a snapshot of the current ledger. Requires the standalone backend
|
|
108
|
+
* with `storagePath` set. Returns the snapshot name and the height it captured.
|
|
109
|
+
*/
|
|
110
|
+
snapshot(name?: string): Promise<{
|
|
111
|
+
name: string;
|
|
112
|
+
height: number;
|
|
113
|
+
}>;
|
|
114
|
+
/** List the names of available snapshots. Standalone + storage only. */
|
|
115
|
+
listSnapshots(): Promise<string[]>;
|
|
116
|
+
/**
|
|
117
|
+
* Restore the ledger to a previously taken snapshot. This is an offline
|
|
118
|
+
* operation: the running devnode is stopped, `aleo-devnode restore` rewrites
|
|
119
|
+
* the storage dir, then the devnode is restarted with the original start
|
|
120
|
+
* options — except `clearStorage`, which is forced off so the restart can't
|
|
121
|
+
* wipe the ledger the restore just rebuilt. Restores chain state only —
|
|
122
|
+
* callers managing a deployment cache must invalidate it separately.
|
|
123
|
+
*/
|
|
124
|
+
restore(name: string): Promise<void>;
|
|
125
|
+
private runRestoreCommand;
|
|
126
|
+
/** Poll the REST API until it responds or timeout. */
|
|
127
|
+
private waitForHealthy;
|
|
128
|
+
}
|
|
129
|
+
export {};
|
|
130
|
+
//# sourceMappingURL=devnode-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"devnode-manager.d.ts","sourceRoot":"","sources":["../src/devnode-manager.ts"],"names":[],"mappings":"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"}
|