electron-native-speech-preload 0.1.1 → 0.1.3

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/index.d.ts CHANGED
@@ -29,22 +29,17 @@ export declare const IPC_CHANNELS: {
29
29
  };
30
30
  type SessionEventType = "result" | "error" | "state";
31
31
  type SessionListener<T extends SessionEventType> = T extends "result" ? (r: LiveSpeechResult) => void : T extends "error" ? (e: SpeechError) => void : T extends "state" ? (s: SpeechSessionState) => void : never;
32
- declare class RendererSpeechSession {
33
- private sessionId;
34
- private listeners;
35
- private ipcOff;
36
- constructor(sessionId: string);
32
+ declare function createRendererSpeechSession(sessionId: string): {
37
33
  on<T extends SessionEventType>(event: T, listener: SessionListener<T>): () => void;
38
34
  start(options?: SpeechSessionStartOptions): Promise<void>;
39
35
  stop(): Promise<void>;
40
36
  abort(): Promise<void>;
41
37
  dispose(): Promise<void>;
42
- private emit;
43
- }
38
+ };
44
39
  export interface ElectronSpeechAPI {
45
40
  getSpeechAvailability(): Promise<SpeechAvailability>;
46
41
  transcribeFile(options: FileTranscriptionOptions): Promise<FileTranscriptionResult>;
47
- createSpeechSession(): RendererSpeechSession;
42
+ createSpeechSession(): ReturnType<typeof createRendererSpeechSession>;
48
43
  }
