electron-native-speech 0.1.4 → 0.1.5
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 +8 -13
- package/dist/backend-loader.js +1 -1
- package/dist/backend-loader.js.map +1 -1
- package/dist/main-handlers.d.ts +3 -0
- package/dist/main-handlers.d.ts.map +1 -0
- package/dist/main-handlers.js +9 -0
- package/dist/main-handlers.js.map +1 -0
- package/dist/preload.d.ts +18 -0
- package/dist/preload.d.ts.map +1 -0
- package/dist/preload.js +9 -0
- package/dist/preload.js.map +1 -0
- package/package.json +22 -4
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ This package provides the shared types and high-level API:
|
|
|
8
8
|
- `transcribeFile()`
|
|
9
9
|
- `createSpeechSession()`
|
|
10
10
|
|
|
11
|
-
On macOS, it auto-loads
|
|
11
|
+
On macOS, it installs and auto-loads the bundled backend at runtime.
|
|
12
12
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
@@ -16,12 +16,7 @@ On macOS, it auto-loads `electron-native-speech-backend-macos` at runtime.
|
|
|
16
16
|
npm install electron-native-speech
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
If your environment skips optional dependencies, install it explicitly:
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm install electron-native-speech electron-native-speech-backend-macos
|
|
24
|
-
```
|
|
19
|
+
That single package install is the supported path for normal users.
|
|
25
20
|
|
|
26
21
|
## When to use this package
|
|
27
22
|
|
|
@@ -31,11 +26,10 @@ Use this package when you want:
|
|
|
31
26
|
- direct access from Node or the Electron main process
|
|
32
27
|
- a shared abstraction for custom backends or tests
|
|
33
28
|
|
|
34
|
-
|
|
29
|
+
For Electron preload and main-process wiring, import the helpers from this package:
|
|
35
30
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
```
|
|
31
|
+
- `electron-native-speech/preload`
|
|
32
|
+
- `electron-native-speech/main-handlers`
|
|
39
33
|
|
|
40
34
|
## Usage
|
|
41
35
|
|
|
@@ -136,8 +130,9 @@ Windows and Linux backends are not published yet.
|
|
|
136
130
|
|
|
137
131
|
For a complete Electron integration with `contextIsolation: true`, use:
|
|
138
132
|
|
|
139
|
-
- `electron-native-speech` for the shared API and
|
|
140
|
-
- `electron-native-speech
|
|
133
|
+
- `electron-native-speech` for the shared API and runtime
|
|
134
|
+
- `electron-native-speech/preload` for the preload bridge
|
|
135
|
+
- `electron-native-speech/main-handlers` for IPC wiring in the main process
|
|
141
136
|
|
|
142
137
|
Full documentation and examples:
|
|
143
138
|
|
package/dist/backend-loader.js
CHANGED
|
@@ -22,7 +22,7 @@ function getBackend() {
|
|
|
22
22
|
return _backend;
|
|
23
23
|
}
|
|
24
24
|
catch {
|
|
25
|
-
(0, errors_1.throwSpeechError)("unavailable", "macOS speech backend not found.
|
|
25
|
+
(0, errors_1.throwSpeechError)("unavailable", "macOS speech backend not found. Reinstall electron-native-speech and verify dependencies were installed.");
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
(0, errors_1.throwSpeechError)("unavailable", `Platform "${platform}" is not yet supported. electron-native-speech currently supports macOS.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backend-loader.js","sourceRoot":"","sources":["../src/backend-loader.ts"],"names":[],"mappings":";;AAUA,gCAuBC;AAGD,gCAEC;AAED,oCAKC;AA5CD,qCAA2C;AAE3C,IAAI,QAAQ,GAA0B,IAAI,CAAA;AAE1C;;;;GAIG;AACH,SAAgB,UAAU;IACxB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEjC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,GAAG,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAA;YAC3D,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,EAAoB,CAAA;YACzD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,IAAA,yBAAgB,EACd,aAAa,EACb,
|
|
1
|
+
{"version":3,"file":"backend-loader.js","sourceRoot":"","sources":["../src/backend-loader.ts"],"names":[],"mappings":";;AAUA,gCAuBC;AAGD,gCAEC;AAED,oCAKC;AA5CD,qCAA2C;AAE3C,IAAI,QAAQ,GAA0B,IAAI,CAAA;AAE1C;;;;GAIG;AACH,SAAgB,UAAU;IACxB,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAE7B,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IAEjC,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,GAAG,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAA;YAC3D,QAAQ,GAAG,IAAI,GAAG,CAAC,kBAAkB,EAAoB,CAAA;YACzD,OAAO,QAAQ,CAAA;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,IAAA,yBAAgB,EACd,aAAa,EACb,0GAA0G,CAC3G,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAA,yBAAgB,EACd,aAAa,EACb,aAAa,QAAQ,0EAA0E,CAChG,CAAA;AACH,CAAC;AAED,+CAA+C;AAC/C,SAAgB,UAAU,CAAC,OAAuB;IAChD,QAAQ,GAAG,OAAO,CAAA;AACpB,CAAC;AAED,SAAgB,YAAY;IAC1B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACpC,CAAC;IACD,QAAQ,GAAG,IAAI,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-handlers.d.ts","sourceRoot":"","sources":["../src/main-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEpD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,IAAI,CAO7F"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerSpeechHandlers = registerSpeechHandlers;
|
|
4
|
+
function registerSpeechHandlers(ipcMain, webContents) {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
6
|
+
const mod = require("electron-native-speech-preload/main-handlers");
|
|
7
|
+
return mod.registerSpeechHandlers(ipcMain, webContents);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=main-handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main-handlers.js","sourceRoot":"","sources":["../src/main-handlers.ts"],"names":[],"mappings":";;AAEA,wDAOC;AAPD,SAAgB,sBAAsB,CAAC,OAAgB,EAAE,WAAwB;IAC/E,iEAAiE;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,8CAA8C,CAEjE,CAAA;IAED,OAAO,GAAG,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;AACzD,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FileTranscriptionOptions, FileTranscriptionResult, LiveSpeechResult, SpeechAvailability, SpeechError, SpeechSessionStartOptions, SpeechSessionState } from "./types";
|
|
2
|
+
type SessionEventType = "result" | "error" | "state";
|
|
3
|
+
type SessionListener<T extends SessionEventType> = T extends "result" ? (result: LiveSpeechResult) => void : T extends "error" ? (error: SpeechError) => void : T extends "state" ? (state: SpeechSessionState) => void : never;
|
|
4
|
+
export interface RendererSpeechSession {
|
|
5
|
+
on<T extends SessionEventType>(event: T, listener: SessionListener<T>): () => void;
|
|
6
|
+
start(options?: SpeechSessionStartOptions): Promise<void>;
|
|
7
|
+
stop(): Promise<void>;
|
|
8
|
+
abort(): Promise<void>;
|
|
9
|
+
dispose(): Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export interface ElectronSpeechAPI {
|
|
12
|
+
getSpeechAvailability(): Promise<SpeechAvailability>;
|
|
13
|
+
transcribeFile(options: FileTranscriptionOptions): Promise<FileTranscriptionResult>;
|
|
14
|
+
createSpeechSession(): RendererSpeechSession;
|
|
15
|
+
}
|
|
16
|
+
export declare function exposeElectronSpeech(key?: string): void;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=preload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.d.ts","sourceRoot":"","sources":["../src/preload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,yBAAyB,EACzB,kBAAkB,EACnB,MAAM,SAAS,CAAA;AAEhB,KAAK,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AACpD,KAAK,eAAe,CAAC,CAAC,SAAS,gBAAgB,IAC7C,CAAC,SAAS,QAAQ,GAAG,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,GACrD,CAAC,SAAS,OAAO,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,GAChD,CAAC,SAAS,OAAO,GAAG,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GACvD,KAAK,CAAA;AAET,MAAM,WAAW,qBAAqB;IACpC,EAAE,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAA;IAClF,KAAK,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACpD,cAAc,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IACnF,mBAAmB,IAAI,qBAAqB,CAAA;CAC7C;AAED,wBAAgB,oBAAoB,CAAC,GAAG,SAAmB,GAAG,IAAI,CAOjE"}
|
package/dist/preload.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.exposeElectronSpeech = exposeElectronSpeech;
|
|
4
|
+
function exposeElectronSpeech(key = "electronSpeech") {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
6
|
+
const mod = require("electron-native-speech-preload");
|
|
7
|
+
mod.exposeElectronSpeech(key);
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=preload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preload.js","sourceRoot":"","sources":["../src/preload.ts"],"names":[],"mappings":";;AA+BA,oDAOC;AAPD,SAAgB,oBAAoB,CAAC,GAAG,GAAG,gBAAgB;IACzD,iEAAiE;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,gCAAgC,CAEnD,CAAA;IAED,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "electron-native-speech",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Native OS speech transcription for Electron apps — fast, local, no cloud required",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -8,6 +8,24 @@
|
|
|
8
8
|
".": {
|
|
9
9
|
"require": "./dist/index.js",
|
|
10
10
|
"types": "./dist/index.d.ts"
|
|
11
|
+
},
|
|
12
|
+
"./preload": {
|
|
13
|
+
"require": "./dist/preload.js",
|
|
14
|
+
"types": "./dist/preload.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./main-handlers": {
|
|
17
|
+
"require": "./dist/main-handlers.js",
|
|
18
|
+
"types": "./dist/main-handlers.d.ts"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"typesVersions": {
|
|
22
|
+
"*": {
|
|
23
|
+
"preload": [
|
|
24
|
+
"dist/preload.d.ts"
|
|
25
|
+
],
|
|
26
|
+
"main-handlers": [
|
|
27
|
+
"dist/main-handlers.d.ts"
|
|
28
|
+
]
|
|
11
29
|
}
|
|
12
30
|
},
|
|
13
31
|
"files": [
|
|
@@ -40,8 +58,8 @@
|
|
|
40
58
|
"optional": true
|
|
41
59
|
}
|
|
42
60
|
},
|
|
43
|
-
"
|
|
44
|
-
"electron-native-speech-backend-macos": "
|
|
45
|
-
"electron-native-speech-preload": "
|
|
61
|
+
"dependencies": {
|
|
62
|
+
"electron-native-speech-backend-macos": "^0.1.6",
|
|
63
|
+
"electron-native-speech-preload": "^0.1.4"
|
|
46
64
|
}
|
|
47
65
|
}
|