@sonara/client 0.37.2 → 0.38.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 +1 -1
- package/dist/cjs/connect.d.ts +2 -2
- package/dist/cjs/discovery.d.ts +6 -2
- package/dist/cjs/discovery.js +12 -2
- package/dist/cjs/engines.d.ts +15 -4
- package/dist/cjs/engines.js +12 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/connect.d.ts +2 -2
- package/dist/esm/discovery.d.ts +6 -2
- package/dist/esm/discovery.js +13 -3
- package/dist/esm/engines.d.ts +15 -4
- package/dist/esm/engines.js +10 -0
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ await sonara.set("rate", 240);
|
|
|
14
14
|
await sonara.close();
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
- `connect(options)`: finds the shared runtime through `runtime.json`, starts the bundled `sonarad.exe` when none is usable (`autostart`, default on), takes over an idle incompatible one. Options: `clientName` (required), `runtimePath` (default `SONARA_RUNTIME`), `home`, `autostart`, `require`, `extensions`, `keepAlive`.
|
|
17
|
+
- `connect(options)`: finds the shared runtime through `runtime.json`, starts the bundled `sonarad.exe` (`sonarad` on macOS) when none is usable (`autostart`, default on), takes over an idle incompatible one. Options: `clientName` (required), `runtimePath` (default `SONARA_RUNTIME`), `home`, `autostart`, `require`, `extensions`, `keepAlive`.
|
|
18
18
|
- `speak(text, { mode: "append" | "replace", interrupt, label })` resolves with the item id.
|
|
19
19
|
- `control(action)`: `play`, `pause`, `toggle`, `stop`, `skip`, `previous`, `next`, `restart`, `mute`, `unmute`.
|
|
20
20
|
- `set(key, value)` / `get(key)` for `volume` (0..100), `rate` (100..400 wpm), `voice`, `engine`; `voices(engine?)`.
|
package/dist/cjs/connect.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ export interface ConnectOptions {
|
|
|
5
5
|
/** Your app's version (default: this package's version). */
|
|
6
6
|
clientVersion?: string;
|
|
7
7
|
/**
|
|
8
|
-
* The bundled `sonarad.exe
|
|
8
|
+
* The bundled `sonarad.exe` (`sonarad` on macOS), started when no usable runtime is running.
|
|
9
9
|
* Default: `SONARA_RUNTIME` from the environment. With
|
|
10
10
|
* `@sonara/runtime-win32-x64`: `runtimePath()` from that package.
|
|
11
11
|
*/
|
|
12
12
|
runtimePath?: string;
|
|
13
|
-
/** Home folder (default: `SONARA_HOME`, else `%LOCALAPPDATA%\Sonara`). */
|
|
13
|
+
/** Home folder (default: `SONARA_HOME`, else `%LOCALAPPDATA%\Sonara`; on macOS `~/Library/Application Support/Sonara`). */
|
|
14
14
|
home?: string;
|
|
15
15
|
/** Start the bundled runtime when none is usable (default true). */
|
|
16
16
|
autostart?: boolean;
|
package/dist/cjs/discovery.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { RuntimeInfo } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The home folder: `home`, else `SONARA_HOME`, else the platform default:
|
|
4
|
+
* `%LOCALAPPDATA%\Sonara` on Windows, `$HOME/Library/Application Support/Sonara`
|
|
5
|
+
* on macOS (the runtime and the plugin's launchers use the same path).
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveHome(home?: string, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
|
|
4
8
|
/** `runtime.json` of `home`, or null when it is missing or unreadable. */
|
|
5
9
|
export declare function readRuntime(home: string): RuntimeInfo | null;
|
|
6
10
|
/** True while process `pid` exists. */
|
package/dist/cjs/discovery.js
CHANGED
|
@@ -14,12 +14,22 @@ const errors_js_1 = require("./errors.js");
|
|
|
14
14
|
/** Exit code of a second `sonarad` for the same user and home. */
|
|
15
15
|
const EXIT_ALREADY_RUNNING = 3;
|
|
16
16
|
const POLL_MS = 50;
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/**
|
|
18
|
+
* The home folder: `home`, else `SONARA_HOME`, else the platform default:
|
|
19
|
+
* `%LOCALAPPDATA%\Sonara` on Windows, `$HOME/Library/Application Support/Sonara`
|
|
20
|
+
* on macOS (the runtime and the plugin's launchers use the same path).
|
|
21
|
+
*/
|
|
22
|
+
function resolveHome(home, env = process.env, platform = process.platform) {
|
|
19
23
|
if (home)
|
|
20
24
|
return home;
|
|
21
25
|
if (env.SONARA_HOME)
|
|
22
26
|
return env.SONARA_HOME;
|
|
27
|
+
if (platform === "darwin") {
|
|
28
|
+
// posix: a macOS path, whatever the host (tests run it on Windows too).
|
|
29
|
+
if (env.HOME)
|
|
30
|
+
return node_path_1.posix.join(env.HOME, "Library", "Application Support", "Sonara");
|
|
31
|
+
throw new errors_js_1.SonaraError("E_NOT_RUNNING", "no home folder: pass home, or set SONARA_HOME or HOME");
|
|
32
|
+
}
|
|
23
33
|
if (env.LOCALAPPDATA)
|
|
24
34
|
return (0, node_path_1.join)(env.LOCALAPPDATA, "Sonara");
|
|
25
35
|
throw new errors_js_1.SonaraError("E_NOT_RUNNING", "no home folder: pass home, or set SONARA_HOME or LOCALAPPDATA");
|
package/dist/cjs/engines.d.ts
CHANGED
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
* engines (`sonarad --no-external-engines`) answers `E_UNSUPPORTED`.
|
|
7
7
|
*
|
|
8
8
|
* A key is sent only in `add` (`secret`), `setKey`, or with a draft profile
|
|
9
|
-
* in `models`; the runtime stores it in Windows Credential
|
|
10
|
-
* draft's only for that request) and never
|
|
9
|
+
* in `models`; the runtime stores it in the OS key store, Windows Credential
|
|
10
|
+
* Manager or the macOS Keychain (a draft's only for that request), and never
|
|
11
|
+
* returns it. A profile's `key_ref` names that store `"credman"` (Windows) or
|
|
12
|
+
* `"keychain"` (macOS); a runtime takes either on every platform
|
|
13
|
+
* (`KEY_STORES`, `isStoredKey`).
|
|
11
14
|
*
|
|
12
15
|
* Sonara names no model or voice of its own (protocol 1.5, runtime 0.19.0):
|
|
13
16
|
* `models` and `voices` list the provider's live, and a profile without one
|
|
@@ -27,6 +30,14 @@
|
|
|
27
30
|
*/
|
|
28
31
|
import type { Reply } from "./types.js";
|
|
29
32
|
export type Send = (type: string, fields: Record<string, unknown>) => Promise<Reply>;
|
|
33
|
+
/**
|
|
34
|
+
* The `key_ref` values that name the OS key store: `"credman"` (Windows
|
|
35
|
+
* Credential Manager) and `"keychain"` (the macOS Keychain). A view says
|
|
36
|
+
* the runtime platform's name; a profile may send either.
|
|
37
|
+
*/
|
|
38
|
+
export declare const KEY_STORES: readonly string[];
|
|
39
|
+
/** Whether a `key_ref` is a key kept in the OS key store (not `none`, not `env:`). */
|
|
40
|
+
export declare function isStoredKey(keyRef: string | null | undefined): boolean;
|
|
30
41
|
/** How text goes to an engine (#235): a whole message, or each sentence. */
|
|
31
42
|
export type SendMode = "message" | "sentence";
|
|
32
43
|
/** A profile as sent in `engine_add` (spec section 5). */
|
|
@@ -37,14 +48,14 @@ export interface EngineProfile {
|
|
|
37
48
|
url?: string;
|
|
38
49
|
model?: string;
|
|
39
50
|
voice?: string;
|
|
40
|
-
/** `"none"`, `"credman"` or `"env:NAME"`. */
|
|
51
|
+
/** `"none"`, `"credman"` or `"keychain"` (the OS key store), or `"env:NAME"`. */
|
|
41
52
|
key_ref?: string | null;
|
|
42
53
|
/** Unset (or null): the kind's default (`message` for the cloud). */
|
|
43
54
|
send_mode?: SendMode | null;
|
|
44
55
|
options?: Record<string, unknown>;
|
|
45
56
|
}
|
|
46
57
|
export interface EngineAddOptions {
|
|
47
|
-
/** Stored in
|
|
58
|
+
/** Stored in the OS key store (sets `key_ref` to the store's name when unset). */
|
|
48
59
|
secret?: string;
|
|
49
60
|
/** Change an existing profile; its stored key is kept unless `secret` is given. */
|
|
50
61
|
replace?: boolean;
|
package/dist/cjs/engines.js
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.EnginesApi = void 0;
|
|
3
|
+
exports.EnginesApi = exports.KEY_STORES = void 0;
|
|
4
|
+
exports.isStoredKey = isStoredKey;
|
|
5
|
+
/**
|
|
6
|
+
* The `key_ref` values that name the OS key store: `"credman"` (Windows
|
|
7
|
+
* Credential Manager) and `"keychain"` (the macOS Keychain). A view says
|
|
8
|
+
* the runtime platform's name; a profile may send either.
|
|
9
|
+
*/
|
|
10
|
+
exports.KEY_STORES = ["credman", "keychain"];
|
|
11
|
+
/** Whether a `key_ref` is a key kept in the OS key store (not `none`, not `env:`). */
|
|
12
|
+
function isStoredKey(keyRef) {
|
|
13
|
+
return keyRef != null && exports.KEY_STORES.includes(keyRef);
|
|
14
|
+
}
|
|
4
15
|
class EnginesApi {
|
|
5
16
|
constructor(send) {
|
|
6
17
|
this.send = send;
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type { Unsubscribe } from "./client.js";
|
|
|
13
13
|
export { SonaraError } from "./errors.js";
|
|
14
14
|
export type { ErrorCode } from "./errors.js";
|
|
15
15
|
export { AgentApi, ChannelsApi, SystemApi } from "./extensions.js";
|
|
16
|
-
export { EnginesApi } from "./engines.js";
|
|
16
|
+
export { EnginesApi, isStoredKey, KEY_STORES } from "./engines.js";
|
|
17
17
|
export type { EngineAddOptions, EngineModelsDraft, EngineProfile, SendMode, EngineTestOptions, } from "./engines.js";
|
|
18
18
|
export type { AskKind, AudioMode, ChannelOpenOptions, ChannelPolicy, StreamMessage } from "./extensions.js";
|
|
19
19
|
export { readRuntime, resolveHome } from "./discovery.js";
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VERSION = exports.PROTOCOL = exports.resolveHome = exports.readRuntime = exports.EnginesApi = exports.SystemApi = exports.ChannelsApi = exports.AgentApi = exports.SonaraError = exports.SonaraClient = exports.connect = void 0;
|
|
3
|
+
exports.VERSION = exports.PROTOCOL = exports.resolveHome = exports.readRuntime = exports.KEY_STORES = exports.isStoredKey = exports.EnginesApi = exports.SystemApi = exports.ChannelsApi = exports.AgentApi = exports.SonaraError = exports.SonaraClient = exports.connect = void 0;
|
|
4
4
|
/**
|
|
5
5
|
* @sonara/client: talk to the Sonara runtime (protocol v1) from Node 18+
|
|
6
6
|
* or an Electron main process. Zero dependencies.
|
|
@@ -21,6 +21,8 @@ Object.defineProperty(exports, "ChannelsApi", { enumerable: true, get: function
|
|
|
21
21
|
Object.defineProperty(exports, "SystemApi", { enumerable: true, get: function () { return extensions_js_1.SystemApi; } });
|
|
22
22
|
var engines_js_1 = require("./engines.js");
|
|
23
23
|
Object.defineProperty(exports, "EnginesApi", { enumerable: true, get: function () { return engines_js_1.EnginesApi; } });
|
|
24
|
+
Object.defineProperty(exports, "isStoredKey", { enumerable: true, get: function () { return engines_js_1.isStoredKey; } });
|
|
25
|
+
Object.defineProperty(exports, "KEY_STORES", { enumerable: true, get: function () { return engines_js_1.KEY_STORES; } });
|
|
24
26
|
var discovery_js_1 = require("./discovery.js");
|
|
25
27
|
Object.defineProperty(exports, "readRuntime", { enumerable: true, get: function () { return discovery_js_1.readRuntime; } });
|
|
26
28
|
Object.defineProperty(exports, "resolveHome", { enumerable: true, get: function () { return discovery_js_1.resolveHome; } });
|
package/dist/cjs/version.d.ts
CHANGED
package/dist/cjs/version.js
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PROTOCOL = exports.VERSION = void 0;
|
|
4
4
|
/** Version of this package, sent as `client.version` in `hello`. */
|
|
5
|
-
exports.VERSION = "0.
|
|
5
|
+
exports.VERSION = "0.38.0";
|
|
6
6
|
/** Protocol this client speaks. */
|
|
7
7
|
exports.PROTOCOL = { major: 1, minor: 0 };
|
package/dist/esm/connect.d.ts
CHANGED
|
@@ -5,12 +5,12 @@ export interface ConnectOptions {
|
|
|
5
5
|
/** Your app's version (default: this package's version). */
|
|
6
6
|
clientVersion?: string;
|
|
7
7
|
/**
|
|
8
|
-
* The bundled `sonarad.exe
|
|
8
|
+
* The bundled `sonarad.exe` (`sonarad` on macOS), started when no usable runtime is running.
|
|
9
9
|
* Default: `SONARA_RUNTIME` from the environment. With
|
|
10
10
|
* `@sonara/runtime-win32-x64`: `runtimePath()` from that package.
|
|
11
11
|
*/
|
|
12
12
|
runtimePath?: string;
|
|
13
|
-
/** Home folder (default: `SONARA_HOME`, else `%LOCALAPPDATA%\Sonara`). */
|
|
13
|
+
/** Home folder (default: `SONARA_HOME`, else `%LOCALAPPDATA%\Sonara`; on macOS `~/Library/Application Support/Sonara`). */
|
|
14
14
|
home?: string;
|
|
15
15
|
/** Start the bundled runtime when none is usable (default true). */
|
|
16
16
|
autostart?: boolean;
|
package/dist/esm/discovery.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { RuntimeInfo } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* The home folder: `home`, else `SONARA_HOME`, else the platform default:
|
|
4
|
+
* `%LOCALAPPDATA%\Sonara` on Windows, `$HOME/Library/Application Support/Sonara`
|
|
5
|
+
* on macOS (the runtime and the plugin's launchers use the same path).
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveHome(home?: string, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): string;
|
|
4
8
|
/** `runtime.json` of `home`, or null when it is missing or unreadable. */
|
|
5
9
|
export declare function readRuntime(home: string): RuntimeInfo | null;
|
|
6
10
|
/** True while process `pid` exists. */
|
package/dist/esm/discovery.js
CHANGED
|
@@ -1,16 +1,26 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
2
|
import { readFileSync } from "node:fs";
|
|
3
|
-
import { join } from "node:path";
|
|
3
|
+
import { join, posix } from "node:path";
|
|
4
4
|
import { SonaraError } from "./errors.js";
|
|
5
5
|
/** Exit code of a second `sonarad` for the same user and home. */
|
|
6
6
|
const EXIT_ALREADY_RUNNING = 3;
|
|
7
7
|
const POLL_MS = 50;
|
|
8
|
-
/**
|
|
9
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The home folder: `home`, else `SONARA_HOME`, else the platform default:
|
|
10
|
+
* `%LOCALAPPDATA%\Sonara` on Windows, `$HOME/Library/Application Support/Sonara`
|
|
11
|
+
* on macOS (the runtime and the plugin's launchers use the same path).
|
|
12
|
+
*/
|
|
13
|
+
export function resolveHome(home, env = process.env, platform = process.platform) {
|
|
10
14
|
if (home)
|
|
11
15
|
return home;
|
|
12
16
|
if (env.SONARA_HOME)
|
|
13
17
|
return env.SONARA_HOME;
|
|
18
|
+
if (platform === "darwin") {
|
|
19
|
+
// posix: a macOS path, whatever the host (tests run it on Windows too).
|
|
20
|
+
if (env.HOME)
|
|
21
|
+
return posix.join(env.HOME, "Library", "Application Support", "Sonara");
|
|
22
|
+
throw new SonaraError("E_NOT_RUNNING", "no home folder: pass home, or set SONARA_HOME or HOME");
|
|
23
|
+
}
|
|
14
24
|
if (env.LOCALAPPDATA)
|
|
15
25
|
return join(env.LOCALAPPDATA, "Sonara");
|
|
16
26
|
throw new SonaraError("E_NOT_RUNNING", "no home folder: pass home, or set SONARA_HOME or LOCALAPPDATA");
|
package/dist/esm/engines.d.ts
CHANGED
|
@@ -6,8 +6,11 @@
|
|
|
6
6
|
* engines (`sonarad --no-external-engines`) answers `E_UNSUPPORTED`.
|
|
7
7
|
*
|
|
8
8
|
* A key is sent only in `add` (`secret`), `setKey`, or with a draft profile
|
|
9
|
-
* in `models`; the runtime stores it in Windows Credential
|
|
10
|
-
* draft's only for that request) and never
|
|
9
|
+
* in `models`; the runtime stores it in the OS key store, Windows Credential
|
|
10
|
+
* Manager or the macOS Keychain (a draft's only for that request), and never
|
|
11
|
+
* returns it. A profile's `key_ref` names that store `"credman"` (Windows) or
|
|
12
|
+
* `"keychain"` (macOS); a runtime takes either on every platform
|
|
13
|
+
* (`KEY_STORES`, `isStoredKey`).
|
|
11
14
|
*
|
|
12
15
|
* Sonara names no model or voice of its own (protocol 1.5, runtime 0.19.0):
|
|
13
16
|
* `models` and `voices` list the provider's live, and a profile without one
|
|
@@ -27,6 +30,14 @@
|
|
|
27
30
|
*/
|
|
28
31
|
import type { Reply } from "./types.js";
|
|
29
32
|
export type Send = (type: string, fields: Record<string, unknown>) => Promise<Reply>;
|
|
33
|
+
/**
|
|
34
|
+
* The `key_ref` values that name the OS key store: `"credman"` (Windows
|
|
35
|
+
* Credential Manager) and `"keychain"` (the macOS Keychain). A view says
|
|
36
|
+
* the runtime platform's name; a profile may send either.
|
|
37
|
+
*/
|
|
38
|
+
export declare const KEY_STORES: readonly string[];
|
|
39
|
+
/** Whether a `key_ref` is a key kept in the OS key store (not `none`, not `env:`). */
|
|
40
|
+
export declare function isStoredKey(keyRef: string | null | undefined): boolean;
|
|
30
41
|
/** How text goes to an engine (#235): a whole message, or each sentence. */
|
|
31
42
|
export type SendMode = "message" | "sentence";
|
|
32
43
|
/** A profile as sent in `engine_add` (spec section 5). */
|
|
@@ -37,14 +48,14 @@ export interface EngineProfile {
|
|
|
37
48
|
url?: string;
|
|
38
49
|
model?: string;
|
|
39
50
|
voice?: string;
|
|
40
|
-
/** `"none"`, `"credman"` or `"env:NAME"`. */
|
|
51
|
+
/** `"none"`, `"credman"` or `"keychain"` (the OS key store), or `"env:NAME"`. */
|
|
41
52
|
key_ref?: string | null;
|
|
42
53
|
/** Unset (or null): the kind's default (`message` for the cloud). */
|
|
43
54
|
send_mode?: SendMode | null;
|
|
44
55
|
options?: Record<string, unknown>;
|
|
45
56
|
}
|
|
46
57
|
export interface EngineAddOptions {
|
|
47
|
-
/** Stored in
|
|
58
|
+
/** Stored in the OS key store (sets `key_ref` to the store's name when unset). */
|
|
48
59
|
secret?: string;
|
|
49
60
|
/** Change an existing profile; its stored key is kept unless `secret` is given. */
|
|
50
61
|
replace?: boolean;
|
package/dist/esm/engines.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `key_ref` values that name the OS key store: `"credman"` (Windows
|
|
3
|
+
* Credential Manager) and `"keychain"` (the macOS Keychain). A view says
|
|
4
|
+
* the runtime platform's name; a profile may send either.
|
|
5
|
+
*/
|
|
6
|
+
export const KEY_STORES = ["credman", "keychain"];
|
|
7
|
+
/** Whether a `key_ref` is a key kept in the OS key store (not `none`, not `env:`). */
|
|
8
|
+
export function isStoredKey(keyRef) {
|
|
9
|
+
return keyRef != null && KEY_STORES.includes(keyRef);
|
|
10
|
+
}
|
|
1
11
|
export class EnginesApi {
|
|
2
12
|
constructor(send) {
|
|
3
13
|
this.send = send;
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export type { Unsubscribe } from "./client.js";
|
|
|
13
13
|
export { SonaraError } from "./errors.js";
|
|
14
14
|
export type { ErrorCode } from "./errors.js";
|
|
15
15
|
export { AgentApi, ChannelsApi, SystemApi } from "./extensions.js";
|
|
16
|
-
export { EnginesApi } from "./engines.js";
|
|
16
|
+
export { EnginesApi, isStoredKey, KEY_STORES } from "./engines.js";
|
|
17
17
|
export type { EngineAddOptions, EngineModelsDraft, EngineProfile, SendMode, EngineTestOptions, } from "./engines.js";
|
|
18
18
|
export type { AskKind, AudioMode, ChannelOpenOptions, ChannelPolicy, StreamMessage } from "./extensions.js";
|
|
19
19
|
export { readRuntime, resolveHome } from "./discovery.js";
|
package/dist/esm/index.js
CHANGED
|
@@ -10,6 +10,6 @@ export { connect } from "./connect.js";
|
|
|
10
10
|
export { SonaraClient } from "./client.js";
|
|
11
11
|
export { SonaraError } from "./errors.js";
|
|
12
12
|
export { AgentApi, ChannelsApi, SystemApi } from "./extensions.js";
|
|
13
|
-
export { EnginesApi } from "./engines.js";
|
|
13
|
+
export { EnginesApi, isStoredKey, KEY_STORES } from "./engines.js";
|
|
14
14
|
export { readRuntime, resolveHome } from "./discovery.js";
|
|
15
15
|
export { PROTOCOL, VERSION } from "./version.js";
|
package/dist/esm/version.d.ts
CHANGED
package/dist/esm/version.js
CHANGED
package/package.json
CHANGED