49
44
  /**
50
45
  * Call this in your Electron preload script to expose the speech API
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAA;AAIV,KAAK,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AACpD,KAAK,eAAe,CAAC,CAAC,SAAS,gBAAgB,IAC7C,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,GAChD,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,GAC5C,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,GACnD,KAAK,CAAA;AAET,cAAM,qBAAqB;IACzB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAuD;IACxE,OAAO,CAAC,MAAM,CAA4B;gBAE9B,SAAS,EAAE,MAAM;IAe7B,EAAE,CAAC,CAAC,SAAS,gBAAgB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAM5E,KAAK,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAO9B,OAAO,CAAC,IAAI;CAGb;AAID,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;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,SAAmB,GAAG,IAAI,CAmBjE;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,cAAc,EAAE,iBAAiB,CAAA;KAClC;CACF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACZ,MAAM,wBAAwB,CAAA;AAE/B,eAAO,MAAM,YAAY;;;;;;;;CAQf,CAAA;AAIV,KAAK,gBAAgB,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;AACpD,KAAK,eAAe,CAAC,CAAC,SAAS,gBAAgB,IAC7C,CAAC,SAAS,QAAQ,GAAG,CAAC,CAAC,EAAE,gBAAgB,KAAK,IAAI,GAChD,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,WAAW,KAAK,IAAI,GAC5C,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,GACnD,KAAK,CAAA;AAoDT,iBAAS,2BAA2B,CAAC,SAAS,EAAE,MAAM;OAI/C,CAAC,SAAS,gBAAgB,SAAS,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,SAlCO,IAAI;oBAsChE,yBAAyB;;;;EAgB5C;AAID,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,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAA;CACtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,SAAmB,GAAG,IAAI,CAmBjE;AAID,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,cAAc,EAAE,iBAAiB,CAAA;KAClC;CACF"}
package/dist/index.js CHANGED
@@ -69,6 +69,26 @@ class RendererSpeechSession {
69
69
  this.listeners.get(event)?.forEach((l) => l(payload));
70
70
  }
71
71
  }
72
+ function createRendererSpeechSession(sessionId) {
73
+ const session = new RendererSpeechSession(sessionId);
74
+ return {
75
+ on(event, listener) {
76
+ return session.on(event, listener);
77
+ },
78
+ start(options) {
79
+ return session.start(options);
80
+ },
81
+ stop() {
82
+ return session.stop();
83
+ },
84
+ abort() {
85
+ return session.abort();
86
+ },
87
+ dispose() {
88
+ return session.dispose();
89
+ },
90
+ };
91
+ }
72
92
  /**
73
93
  * Call this in your Electron preload script to expose the speech API
74
94
  * to the renderer under `window.electronSpeech`.
@@ -84,7 +104,7 @@ function exposeElectronSpeech(key = "electronSpeech") {
84
104
  },
85
105
  createSpeechSession() {
86
106
  const sessionId = `session-${Date.now()}-${++sessionCounter}`;
87
- return new RendererSpeechSession(sessionId);
107
+ return createRendererSpeechSession(sessionId);
88
108
  },
89
109
  };
90
110
  electron_1.contextBridge.exposeInMainWorld(key, api);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ type UsageDescriptionKind = "speech" | "microphone";
2
+ export declare function getMissingUsageDescriptionMessage(kind: UsageDescriptionKind): string | null;
3
+ export {};
4
+ //# sourceMappingURL=macos-usage-descriptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macos-usage-descriptions.d.ts","sourceRoot":"","sources":["../src/macos-usage-descriptions.ts"],"names":[],"mappings":"AAIA,KAAK,oBAAoB,GAAG,QAAQ,GAAG,YAAY,CAAA;AAOnD,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,oBAAoB,GAAG,MAAM,GAAG,IAAI,CAsB3F"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getMissingUsageDescriptionMessage = getMissingUsageDescriptionMessage;
37
+ const child_process_1 = require("child_process");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const USAGE_DESCRIPTION_KEYS = {
41
+ speech: "NSSpeechRecognitionUsageDescription",
42
+ microphone: "NSMicrophoneUsageDescription",
43
+ };
44
+ function getMissingUsageDescriptionMessage(kind) {
45
+ if (process.platform !== "darwin")
46
+ return null;
47
+ const infoPlistPath = path.resolve(process.execPath, "..", "..", "Info.plist");
48
+ if (!fs.existsSync(infoPlistPath))
49
+ return null;
50
+ const key = USAGE_DESCRIPTION_KEYS[kind];
51
+ try {
52
+ const value = (0, child_process_1.execFileSync)("/usr/bin/plutil", ["-extract", key, "raw", "-o", "-", infoPlistPath], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
53
+ if (value)
54
+ return null;
55
+ }
56
+ catch {
57
+ // Missing key or unreadable plist: surface a single actionable message below.
58
+ }
59
+ const feature = kind === "speech" ? "speech recognition" : "microphone access";
60
+ return `Missing ${key} in ${infoPlistPath}. macOS can abort ${feature} permission requests without this key. Add it to your app's Info.plist and restart the app.`;
61
+ }
62
+ //# sourceMappingURL=macos-usage-descriptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"macos-usage-descriptions.js","sourceRoot":"","sources":["../src/macos-usage-descriptions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,8EAsBC;AAjCD,iDAA4C;AAC5C,uCAAwB;AACxB,2CAA4B;AAI5B,MAAM,sBAAsB,GAAyC;IACnE,MAAM,EAAE,qCAAqC;IAC7C,UAAU,EAAE,8BAA8B;CAC3C,CAAA;AAED,SAAgB,iCAAiC,CAAC,IAA0B;IAC1E,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAE9C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,CAAA;IAC9E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9C,MAAM,GAAG,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,4BAAY,EACxB,iBAAiB,EACjB,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAC1D,CAAC,IAAI,EAAE,CAAA;QAER,IAAI,KAAK;YAAE,OAAO,IAAI,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,8EAA8E;IAChF,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,CAAA;IAC9E,OAAO,WAAW,GAAG,OAAO,aAAa,qBAAqB,OAAO,6FAA6F,CAAA;AACpK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main-handlers.d.ts","sourceRoot":"","sources":["../src/main-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AASpD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,IAAI,CAuD7F"}
1
+ {"version":3,"file":"main-handlers.d.ts","sourceRoot":"","sources":["../src/main-handlers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAUpD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAG,MAAM,IAAI,CAwE7F"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.registerSpeechHandlers = registerSpeechHandlers;
19
19
  const electron_native_speech_1 = require("electron-native-speech");
20
20
  const index_1 = require("./index");
21
+ const macos_usage_descriptions_1 = require("./macos-usage-descriptions");
21
22
  function registerSpeechHandlers(ipcMain, webContents) {
22
23
  const sessions = new Map();
23
24
  const forwardEvent = (sessionId, type, payload) => {
@@ -26,8 +27,22 @@ function registerSpeechHandlers(ipcMain, webContents) {
26
27
  }
27
28
  };
28
29
  ipcMain.handle(index_1.IPC_CHANNELS.GET_AVAILABILITY, () => (0, electron_native_speech_1.getSpeechAvailability)());
29
- ipcMain.handle(index_1.IPC_CHANNELS.TRANSCRIBE_FILE, (_e, options) => (0, electron_native_speech_1.transcribeFile)(options));
30
+ ipcMain.handle(index_1.IPC_CHANNELS.TRANSCRIBE_FILE, (_e, options) => {
31
+ const speechUsageIssue = (0, macos_usage_descriptions_1.getMissingUsageDescriptionMessage)("speech");
32
+ if (speechUsageIssue) {
33
+ throw new Error(speechUsageIssue);
34
+ }
35
+ return (0, electron_native_speech_1.transcribeFile)(options);
36
+ });
30
37
  ipcMain.handle(index_1.IPC_CHANNELS.SESSION_START, async (_e, sessionId, options) => {
38
+ const speechUsageIssue = (0, macos_usage_descriptions_1.getMissingUsageDescriptionMessage)("speech");
39
+ if (speechUsageIssue) {
40
+ throw new Error(speechUsageIssue);
41
+ }
42
+ const microphoneUsageIssue = (0, macos_usage_descriptions_1.getMissingUsageDescriptionMessage)("microphone");
43
+ if (microphoneUsageIssue) {
44
+ throw new Error(microphoneUsageIssue);
45
+ }
31
46
  let session = sessions.get(sessionId);
32
47
  if (!session) {
33
48
  session = await (0, electron_native_speech_1.createSpeechSession)();
@@ -1 +1 @@
1
- {"version":3,"file":"main-handlers.js","sourceRoot":"","sources":["../src/main-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main-handlers.js","sourceRoot":"","sources":["../src/main-handlers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "electron-native-speech-preload",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Electron preload bridge for electron-native-speech",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",