whisper.rn 0.5.0-rc.1 → 0.5.0-rc.10
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 +128 -50
- package/android/src/main/CMakeLists.txt +1 -0
- package/android/src/main/java/com/rnwhisper/RNWhisper.java +35 -0
- package/android/src/main/java/com/rnwhisper/WhisperContext.java +33 -0
- package/android/src/main/jni.cpp +81 -0
- package/android/src/newarch/java/com/rnwhisper/RNWhisperModule.java +5 -0
- package/android/src/oldarch/java/com/rnwhisper/RNWhisperModule.java +5 -0
- package/cpp/jsi/RNWhisperJSI.cpp +42 -6
- package/ios/RNWhisper.mm +11 -0
- package/ios/RNWhisperContext.h +1 -0
- package/ios/RNWhisperContext.mm +46 -0
- package/ios/rnwhisper.xcframework/ios-arm64/rnwhisper.framework/Info.plist +0 -0
- package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/Info.plist +0 -0
- package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/_CodeSignature/CodeResources +1 -1
- package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/rnwhisper +0 -0
- package/ios/rnwhisper.xcframework/tvos-arm64/rnwhisper.framework/Info.plist +0 -0
- package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/Info.plist +0 -0
- package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/_CodeSignature/CodeResources +1 -1
- package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/rnwhisper +0 -0
- package/lib/commonjs/AudioSessionIos.js +2 -1
- package/lib/commonjs/AudioSessionIos.js.map +1 -1
- package/lib/commonjs/NativeRNWhisper.js.map +1 -1
- package/lib/commonjs/index.js +50 -10
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/jest-mock.js +126 -0
- package/lib/commonjs/jest-mock.js.map +1 -0
- package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js +857 -0
- package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js.map +1 -0
- package/lib/commonjs/realtime-transcription/SliceManager.js +233 -0
- package/lib/commonjs/realtime-transcription/SliceManager.js.map +1 -0
- package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js +133 -0
- package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
- package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js +201 -0
- package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
- package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +309 -0
- package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
- package/lib/commonjs/realtime-transcription/index.js +27 -0
- package/lib/commonjs/realtime-transcription/index.js.map +1 -0
- package/lib/commonjs/realtime-transcription/types.js +114 -0
- package/lib/commonjs/realtime-transcription/types.js.map +1 -0
- package/lib/commonjs/utils/WavFileReader.js +158 -0
- package/lib/commonjs/utils/WavFileReader.js.map +1 -0
- package/lib/commonjs/utils/WavFileWriter.js +181 -0
- package/lib/commonjs/utils/WavFileWriter.js.map +1 -0
- package/lib/commonjs/utils/common.js +25 -0
- package/lib/commonjs/utils/common.js.map +1 -0
- package/lib/module/AudioSessionIos.js +2 -1
- package/lib/module/AudioSessionIos.js.map +1 -1
- package/lib/module/NativeRNWhisper.js.map +1 -1
- package/lib/module/index.js +48 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/jest-mock.js +124 -0
- package/lib/module/jest-mock.js.map +1 -0
- package/lib/module/realtime-transcription/RealtimeTranscriber.js +851 -0
- package/lib/module/realtime-transcription/RealtimeTranscriber.js.map +1 -0
- package/lib/module/realtime-transcription/SliceManager.js +226 -0
- package/lib/module/realtime-transcription/SliceManager.js.map +1 -0
- package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js +124 -0
- package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
- package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js +194 -0
- package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
- package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +302 -0
- package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
- package/lib/module/realtime-transcription/index.js +8 -0
- package/lib/module/realtime-transcription/index.js.map +1 -0
- package/lib/module/realtime-transcription/types.js +107 -0
- package/lib/module/realtime-transcription/types.js.map +1 -0
- package/lib/module/utils/WavFileReader.js +151 -0
- package/lib/module/utils/WavFileReader.js.map +1 -0
- package/lib/module/utils/WavFileWriter.js +174 -0
- package/lib/module/utils/WavFileWriter.js.map +1 -0
- package/lib/module/utils/common.js +18 -0
- package/lib/module/utils/common.js.map +1 -0
- package/lib/typescript/AudioSessionIos.d.ts +1 -1
- package/lib/typescript/AudioSessionIos.d.ts.map +1 -1
- package/lib/typescript/NativeRNWhisper.d.ts +1 -0
- package/lib/typescript/NativeRNWhisper.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +8 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/jest-mock.d.ts +2 -0
- package/lib/typescript/jest-mock.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts +166 -0
- package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/SliceManager.d.ts +72 -0
- package/lib/typescript/realtime-transcription/SliceManager.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts +22 -0
- package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts +44 -0
- package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts +75 -0
- package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/index.d.ts +6 -0
- package/lib/typescript/realtime-transcription/index.d.ts.map +1 -0
- package/lib/typescript/realtime-transcription/types.d.ts +222 -0
- package/lib/typescript/realtime-transcription/types.d.ts.map +1 -0
- package/lib/typescript/utils/WavFileReader.d.ts +61 -0
- package/lib/typescript/utils/WavFileReader.d.ts.map +1 -0
- package/lib/typescript/utils/WavFileWriter.d.ts +57 -0
- package/lib/typescript/utils/WavFileWriter.d.ts.map +1 -0
- package/lib/typescript/utils/common.d.ts +9 -0
- package/lib/typescript/utils/common.d.ts.map +1 -0
- package/package.json +18 -6
- package/src/AudioSessionIos.ts +3 -2
- package/src/NativeRNWhisper.ts +2 -0
- package/src/index.ts +74 -22
- package/{jest/mock.js → src/jest-mock.ts} +2 -2
- package/src/realtime-transcription/RealtimeTranscriber.ts +1015 -0
- package/src/realtime-transcription/SliceManager.ts +252 -0
- package/src/realtime-transcription/adapters/AudioPcmStreamAdapter.ts +143 -0
- package/src/realtime-transcription/adapters/JestAudioStreamAdapter.ts +251 -0
- package/src/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.ts +378 -0
- package/src/realtime-transcription/index.ts +34 -0
- package/src/realtime-transcription/types.ts +283 -0
- package/src/utils/WavFileReader.ts +202 -0
- package/src/utils/WavFileWriter.ts +206 -0
- package/src/utils/common.ts +17 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.WavFileWriter = void 0;
|
|
7
|
+
var _common = require("./common");
|
|
8
|
+
class WavFileWriter {
|
|
9
|
+
dataSize = 0;
|
|
10
|
+
isWriting = false;
|
|
11
|
+
writeQueue = [];
|
|
12
|
+
constructor(fs, filePath, config) {
|
|
13
|
+
this.fs = fs;
|
|
14
|
+
this.filePath = filePath;
|
|
15
|
+
this.config = config;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Initialize the WAV file with headers
|
|
20
|
+
*/
|
|
21
|
+
async initialize() {
|
|
22
|
+
if (this.isWriting) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
// Create the initial WAV header (we'll update the size later)
|
|
27
|
+
const header = this.createWavHeader(0);
|
|
28
|
+
await this.fs.writeFile(this.filePath, (0, _common.uint8ArrayToBase64)(header), 'base64');
|
|
29
|
+
this.dataSize = 0;
|
|
30
|
+
this.isWriting = true;
|
|
31
|
+
this.writeQueue = [];
|
|
32
|
+
} catch (error) {
|
|
33
|
+
throw new Error(`Failed to initialize WAV file: ${error}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Append PCM audio data to the WAV file
|
|
39
|
+
*/
|
|
40
|
+
async appendAudioData(audioData) {
|
|
41
|
+
if (!this.isWriting) {
|
|
42
|
+
throw new Error('WAV file not initialized');
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
// Queue the data for writing
|
|
46
|
+
this.writeQueue.push(audioData);
|
|
47
|
+
|
|
48
|
+
// Process the write queue
|
|
49
|
+
await this.processWriteQueue();
|
|
50
|
+
} catch (error) {
|
|
51
|
+
console.warn(`Failed to append audio data to WAV file: ${error}`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Process the write queue to avoid blocking
|
|
57
|
+
*/
|
|
58
|
+
async processWriteQueue() {
|
|
59
|
+
if (this.writeQueue.length === 0) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
try {
|
|
63
|
+
// Combine all queued data
|
|
64
|
+
const totalLength = this.writeQueue.reduce((sum, data) => sum + data.length, 0);
|
|
65
|
+
const combinedData = new Uint8Array(totalLength);
|
|
66
|
+
let offset = 0;
|
|
67
|
+
this.writeQueue.forEach(data => {
|
|
68
|
+
combinedData.set(new Uint8Array(data), offset);
|
|
69
|
+
offset += data.length;
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
// Append to file
|
|
73
|
+
const base64Data = (0, _common.uint8ArrayToBase64)(combinedData);
|
|
74
|
+
await this.fs.appendFile(this.filePath, base64Data, 'base64');
|
|
75
|
+
|
|
76
|
+
// Update data size
|
|
77
|
+
this.dataSize += combinedData.length;
|
|
78
|
+
|
|
79
|
+
// Clear the queue
|
|
80
|
+
this.writeQueue = [];
|
|
81
|
+
} catch (error) {
|
|
82
|
+
console.warn(`Failed to process WAV write queue: ${error}`);
|
|
83
|
+
// Don't throw here to avoid breaking the recording
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Finalize the WAV file by updating the header with correct sizes
|
|
89
|
+
*/
|
|
90
|
+
async finalize() {
|
|
91
|
+
if (!this.isWriting) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
// Process any remaining queued data
|
|
96
|
+
await this.processWriteQueue();
|
|
97
|
+
|
|
98
|
+
// Read the current file
|
|
99
|
+
const currentData = await this.fs.readFile(this.filePath, 'base64');
|
|
100
|
+
const currentBytes = (0, _common.base64ToUint8Array)(currentData);
|
|
101
|
+
|
|
102
|
+
// Create the correct header with final data size
|
|
103
|
+
const correctHeader = this.createWavHeader(this.dataSize);
|
|
104
|
+
|
|
105
|
+
// Replace the header (first 44 bytes)
|
|
106
|
+
const finalData = new Uint8Array(correctHeader.length + this.dataSize);
|
|
107
|
+
finalData.set(correctHeader, 0);
|
|
108
|
+
finalData.set(currentBytes.slice(44), 44); // Skip old header
|
|
109
|
+
|
|
110
|
+
// Write the final file
|
|
111
|
+
const finalBase64 = (0, _common.uint8ArrayToBase64)(finalData);
|
|
112
|
+
await this.fs.writeFile(this.filePath, finalBase64, 'base64');
|
|
113
|
+
this.isWriting = false;
|
|
114
|
+
} catch (error) {
|
|
115
|
+
console.warn(`Failed to finalize WAV file: ${error}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Create WAV file header
|
|
121
|
+
*/
|
|
122
|
+
createWavHeader(dataSize) {
|
|
123
|
+
const header = new ArrayBuffer(44);
|
|
124
|
+
const view = new DataView(header);
|
|
125
|
+
|
|
126
|
+
// RIFF header
|
|
127
|
+
view.setUint32(0, 0x52494646, false); // "RIFF"
|
|
128
|
+
view.setUint32(4, 36 + dataSize, true); // File size - 8
|
|
129
|
+
view.setUint32(8, 0x57415645, false); // "WAVE"
|
|
130
|
+
|
|
131
|
+
// Format chunk
|
|
132
|
+
view.setUint32(12, 0x666d7420, false); // "fmt "
|
|
133
|
+
view.setUint32(16, 16, true); // Chunk size
|
|
134
|
+
view.setUint16(20, 1, true); // Audio format (PCM)
|
|
135
|
+
view.setUint16(22, this.config.channels, true); // Number of channels
|
|
136
|
+
view.setUint32(24, this.config.sampleRate, true); // Sample rate
|
|
137
|
+
view.setUint32(28, this.config.sampleRate * this.config.channels * (this.config.bitsPerSample / 8), true); // Byte rate
|
|
138
|
+
view.setUint16(32, this.config.channels * (this.config.bitsPerSample / 8), true); // Block align
|
|
139
|
+
view.setUint16(34, this.config.bitsPerSample, true); // Bits per sample
|
|
140
|
+
|
|
141
|
+
// Data chunk
|
|
142
|
+
view.setUint32(36, 0x64617461, false); // "data"
|
|
143
|
+
view.setUint32(40, dataSize, true); // Data size
|
|
144
|
+
|
|
145
|
+
return new Uint8Array(header);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Cancel writing and cleanup
|
|
150
|
+
*/
|
|
151
|
+
async cancel() {
|
|
152
|
+
this.isWriting = false;
|
|
153
|
+
this.writeQueue = [];
|
|
154
|
+
try {
|
|
155
|
+
// Delete the incomplete file
|
|
156
|
+
const exists = await this.fs.exists(this.filePath);
|
|
157
|
+
if (exists) {
|
|
158
|
+
await this.fs.unlink(this.filePath);
|
|
159
|
+
}
|
|
160
|
+
} catch (error) {
|
|
161
|
+
console.warn(`Failed to cleanup WAV file: ${error}`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Get current file statistics
|
|
167
|
+
*/
|
|
168
|
+
getStatistics() {
|
|
169
|
+
const durationSec = this.dataSize / (this.config.sampleRate * this.config.channels * (this.config.bitsPerSample / 8));
|
|
170
|
+
return {
|
|
171
|
+
filePath: this.filePath,
|
|
172
|
+
dataSize: this.dataSize,
|
|
173
|
+
durationSec,
|
|
174
|
+
isWriting: this.isWriting,
|
|
175
|
+
queuedChunks: this.writeQueue.length,
|
|
176
|
+
estimatedFileSizeMB: (44 + this.dataSize) / (1024 * 1024)
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
exports.WavFileWriter = WavFileWriter;
|
|
181
|
+
//# sourceMappingURL=WavFileWriter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_common","require","WavFileWriter","dataSize","isWriting","writeQueue","constructor","fs","filePath","config","initialize","header","createWavHeader","writeFile","uint8ArrayToBase64","error","Error","appendAudioData","audioData","push","processWriteQueue","console","warn","length","totalLength","reduce","sum","data","combinedData","Uint8Array","offset","forEach","set","base64Data","appendFile","finalize","currentData","readFile","currentBytes","base64ToUint8Array","correctHeader","finalData","slice","finalBase64","ArrayBuffer","view","DataView","setUint32","setUint16","channels","sampleRate","bitsPerSample","cancel","exists","unlink","getStatistics","durationSec","queuedChunks","estimatedFileSizeMB","exports"],"sourceRoot":"../../../src","sources":["utils/WavFileWriter.ts"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.base64ToUint8Array = base64ToUint8Array;
|
|
7
|
+
exports.uint8ArrayToBase64 = uint8ArrayToBase64;
|
|
8
|
+
const Buffer = global.Buffer || require('safe-buffer').Buffer;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Convert base64 string to Uint8Array
|
|
12
|
+
*/
|
|
13
|
+
function base64ToUint8Array(base64) {
|
|
14
|
+
const buffer = Buffer.from(base64, 'base64');
|
|
15
|
+
return new Uint8Array(buffer);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Convert Uint8Array to base64 string
|
|
20
|
+
*/
|
|
21
|
+
function uint8ArrayToBase64(buffer) {
|
|
22
|
+
const buf = Buffer.from(buffer);
|
|
23
|
+
return buf.toString('base64');
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Buffer","global","require","base64ToUint8Array","base64","buffer","from","Uint8Array","uint8ArrayToBase64","buf","toString"],"sourceRoot":"../../../src","sources":["utils/common.ts"],"mappings":";;;;;;;AAAA,MAAMA,MAAW,GAAGC,MAAM,CAACD,MAAM,IAAIE,OAAO,CAAC,aAAa,CAAC,CAACF,MAAM;;AAElE;AACA;AACA;AACO,SAASG,kBAAkBA,CAACC,MAAc,EAAc;EAC7D,MAAMC,MAAM,GAAGL,MAAM,CAACM,IAAI,CAACF,MAAM,EAAE,QAAQ,CAAC;EAC5C,OAAO,IAAIG,UAAU,CAACF,MAAM,CAAC;AAC/B;;AAEA;AACA;AACA;AACO,SAASG,kBAAkBA,CAACH,MAAkB,EAAU;EAC7D,MAAMI,GAAG,GAAGT,MAAM,CAACM,IAAI,CAACD,MAAM,CAAC;EAC/B,OAAOI,GAAG,CAACC,QAAQ,CAAC,QAAQ,CAAC;AAC/B"}
|
|
@@ -44,10 +44,11 @@ export let AudioSessionModeIos;
|
|
|
44
44
|
})(AudioSessionModeIos || (AudioSessionModeIos = {}));
|
|
45
45
|
const checkPlatform = () => {
|
|
46
46
|
if (Platform.OS !== 'ios') throw new Error('Only supported on iOS');
|
|
47
|
+
console.warn('AudioSessionIos is deprecated. To use whisper.rn for realtime transcription, use the new RealtimeTranscriber instead.');
|
|
47
48
|
};
|
|
48
49
|
|
|
49
50
|
/**
|
|
50
|
-
* AudioSession Utility, iOS only.
|
|
51
|
+
* [Deprecated] AudioSession Utility, iOS only.
|
|
51
52
|
*/
|
|
52
53
|
export default {
|
|
53
54
|
Category: AudioSessionCategoryIos,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","RNWhisper","AudioSessionCategoryIos","AudioSessionCategoryOptionIos","AudioSessionModeIos","checkPlatform","OS","Error","Category","CategoryOption","Mode","getCurrentCategory","_result$options","result","getAudioSessionCurrentCategory","category","replace","options","map","option","getCurrentMode","mode","getAudioSessionCurrentMode","setCategory","setAudioSessionCategory","setMode","setAudioSessionMode","setActive","active","setAudioSessionActive"],"sourceRoot":"../../src","sources":["AudioSessionIos.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,SAAS,MAAM,mBAAmB;;AAEzC;AACA;AACA;AACA,WAAYC,uBAAuB;;AASnC;AACA;AACA;AAFA,WATYA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAvBA,uBAAuB;AAYnC,WAAYC,6BAA6B;;AAUzC;AACA;AACA;AAFA,WAVYA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;AAAA,GAA7BA,6BAA6B,KAA7BA,6BAA6B;AAazC,WAAYC,mBAAmB;AAS9B,WATWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAW/B,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"names":["Platform","RNWhisper","AudioSessionCategoryIos","AudioSessionCategoryOptionIos","AudioSessionModeIos","checkPlatform","OS","Error","console","warn","Category","CategoryOption","Mode","getCurrentCategory","_result$options","result","getAudioSessionCurrentCategory","category","replace","options","map","option","getCurrentMode","mode","getAudioSessionCurrentMode","setCategory","setAudioSessionCategory","setMode","setAudioSessionMode","setActive","active","setAudioSessionActive"],"sourceRoot":"../../src","sources":["AudioSessionIos.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,OAAOC,SAAS,MAAM,mBAAmB;;AAEzC;AACA;AACA;AACA,WAAYC,uBAAuB;;AASnC;AACA;AACA;AAFA,WATYA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;AAAA,GAAvBA,uBAAuB,KAAvBA,uBAAuB;AAYnC,WAAYC,6BAA6B;;AAUzC;AACA;AACA;AAFA,WAVYA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;EAA7BA,6BAA6B;AAAA,GAA7BA,6BAA6B,KAA7BA,6BAA6B;AAazC,WAAYC,mBAAmB;AAS9B,WATWA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;EAAnBA,mBAAmB;AAAA,GAAnBA,mBAAmB,KAAnBA,mBAAmB;AAW/B,MAAMC,aAAa,GAAGA,CAAA,KAAM;EAC1B,IAAIL,QAAQ,CAACM,EAAE,KAAK,KAAK,EAAE,MAAM,IAAIC,KAAK,CAAC,uBAAuB,CAAC;EACnEC,OAAO,CAACC,IAAI,CAAC,uHAAuH,CAAC;AACvI,CAAC;;AAED;AACA;AACA;AACA,eAAe;EACbC,QAAQ,EAAER,uBAAuB;EACjCS,cAAc,EAAER,6BAA6B;EAC7CS,IAAI,EAAER,mBAAmB;EAEzBS,kBAAkB,EAAE,MAAAA,CAAA,KAGd;IAAA,IAAAC,eAAA;IACJT,aAAa,EAAE;IACf,MAAMU,MAAM,GAAG,MAAMd,SAAS,CAACe,8BAA8B,EAAE;IAC/D,OAAO;MACLC,QAAQ,EAAGF,MAAM,CAACE,QAAQ,CAACC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAA6B;MAC5FC,OAAO,GAAAL,eAAA,GAAEC,MAAM,CAACI,OAAO,cAAAL,eAAA,uBAAdA,eAAA,CAAgBM,GAAG,CAAEC,MAAc,IAAMA,MAAM,CAACH,OAAO,CAAC,8BAA8B,EAAE,EAAE,CAAmC;IACxI,CAAC;EACH,CAAC;EAEDI,cAAc,EAAE,MAAAA,CAAA,KAA0C;IACxDjB,aAAa,EAAE;IACf,MAAMkB,IAAI,GAAG,MAAMtB,SAAS,CAACuB,0BAA0B,EAAE;IACzD,OAAQD,IAAI,CAACL,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;EAChD,CAAC;EAEDO,WAAW,EAAE,MAAAA,CACXR,QAAiC,EACjCE,OAAwC,KACtB;IAClBd,aAAa,EAAE;IACf,MAAMJ,SAAS,CAACyB,uBAAuB,CAACT,QAAQ,EAAEE,OAAO,CAAC;EAC5D,CAAC;EAEDQ,OAAO,EAAE,MAAOJ,IAAyB,IAAoB;IAC3DlB,aAAa,EAAE;IACf,MAAMJ,SAAS,CAAC2B,mBAAmB,CAACL,IAAI,CAAC;EAC3C,CAAC;EAEDM,SAAS,EAAE,MAAOC,MAAe,IAAoB;IACnDzB,aAAa,EAAE;IACf,MAAMJ,SAAS,CAAC8B,qBAAqB,CAACD,MAAM,CAAC;EAC/C;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeRNWhisper.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;;AA4JA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,WAAW,CAAC"}
|
package/lib/module/index.js
CHANGED
|
@@ -5,14 +5,19 @@ import AudioSessionIos from './AudioSessionIos';
|
|
|
5
5
|
import { version } from './version.json';
|
|
6
6
|
let jsiWhisperTranscribeData;
|
|
7
7
|
let jsiWhisperVadDetectSpeech;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
let jsiInstalled = false;
|
|
9
|
+
const installJSIBindingsIfNeeded = async () => {
|
|
10
|
+
if (jsiInstalled) return;
|
|
11
|
+
jsiInstalled = true;
|
|
12
|
+
return RNWhisper.installJSIBindings().then(() => {
|
|
13
|
+
jsiWhisperTranscribeData = global.whisperTranscribeData;
|
|
14
|
+
delete global.whisperTranscribeData;
|
|
15
|
+
jsiWhisperVadDetectSpeech = global.whisperVadDetectSpeech;
|
|
16
|
+
delete global.whisperVadDetectSpeech;
|
|
17
|
+
}).catch(e => {
|
|
18
|
+
console.warn('Failed to install JSI bindings', e);
|
|
19
|
+
});
|
|
20
|
+
};
|
|
16
21
|
let EventEmitter;
|
|
17
22
|
if (Platform.OS === 'ios') {
|
|
18
23
|
// @ts-ignore
|
|
@@ -23,8 +28,20 @@ if (Platform.OS === 'android') {
|
|
|
23
28
|
}
|
|
24
29
|
const EVENT_ON_TRANSCRIBE_PROGRESS = '@RNWhisper_onTranscribeProgress';
|
|
25
30
|
const EVENT_ON_TRANSCRIBE_NEW_SEGMENTS = '@RNWhisper_onTranscribeNewSegments';
|
|
31
|
+
const EVENT_ON_NATIVE_LOG = '@RNWhisper_onNativeLog';
|
|
26
32
|
const EVENT_ON_REALTIME_TRANSCRIBE = '@RNWhisper_onRealtimeTranscribe';
|
|
27
33
|
const EVENT_ON_REALTIME_TRANSCRIBE_END = '@RNWhisper_onRealtimeTranscribeEnd';
|
|
34
|
+
const logListeners = [];
|
|
35
|
+
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
if (EventEmitter) {
|
|
38
|
+
var _RNWhisper$toggleNati, _RNWhisper$toggleNati2, _RNWhisper$toggleNati3;
|
|
39
|
+
EventEmitter.addListener(EVENT_ON_NATIVE_LOG, evt => {
|
|
40
|
+
logListeners.forEach(listener => listener(evt.level, evt.text));
|
|
41
|
+
});
|
|
42
|
+
// Trigger unset to use default log callback
|
|
43
|
+
RNWhisper === null || RNWhisper === void 0 ? void 0 : (_RNWhisper$toggleNati = RNWhisper.toggleNativeLog) === null || _RNWhisper$toggleNati === void 0 ? void 0 : (_RNWhisper$toggleNati2 = _RNWhisper$toggleNati.call(RNWhisper, false)) === null || _RNWhisper$toggleNati2 === void 0 ? void 0 : (_RNWhisper$toggleNati3 = _RNWhisper$toggleNati2.catch) === null || _RNWhisper$toggleNati3 === void 0 ? void 0 : _RNWhisper$toggleNati3.call(_RNWhisper$toggleNati2, () => {});
|
|
44
|
+
}
|
|
28
45
|
const updateAudioSession = async setting => {
|
|
29
46
|
await AudioSessionIos.setCategory(setting.category, setting.options || []);
|
|
30
47
|
if (setting.mode) {
|
|
@@ -144,7 +161,7 @@ export class WhisperContext {
|
|
|
144
161
|
*/
|
|
145
162
|
transcribeData(data) {
|
|
146
163
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
147
|
-
if (data instanceof ArrayBuffer
|
|
164
|
+
if (data instanceof ArrayBuffer) {
|
|
148
165
|
// Use JSI function for ArrayBuffer
|
|
149
166
|
if (!jsiWhisperTranscribeData) {
|
|
150
167
|
throw new Error('JSI binding `whisperTranscribeData` not installed');
|
|
@@ -209,6 +226,7 @@ export class WhisperContext {
|
|
|
209
226
|
/** Transcribe the microphone audio stream, the microphone user permission is required */
|
|
210
227
|
async transcribeRealtime() {
|
|
211
228
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
229
|
+
console.warn('`transcribeRealtime` is deprecated, use `RealtimeTranscriber` instead');
|
|
212
230
|
let lastTranscribePayload;
|
|
213
231
|
const slices = [];
|
|
214
232
|
let sliceIndex = 0;
|
|
@@ -357,6 +375,7 @@ export async function initWhisper(_ref2) {
|
|
|
357
375
|
useCoreMLIos = true,
|
|
358
376
|
useFlashAttn = false
|
|
359
377
|
} = _ref2;
|
|
378
|
+
await installJSIBindingsIfNeeded();
|
|
360
379
|
let path = '';
|
|
361
380
|
let coreMLAssets;
|
|
362
381
|
if (coreMLModelAsset) {
|
|
@@ -424,6 +443,7 @@ export async function initWhisper(_ref2) {
|
|
|
424
443
|
});
|
|
425
444
|
}
|
|
426
445
|
export async function releaseAllWhisper() {
|
|
446
|
+
await installJSIBindingsIfNeeded();
|
|
427
447
|
return RNWhisper.releaseAllContexts();
|
|
428
448
|
}
|
|
429
449
|
|
|
@@ -494,7 +514,7 @@ export class WhisperVadContext {
|
|
|
494
514
|
*/
|
|
495
515
|
async detectSpeechData(audioData) {
|
|
496
516
|
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
497
|
-
if (audioData instanceof ArrayBuffer
|
|
517
|
+
if (audioData instanceof ArrayBuffer) {
|
|
498
518
|
// Use JSI function for ArrayBuffer
|
|
499
519
|
if (!jsiWhisperVadDetectSpeech) {
|
|
500
520
|
throw new Error('JSI binding `whisperVadDetectSpeech` not installed');
|
|
@@ -521,6 +541,7 @@ export async function initWhisperVad(_ref4) {
|
|
|
521
541
|
useGpu = true,
|
|
522
542
|
nThreads
|
|
523
543
|
} = _ref4;
|
|
544
|
+
await installJSIBindingsIfNeeded();
|
|
524
545
|
let path = '';
|
|
525
546
|
if (typeof filePath === 'number') {
|
|
526
547
|
try {
|
|
@@ -558,6 +579,23 @@ export async function initWhisperVad(_ref4) {
|
|
|
558
579
|
* @returns Promise resolving when all contexts are released
|
|
559
580
|
*/
|
|
560
581
|
export async function releaseAllWhisperVad() {
|
|
582
|
+
await installJSIBindingsIfNeeded();
|
|
561
583
|
return RNWhisper.releaseAllVadContexts();
|
|
562
584
|
}
|
|
585
|
+
let logInitialized = false;
|
|
586
|
+
export async function toggleNativeLog(enabled) {
|
|
587
|
+
if (!enabled && !logInitialized) return; // If first call is false, skip
|
|
588
|
+
|
|
589
|
+
logInitialized = true;
|
|
590
|
+
await installJSIBindingsIfNeeded();
|
|
591
|
+
return RNWhisper.toggleNativeLog(enabled);
|
|
592
|
+
}
|
|
593
|
+
export function addNativeLogListener(listener) {
|
|
594
|
+
logListeners.push(listener);
|
|
595
|
+
return {
|
|
596
|
+
remove: () => {
|
|
597
|
+
logListeners.splice(logListeners.indexOf(listener), 1);
|
|
598
|
+
}
|
|
599
|
+
};
|
|
600
|
+
}
|
|
563
601
|
//# sourceMappingURL=index.js.map
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","AudioSessionIos","version","jsiWhisperTranscribeData","jsiWhisperVadDetectSpeech","installJSIBindings","then","global","whisperTranscribeData","whisperVadDetectSpeech","catch","e","console","warn","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","updateAudioSession","setting","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","gpu","reasonNoGPU","constructor","_ref","contextPtr","contextId","ptr","id","transcribeWithNativeMethod","method","data","arguments","length","undefined","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","addListener","evt","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","isAborted","transcribe","filePathOrBase64","path","source","resolveAssetSource","uri","Error","startsWith","slice","transcribeData","ArrayBuffer","SharedArrayBuffer","transcribeDataArrayBuffer","jsiOptions","error","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","forEach","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","bench","maxThreads","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","JSON","parse","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref2","filePath","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","useFlashAttn","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","useCoreML","coreMLAllowFallback","_RNWhisper$getConstan","getConstants","call","isUseCoreML","isCoreMLAllowFallback","WhisperVadContext","_ref3","detectSpeech","vadDetectSpeech","vadDetectSpeechFile","detectSpeechData","audioData","releaseVadContext","initWhisperVad","_ref4","initVadContext","releaseAllWhisperVad","releaseAllVadContexts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Image","RNWhisper","AudioSessionIos","version","jsiWhisperTranscribeData","jsiWhisperVadDetectSpeech","jsiInstalled","installJSIBindingsIfNeeded","installJSIBindings","then","global","whisperTranscribeData","whisperVadDetectSpeech","catch","e","console","warn","EventEmitter","OS","EVENT_ON_TRANSCRIBE_PROGRESS","EVENT_ON_TRANSCRIBE_NEW_SEGMENTS","EVENT_ON_NATIVE_LOG","EVENT_ON_REALTIME_TRANSCRIBE","EVENT_ON_REALTIME_TRANSCRIBE_END","logListeners","_RNWhisper$toggleNati","_RNWhisper$toggleNati2","_RNWhisper$toggleNati3","addListener","evt","forEach","listener","level","text","toggleNativeLog","call","updateAudioSession","setting","setCategory","category","options","mode","setMode","setActive","active","WhisperContext","gpu","reasonNoGPU","constructor","_ref","contextPtr","contextId","ptr","id","transcribeWithNativeMethod","method","data","arguments","length","undefined","jobId","Math","floor","random","onProgress","onNewSegments","rest","progressListener","lastProgress","progress","removeProgressListener","remove","newSegmentsListener","result","removeNewSegmenetsListener","stop","abortTranscribe","promise","isAborted","transcribe","filePathOrBase64","path","source","resolveAssetSource","uri","Error","startsWith","slice","transcribeData","ArrayBuffer","transcribeDataArrayBuffer","jsiOptions","error","transcribeRealtime","lastTranscribePayload","slices","sliceIndex","tOffset","putSlice","payload","isUseSlices","_slices$sliceIndex","_segments","segments","t1","map","segment","t0","mergeSlicesIfNeeded","mergedPayload","_mergedPayload$data","_slice$data","_mergedPayload$data2","_slice$data2","processTime","recordingTime","prevAudioSession","audioSessionOnStartIos","audioSessionOnStopIos","categoryResult","getCurrentCategory","getCurrentMode","startRealtimeTranscribe","subscribe","callback","transcribeListener","endListener","lastPayload","isCapturing","bench","maxThreads","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","JSON","parse","release","releaseContext","coreMLModelAssetPaths","initWhisper","_ref2","filePath","coreMLModelAsset","isBundleAsset","useGpu","useCoreMLIos","useFlashAttn","coreMLAssets","filename","assets","asset","filepath","find","p","includes","filter","initContext","downloadCoreMLAssets","__DEV__","releaseAllWhisper","releaseAllContexts","libVersion","useCoreML","coreMLAllowFallback","_RNWhisper$getConstan","getConstants","isUseCoreML","isCoreMLAllowFallback","WhisperVadContext","_ref3","detectSpeech","vadDetectSpeech","vadDetectSpeechFile","detectSpeechData","audioData","releaseVadContext","initWhisperVad","_ref4","initVadContext","releaseAllWhisperVad","releaseAllVadContexts","logInitialized","enabled","addNativeLogListener","push","splice","indexOf"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";AAAA,SACEA,kBAAkB,EAClBC,kBAAkB,EAClBC,QAAQ,EAERC,KAAK,QACA,cAAc;AACrB,OAAOC,SAAS,MAGT,mBAAmB;AAQ1B,OAAOC,eAAe,MAAM,mBAAmB;AAM/C,SAASC,OAAO,QAAQ,gBAAgB;AAiBxC,IAAIC,wBAI0B;AAC9B,IAAIC,yBAIwD;AAE5D,IAAIC,YAAY,GAAG,KAAK;AAExB,MAAMC,0BAA0B,GAAG,MAAAA,CAAA,KAAY;EAC7C,IAAID,YAAY,EAAE;EAClBA,YAAY,GAAG,IAAI;EACnB,OAAOL,SAAS,CAACO,kBAAkB,EAAE,CAClCC,IAAI,CAAC,MAAM;IACVL,wBAAwB,GAAGM,MAAM,CAACC,qBAAqB;IACvD,OAAQD,MAAM,CAASC,qBAAqB;IAC5CN,yBAAyB,GAAGK,MAAM,CAACE,sBAAsB;IACzD,OAAQF,MAAM,CAASE,sBAAsB;EAC/C,CAAC,CAAC,CACDC,KAAK,CAAEC,CAAC,IAAK;IACZC,OAAO,CAACC,IAAI,CAAC,gCAAgC,EAAEF,CAAC,CAAC;EACnD,CAAC,CAAC;AACN,CAAC;AAED,IAAIG,YAA2D;AAC/D,IAAIlB,QAAQ,CAACmB,EAAE,KAAK,KAAK,EAAE;EACzB;EACAD,YAAY,GAAG,IAAIpB,kBAAkB,CAACI,SAAS,CAAC;AAClD;AACA,IAAIF,QAAQ,CAACmB,EAAE,KAAK,SAAS,EAAE;EAC7BD,YAAY,GAAGnB,kBAAkB;AACnC;AAYA,MAAMqB,4BAA4B,GAAG,iCAAiC;AACtE,MAAMC,gCAAgC,GAAG,oCAAoC;AAC7E,MAAMC,mBAAmB,GAAG,wBAAwB;AAEpD,MAAMC,4BAA4B,GAAG,iCAAiC;AACtE,MAAMC,gCAAgC,GAAG,oCAAoC;AAE7E,MAAMC,YAA0D,GAAG,EAAE;;AAErE;AACA,IAAIP,YAAY,EAAE;EAAA,IAAAQ,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAChBV,YAAY,CAACW,WAAW,CACtBP,mBAAmB,EAClBQ,GAAoC,IAAK;IACxCL,YAAY,CAACM,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACF,GAAG,CAACG,KAAK,EAAEH,GAAG,CAACI,IAAI,CAAC,CAAC;EACnE,CAAC,CACF;EACD;EACAhC,SAAS,aAATA,SAAS,wBAAAwB,qBAAA,GAATxB,SAAS,CAAEiC,eAAe,cAAAT,qBAAA,wBAAAC,sBAAA,GAA1BD,qBAAA,CAAAU,IAAA,CAAAlC,SAAS,EAAoB,KAAK,CAAC,cAAAyB,sBAAA,wBAAAC,sBAAA,GAAnCD,sBAAA,CAAqCb,KAAK,cAAAc,sBAAA,uBAA1CA,sBAAA,CAAAQ,IAAA,CAAAT,sBAAA,EAA6C,MAAM,CAAC,CAAC,CAAC;AACxD;AA+IA,MAAMU,kBAAkB,GAAG,MAAOC,OAA+B,IAAK;EACpE,MAAMnC,eAAe,CAACoC,WAAW,CAACD,OAAO,CAACE,QAAQ,EAAEF,OAAO,CAACG,OAAO,IAAI,EAAE,CAAC;EAC1E,IAAIH,OAAO,CAACI,IAAI,EAAE;IAChB,MAAMvC,eAAe,CAACwC,OAAO,CAACL,OAAO,CAACI,IAAI,CAAC;EAC7C;EACA,MAAMvC,eAAe,CAACyC,SAAS,CAACN,OAAO,CAACO,MAAM,IAAI,IAAI,CAAC;AACzD,CAAC;AAED,OAAO,MAAMC,cAAc,CAAC;EAK1BC,GAAG,GAAY,KAAK;EAEpBC,WAAW,GAAW,EAAE;EAExBC,WAAWA,CAAAC,IAAA,EAKc;IAAA,IALb;MACVC,UAAU;MACVC,SAAS;MACTL,GAAG;MACHC;IACoB,CAAC,GAAAE,IAAA;IACrB,IAAI,CAACG,GAAG,GAAGF,UAAU;IACrB,IAAI,CAACG,EAAE,GAAGF,SAAS;IACnB,IAAI,CAACL,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,WAAW,GAAGA,WAAW;EAChC;EAEQO,0BAA0BA,CAChCC,MAA2C,EAC3CC,IAAY,EAKZ;IAAA,IAJAhB,OAA8B,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAKnC,MAAMG,KAAa,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,KAAK,CAAC;IAEvD,MAAM;MAAEC,UAAU;MAAEC,aAAa;MAAE,GAAGC;IAAK,CAAC,GAAG1B,OAAO;IAEtD,IAAI2B,gBAAqB;IACzB,IAAIC,YAAoB,GAAG,CAAC;IAC5B,IAAIJ,UAAU,EAAE;MACdG,gBAAgB,GAAGlD,YAAY,CAACW,WAAW,CACzCT,4BAA4B,EAC3BU,GAAkC,IAAK;QACtC,MAAM;UAAEsB,SAAS;UAAEkB;QAAS,CAAC,GAAGxC,GAAG;QACnC,IAAIsB,SAAS,KAAK,IAAI,CAACE,EAAE,IAAIxB,GAAG,CAAC+B,KAAK,KAAKA,KAAK,EAAE;QAClDQ,YAAY,GAAGC,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAGA,QAAQ;QAC9CL,UAAU,CAACI,YAAY,CAAC;MAC1B,CAAC,CACF;IACH;IACA,MAAME,sBAAsB,GAAGA,CAAA,KAAM;MACnC,IAAIH,gBAAgB,EAAE;QACpBA,gBAAgB,CAACI,MAAM,EAAE;QACzBJ,gBAAgB,GAAG,IAAI;MACzB;IACF,CAAC;IAED,IAAIK,mBAAwB;IAC5B,IAAIP,aAAa,EAAE;MACjBO,mBAAmB,GAAGvD,YAAY,CAACW,WAAW,CAC5CR,gCAAgC,EAC/BS,GAAqC,IAAK;QACzC,MAAM;UAAEsB,SAAS;UAAEsB;QAAO,CAAC,GAAG5C,GAAG;QACjC,IAAIsB,SAAS,KAAK,IAAI,CAACE,EAAE,IAAIxB,GAAG,CAAC+B,KAAK,KAAKA,KAAK,EAAE;QAClDK,aAAa,CAACQ,MAAM,CAAC;MACvB,CAAC,CACF;IACH;IACA,MAAMC,0BAA0B,GAAGA,CAAA,KAAM;MACvC,IAAIF,mBAAmB,EAAE;QACvBA,mBAAmB,CAACD,MAAM,EAAE;QAC5BC,mBAAmB,GAAG,IAAI;MAC5B;IACF,CAAC;IAED,OAAO;MACLG,IAAI,EAAE,MAAAA,CAAA,KAAY;QAChB,MAAM1E,SAAS,CAAC2E,eAAe,CAAC,IAAI,CAACvB,EAAE,EAAEO,KAAK,CAAC;QAC/CU,sBAAsB,EAAE;QACxBI,0BAA0B,EAAE;MAC9B,CAAC;MACDG,OAAO,EAAE5E,SAAS,CAACsD,MAAM,CAAC,CAAC,IAAI,CAACF,EAAE,EAAEO,KAAK,EAAEJ,IAAI,EAAE;QAC/C,GAAGU,IAAI;QACPF,UAAU,EAAE,CAAC,CAACA,UAAU;QACxBC,aAAa,EAAE,CAAC,CAACA;MACnB,CAAC,CAAC,CACCxD,IAAI,CAAEgE,MAAM,IAAK;QAChBH,sBAAsB,EAAE;QACxBI,0BAA0B,EAAE;QAC5B,IAAI,CAACD,MAAM,CAACK,SAAS,IAAIV,YAAY,KAAK,GAAG,EAAE;UAC7C;UACAJ,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAG,GAAG,CAAC;QACnB;QACA,OAAOS,MAAM;MACf,CAAC,CAAC,CACD5D,KAAK,CAAEC,CAAC,IAAK;QACZwD,sBAAsB,EAAE;QACxBI,0BAA0B,EAAE;QAC5B,MAAM5D,CAAC;MACT,CAAC;IACL,CAAC;EACH;;EAEA;AACF;AACA;AACA;EACEiE,UAAUA,CACRC,gBAAiC,EAOjC;IAAA,IANAxC,OAA8B,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAOnC,IAAIwB,IAAI,GAAG,EAAE;IACb,IAAI,OAAOD,gBAAgB,KAAK,QAAQ,EAAE;MACxC,IAAI;QACF,MAAME,MAAM,GAAGlF,KAAK,CAACmF,kBAAkB,CAACH,gBAAgB,CAAC;QACzD,IAAIE,MAAM,EAAED,IAAI,GAAGC,MAAM,CAACE,GAAG;MAC/B,CAAC,CAAC,OAAOtE,CAAC,EAAE;QACV,MAAM,IAAIuE,KAAK,CAAE,kBAAiBL,gBAAiB,EAAC,CAAC;MACvD;IACF,CAAC,MAAM;MACL,IAAIA,gBAAgB,CAACM,UAAU,CAAC,MAAM,CAAC,EACrC,MAAM,IAAID,KAAK,CACb,mEAAmE,CACpE;MACHJ,IAAI,GAAGD,gBAAgB;IACzB;IACA,IAAIC,IAAI,CAACK,UAAU,CAAC,SAAS,CAAC,EAAEL,IAAI,GAAGA,IAAI,CAACM,KAAK,CAAC,CAAC,CAAC;IACpD,OAAO,IAAI,CAACjC,0BAA0B,CAAC,gBAAgB,EAAE2B,IAAI,EAAEzC,OAAO,CAAC;EACzE;;EAEA;AACF;AACA;EACEgD,cAAcA,CACZhC,IAA0B,EAK1B;IAAA,IAJAhB,OAA8B,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAKnC,IAAID,IAAI,YAAYiC,WAAW,EAAE;MAC/B;MACA,IAAI,CAACrF,wBAAwB,EAAE;QAC7B,MAAM,IAAIiF,KAAK,CAAC,mDAAmD,CAAC;MACtE;MACA,OAAO,IAAI,CAACK,yBAAyB,CAAClC,IAAI,EAAEhB,OAAO,CAAC;IACtD;IACA,OAAO,IAAI,CAACc,0BAA0B,CAAC,gBAAgB,EAAEE,IAAI,EAAEhB,OAAO,CAAC;EACzE;;EAEA;AACF;AACA;EACUkD,yBAAyBA,CAC/BlC,IAAiB,EAKjB;IAAA,IAJAhB,OAA8B,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAKnC,MAAM;MAAEO,UAAU;MAAEC,aAAa;MAAE,GAAGC;IAAK,CAAC,GAAG1B,OAAO;;IAEtD;IACA,MAAMoB,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,KAAK,CAAC;IAE/C,MAAM4B,UAAU,GAAG;MACjB,GAAGzB,IAAI;MACPF,UAAU,EAAEA,UAAU,IAAIL,SAAS;MACnCM,aAAa,EAAEA,aAAa,IAAIN,SAAS;MACzCC,KAAK,CAAE;IACT,CAAC;;IAED,IAAIkB,SAAS,GAAG,KAAK;IACrB,MAAMD,OAAO,GAAGzE,wBAAwB,CAAC,IAAI,CAACiD,EAAE,EAAEsC,UAAU,EAAEnC,IAAI,CAAC,CAChE/C,IAAI,CAAEgE,MAAW,IAAK;MACrB,IAAIK,SAAS,EAAE;QACb,OAAO;UAAE,GAAGL,MAAM;UAAEK,SAAS,EAAE;QAAK,CAAC;MACvC;MACA,OAAOL,MAAM;IACf,CAAC,CAAC,CACD5D,KAAK,CAAE+E,KAAU,IAAK;MACrB,IAAId,SAAS,EAAE;QACb,OAAO;UAAEA,SAAS,EAAE,IAAI;UAAEc,KAAK,EAAE;QAAwB,CAAC;MAC5D;MACA,MAAMA,KAAK;IACb,CAAC,CAAC;IAEJ,OAAO;MACLjB,IAAI,EAAE,MAAAA,CAAA,KAAY;QAChBG,SAAS,GAAG,IAAI;QAChB,IAAI;UACF;UACA,MAAM7E,SAAS,CAAC2E,eAAe,CAAC,IAAI,CAACvB,EAAE,EAAEO,KAAK,CAAC;QACjD,CAAC,CAAC,OAAOgC,KAAK,EAAE;UACd;QAAA;MAEJ,CAAC;MACDf;IACF,CAAC;EACH;;EAEA;EACA,MAAMgB,kBAAkBA,CAAA,EAKrB;IAAA,IALsBrD,OAAkC,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAM9D1C,OAAO,CAACC,IAAI,CACV,uEAAuE,CACxE;IAED,IAAI8E,qBAAsD;IAE1D,MAAMC,MAAyC,GAAG,EAAE;IACpD,IAAIC,UAAkB,GAAG,CAAC;IAC1B,IAAIC,OAAe,GAAG,CAAC;IAEvB,MAAMC,QAAQ,GAAIC,OAAwC,IAAK;MAC7D,IAAI,CAACA,OAAO,CAACC,WAAW,IAAI,CAACD,OAAO,CAAC3C,IAAI,EAAE;MAC3C,IAAIwC,UAAU,KAAKG,OAAO,CAACH,UAAU,EAAE;QAAA,IAAAK,kBAAA,EAAAC,SAAA;QACrC,MAAM;UAAEC,QAAQ,GAAG;QAAG,CAAC,GAAG,EAAAF,kBAAA,GAAAN,MAAM,CAACC,UAAU,CAAC,cAAAK,kBAAA,uBAAlBA,kBAAA,CAAoB7C,IAAI,KAAI,CAAC,CAAC;QACxDyC,OAAO,GAAG,EAAAK,SAAA,GAAAC,QAAQ,CAACA,QAAQ,CAAC7C,MAAM,GAAG,CAAC,CAAC,cAAA4C,SAAA,uBAA7BA,SAAA,CAA+BE,EAAE,KAAI,CAAC;MAClD;MACA;MAAC,CAAC;QAAER;MAAW,CAAC,GAAGG,OAAO;MAC1BJ,MAAM,CAACC,UAAU,CAAC,GAAG;QACnB,GAAGG,OAAO;QACV3C,IAAI,EAAE;UACJ,GAAG2C,OAAO,CAAC3C,IAAI;UACf+C,QAAQ,EACNJ,OAAO,CAAC3C,IAAI,CAAC+C,QAAQ,CAACE,GAAG,CAAEC,OAAO,KAAM;YACtC,GAAGA,OAAO;YACVC,EAAE,EAAED,OAAO,CAACC,EAAE,GAAGV,OAAO;YACxBO,EAAE,EAAEE,OAAO,CAACF,EAAE,GAAGP;UACnB,CAAC,CAAC,CAAC,IAAI;QACX;MACF,CAAC;IACH,CAAC;IAED,MAAMW,mBAAmB,GACvBT,OAAwC,IACJ;MACpC,IAAI,CAACA,OAAO,CAACC,WAAW,EAAE,OAAOD,OAAO;MAExC,MAAMU,aAAkB,GAAG,CAAC,CAAC;MAC7Bd,MAAM,CAACjE,OAAO,CAAEyD,KAAK,IAAK;QAAA,IAAAuB,mBAAA,EAAAC,WAAA,EAAAC,oBAAA,EAAAC,YAAA;QACxBJ,aAAa,CAACrD,IAAI,GAAG;UACnBiB,MAAM,EACJ,CAAC,EAAAqC,mBAAA,GAAAD,aAAa,CAACrD,IAAI,cAAAsD,mBAAA,uBAAlBA,mBAAA,CAAoBrC,MAAM,KAAI,EAAE,KAAK,EAAAsC,WAAA,GAAAxB,KAAK,CAAC/B,IAAI,cAAAuD,WAAA,uBAAVA,WAAA,CAAYtC,MAAM,KAAI,EAAE,CAAC;UACjE8B,QAAQ,EAAE,CACR,IAAI,CAAAM,aAAa,aAAbA,aAAa,wBAAAG,oBAAA,GAAbH,aAAa,CAAErD,IAAI,cAAAwD,oBAAA,uBAAnBA,oBAAA,CAAqBT,QAAQ,KAAI,EAAE,CAAC,EACxC,IAAI,EAAAU,YAAA,GAAA1B,KAAK,CAAC/B,IAAI,cAAAyD,YAAA,uBAAVA,YAAA,CAAYV,QAAQ,KAAI,EAAE,CAAC;QAEnC,CAAC;QACDM,aAAa,CAACK,WAAW,GAAG3B,KAAK,CAAC2B,WAAW;QAC7CL,aAAa,CAACM,aAAa,GACzB,CAAC,CAAAN,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEM,aAAa,KAAI,CAAC,IAAI5B,KAAK,CAAC4B,aAAa;MAC7D,CAAC,CAAC;MACF,OAAO;QAAE,GAAGhB,OAAO;QAAE,GAAGU,aAAa;QAAEd;MAAO,CAAC;IACjD,CAAC;IAED,IAAIqB,gBAAoD;IACxD,IAAIrH,QAAQ,CAACmB,EAAE,KAAK,KAAK,IAAIsB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAE6E,sBAAsB,EAAE;MAC5D;MACA,IAAI,CAAA7E,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8E,qBAAqB,MAAK,SAAS,EAAE;QAChD,MAAMC,cAAc,GAAG,MAAMrH,eAAe,CAACsH,kBAAkB,EAAE;QACjE,MAAM/E,IAAI,GAAG,MAAMvC,eAAe,CAACuH,cAAc,EAAE;QAEnDL,gBAAgB,GAAG;UACjB,GAAGG,cAAc;UACjB9E,IAAI;UACJG,MAAM,EAAE,KAAK,CAAE;QACjB,CAAC;MACH;;MAEA;MACA,MAAMR,kBAAkB,CAACI,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE6E,sBAAsB,CAAC;IAC3D;IACA,IACEtH,QAAQ,CAACmB,EAAE,KAAK,KAAK,IACrB,QAAOsB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8E,qBAAqB,MAAK,QAAQ,EAClD;MACAF,gBAAgB,GAAG5E,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8E,qBAAqB;IACnD;IAEA,MAAM1D,KAAa,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvD,IAAI;MACF,MAAM9D,SAAS,CAACyH,uBAAuB,CAAC,IAAI,CAACrE,EAAE,EAAEO,KAAK,EAAEpB,OAAO,CAAC;IAClE,CAAC,CAAC,OAAO1B,CAAC,EAAE;MACV,IAAIsG,gBAAgB,EAAE,MAAMhF,kBAAkB,CAACgF,gBAAgB,CAAC;MAChE,MAAMtG,CAAC;IACT;IAEA,OAAO;MACL6D,IAAI,EAAE,MAAAA,CAAA,KAAY;QAChB,MAAM1E,SAAS,CAAC2E,eAAe,CAAC,IAAI,CAACvB,EAAE,EAAEO,KAAK,CAAC;QAC/C,IAAIwD,gBAAgB,EAAE,MAAMhF,kBAAkB,CAACgF,gBAAgB,CAAC;MAClE,CAAC;MACDO,SAAS,EAAGC,QAAkD,IAAK;QACjE,IAAIC,kBAAuB,GAAG5G,YAAY,CAACW,WAAW,CACpDN,4BAA4B,EAC3BO,GAAkC,IAAK;UACtC,MAAM;YAAEsB,SAAS;YAAEgD;UAAQ,CAAC,GAAGtE,GAAG;UAClC,IAAIsB,SAAS,KAAK,IAAI,CAACE,EAAE,IAAIxB,GAAG,CAAC+B,KAAK,KAAKA,KAAK,EAAE;UAClDkC,qBAAqB,GAAGK,OAAO;UAC/BD,QAAQ,CAACC,OAAO,CAAC;UACjByB,QAAQ,CAAC;YACPzE,SAAS;YACTS,KAAK,EAAE/B,GAAG,CAAC+B,KAAK;YAChB,GAAGgD,mBAAmB,CAACT,OAAO;UAChC,CAAC,CAAC;QACJ,CAAC,CACF;QACD,IAAI2B,WAAgB,GAAG7G,YAAY,CAACW,WAAW,CAC7CL,gCAAgC,EAC/BM,GAAkC,IAAK;UACtC,MAAM;YAAEsB,SAAS;YAAEgD;UAAQ,CAAC,GAAGtE,GAAG;UAClC,IAAIsB,SAAS,KAAK,IAAI,CAACE,EAAE,IAAIxB,GAAG,CAAC+B,KAAK,KAAKA,KAAK,EAAE;UAClD,MAAMmE,WAAW,GAAG;YAClB,GAAGjC,qBAAqB;YACxB,GAAGK;UACL,CAAC;UACDD,QAAQ,CAAC6B,WAAW,CAAC;UACrBH,QAAQ,CAAC;YACPzE,SAAS;YACTS,KAAK,EAAE/B,GAAG,CAAC+B,KAAK;YAChB,GAAGgD,mBAAmB,CAACmB,WAAW,CAAC;YACnCC,WAAW,EAAE;UACf,CAAC,CAAC;UACF,IAAIH,kBAAkB,EAAE;YACtBA,kBAAkB,CAACtD,MAAM,EAAE;YAC3BsD,kBAAkB,GAAG,IAAI;UAC3B;UACA,IAAIC,WAAW,EAAE;YACfA,WAAW,CAACvD,MAAM,EAAE;YACpBuD,WAAW,GAAG,IAAI;UACpB;QACF,CAAC,CACF;MACH;IACF,CAAC;EACH;EAEA,MAAMG,KAAKA,CAACC,UAAkB,EAAwB;IACpD,MAAMzD,MAAM,GAAG,MAAMxE,SAAS,CAACgI,KAAK,CAAC,IAAI,CAAC5E,EAAE,EAAE6E,UAAU,CAAC;IACzD,MAAM,CAACC,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,CAAC,GAC7DC,IAAI,CAACC,KAAK,CAACjE,MAAM,CAAC;IACpB,OAAO;MACL0D,MAAM;MACNC,QAAQ;MACRC,QAAQ;MACRC,QAAQ;MACRC,OAAO;MACPC;IACF,CAAC;EACH;EAEA,MAAMG,OAAOA,CAAA,EAAkB;IAC7B,OAAO1I,SAAS,CAAC2I,cAAc,CAAC,IAAI,CAACvF,EAAE,CAAC;EAC1C;AACF;AAuBA,MAAMwF,qBAAqB,GAAG,CAC5B,0BAA0B,EAC1B,oBAAoB,EACpB,WAAW,EACX,gBAAgB,CACjB;AAED,OAAO,eAAeC,WAAWA,CAAAC,KAAA,EAOW;EAAA,IAPV;IAChCC,QAAQ;IACRC,gBAAgB;IAChBC,aAAa;IACbC,MAAM,GAAG,IAAI;IACbC,YAAY,GAAG,IAAI;IACnBC,YAAY,GAAG;EACD,CAAC,GAAAN,KAAA;EACf,MAAMxI,0BAA0B,EAAE;EAElC,IAAI0E,IAAI,GAAG,EAAE;EACb,IAAIqE,YAAuC;EAC3C,IAAIL,gBAAgB,EAAE;IACpB,MAAM;MAAEM,QAAQ;MAAEC;IAAO,CAAC,GAAGP,gBAAgB;IAC7C,IAAIM,QAAQ,IAAIC,MAAM,EAAE;MACtBF,YAAY,GAAGE,MAAM,aAANA,MAAM,uBAANA,MAAM,CACjB/C,GAAG,CAAEgD,KAAK,IAAK;QACf,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;UAC7B,MAAM;YAAErE;UAAI,CAAC,GAAGpF,KAAK,CAACmF,kBAAkB,CAACsE,KAAK,CAAC;UAC/C,MAAMC,QAAQ,GAAGb,qBAAqB,CAACc,IAAI,CAAEC,CAAC,IAAKxE,GAAG,CAACyE,QAAQ,CAACD,CAAC,CAAC,CAAC;UACnE,IAAIF,QAAQ,EAAE;YACZ,OAAO;cACLtE,GAAG;cACHsE,QAAQ,EAAG,GAAEH,QAAS,IAAGG,QAAS;YACpC,CAAC;UACH;QACF,CAAC,MAAM,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;UACpC,OAAO;YACLrE,GAAG,EAAEqE,KAAK;YACVC,QAAQ,EAAG,GAAEH,QAAS,IAAGE,KAAM;UACjC,CAAC;QACH;QACA,OAAO9F,SAAS;MAClB,CAAC,CAAC,CACDmG,MAAM,CAAEL,KAAK,IAA2BA,KAAK,KAAK9F,SAAS,CAAC;IACjE;EACF;EACA,IAAI,OAAOqF,QAAQ,KAAK,QAAQ,EAAE;IAChC,IAAI;MACF,MAAM9D,MAAM,GAAGlF,KAAK,CAACmF,kBAAkB,CAAC6D,QAAQ,CAAC;MACjD,IAAI9D,MAAM,EAAE;QACVD,IAAI,GAAGC,MAAM,CAACE,GAAG;MACnB;IACF,CAAC,CAAC,OAAOtE,CAAC,EAAE;MACV,MAAM,IAAIuE,KAAK,CAAE,kBAAiB2D,QAAS,EAAC,CAAC;IAC/C;EACF,CAAC,MAAM;IACL,IAAI,CAACE,aAAa,IAAIF,QAAQ,CAAC1D,UAAU,CAAC,MAAM,CAAC,EAC/C,MAAM,IAAID,KAAK,CACb,mEAAmE,CACpE;IACHJ,IAAI,GAAG+D,QAAQ;EACjB;EACA,IAAI/D,IAAI,CAACK,UAAU,CAAC,SAAS,CAAC,EAAEL,IAAI,GAAGA,IAAI,CAACM,KAAK,CAAC,CAAC,CAAC;EACpD,MAAM;IAAErC,UAAU;IAAEC,SAAS;IAAEL,GAAG;IAAEC;EAAY,CAAC,GAC/C,MAAM9C,SAAS,CAAC8J,WAAW,CAAC;IAC1Bf,QAAQ,EAAE/D,IAAI;IACdiE,aAAa,EAAE,CAAC,CAACA,aAAa;IAC9BG,YAAY;IACZF,MAAM;IACNC,YAAY;IACZ;IACAY,oBAAoB,EAAEC,OAAO,IAAI,CAAC,CAACX,YAAY;IAC/CA;EACF,CAAC,CAAC;EACJ,OAAO,IAAIzG,cAAc,CAAC;IAAEK,UAAU;IAAEC,SAAS;IAAEL,GAAG;IAAEC;EAAY,CAAC,CAAC;AACxE;AAEA,OAAO,eAAemH,iBAAiBA,CAAA,EAAkB;EACvD,MAAM3J,0BAA0B,EAAE;EAElC,OAAON,SAAS,CAACkK,kBAAkB,EAAE;AACvC;;AAEA;AACA,OAAO,MAAMC,UAAkB,GAAGjK,OAAO;AAEzC,MAAM;EAAEkK,SAAS;EAAEC;AAAoB,CAAC,GAAG,EAAAC,qBAAA,GAAAtK,SAAS,CAACuK,YAAY,cAAAD,qBAAA,uBAAtBA,qBAAA,CAAApI,IAAA,CAAAlC,SAAS,CAAiB,KAAI,CAAC,CAAC;;AAE3E;AACA,OAAO,MAAMwK,WAAoB,GAAG,CAAC,CAACJ,SAAS;;AAE/C;AACA,OAAO,MAAMK,qBAA8B,GAAG,CAAC,CAACJ,mBAAmB;AAEnE,SAASpK,eAAe;;AAExB;AACA;AACA;;AAYA,OAAO,MAAMyK,iBAAiB,CAAC;EAG7B7H,GAAG,GAAY,KAAK;EAEpBC,WAAW,GAAW,EAAE;EAExBC,WAAWA,CAAA4H,KAAA,EAA2D;IAAA,IAA1D;MAAEzH,SAAS;MAAEL,GAAG;MAAEC;IAAqC,CAAC,GAAA6H,KAAA;IAClE,IAAI,CAACvH,EAAE,GAAGF,SAAS;IACnB,IAAI,CAACL,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,WAAW,GAAGA,WAAW;EAChC;;EAEA;AACF;AACA;AACA;EACE,MAAM8H,YAAYA,CAChB7F,gBAAiC,EAEV;IAAA,IADvBxC,OAAmB,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAExB,IAAIwB,IAAI,GAAG,EAAE;IACb,IAAI,OAAOD,gBAAgB,KAAK,QAAQ,EAAE;MACxC,IAAI;QACF,MAAME,MAAM,GAAGlF,KAAK,CAACmF,kBAAkB,CAACH,gBAAgB,CAAC;QACzD,IAAIE,MAAM,EAAED,IAAI,GAAGC,MAAM,CAACE,GAAG;MAC/B,CAAC,CAAC,OAAOtE,CAAC,EAAE;QACV,MAAM,IAAIuE,KAAK,CAAE,kBAAiBL,gBAAiB,EAAC,CAAC;MACvD;IACF,CAAC,MAAM;MACL,IAAIA,gBAAgB,CAACM,UAAU,CAAC,MAAM,CAAC,EACrC,MAAM,IAAID,KAAK,CACb,4DAA4D,CAC7D;MACHJ,IAAI,GAAGD,gBAAgB;IACzB;IACA,IAAIC,IAAI,CAACK,UAAU,CAAC,SAAS,CAAC,EAAEL,IAAI,GAAGA,IAAI,CAACM,KAAK,CAAC,CAAC,CAAC;;IAEpD;IACA,IAAIN,IAAI,CAACK,UAAU,CAAC,aAAa,CAAC,EAAE;MAClC;MACA,OAAOrF,SAAS,CAAC6K,eAAe,CAAC,IAAI,CAACzH,EAAE,EAAE4B,IAAI,EAAEzC,OAAO,CAAC;IAC1D,CAAC,MAAM;MACL;MACA,OAAOvC,SAAS,CAAC8K,mBAAmB,CAAC,IAAI,CAAC1H,EAAE,EAAE4B,IAAI,EAAEzC,OAAO,CAAC;IAC9D;EACF;;EAEA;AACF;AACA;EACE,MAAMwI,gBAAgBA,CACpBC,SAA+B,EAER;IAAA,IADvBzI,OAAmB,GAAAiB,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;IAExB,IAAIwH,SAAS,YAAYxF,WAAW,EAAE;MACpC;MACA,IAAI,CAACpF,yBAAyB,EAAE;QAC9B,MAAM,IAAIgF,KAAK,CAAC,oDAAoD,CAAC;MACvE;MACA,MAAMZ,MAAM,GAAG,MAAMpE,yBAAyB,CAC5C,IAAI,CAACgD,EAAE,EACPb,OAAO,EACPyI,SAAS,CACV;MACD,OAAOxG,MAAM,CAAC8B,QAAQ,IAAI,EAAE;IAC9B;IACA,OAAOtG,SAAS,CAAC6K,eAAe,CAAC,IAAI,CAACzH,EAAE,EAAE4H,SAAS,EAAEzI,OAAO,CAAC;EAC/D;EAEA,MAAMmG,OAAOA,CAAA,EAAkB;IAC7B,OAAO1I,SAAS,CAACiL,iBAAiB,CAAC,IAAI,CAAC7H,EAAE,CAAC;EAC7C;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAe8H,cAAcA,CAAAC,KAAA,EAKc;EAAA,IALb;IACnCpC,QAAQ;IACRE,aAAa;IACbC,MAAM,GAAG,IAAI;IACbf;EACiB,CAAC,GAAAgD,KAAA;EAClB,MAAM7K,0BAA0B,EAAE;EAElC,IAAI0E,IAAI,GAAG,EAAE;EACb,IAAI,OAAO+D,QAAQ,KAAK,QAAQ,EAAE;IAChC,IAAI;MACF,MAAM9D,MAAM,GAAGlF,KAAK,CAACmF,kBAAkB,CAAC6D,QAAQ,CAAC;MACjD,IAAI9D,MAAM,EAAE;QACVD,IAAI,GAAGC,MAAM,CAACE,GAAG;MACnB;IACF,CAAC,CAAC,OAAOtE,CAAC,EAAE;MACV,MAAM,IAAIuE,KAAK,CAAE,kBAAiB2D,QAAS,EAAC,CAAC;IAC/C;EACF,CAAC,MAAM;IACL,IAAI,CAACE,aAAa,IAAIF,QAAQ,CAAC1D,UAAU,CAAC,MAAM,CAAC,EAC/C,MAAM,IAAID,KAAK,CACb,4DAA4D,CAC7D;IACHJ,IAAI,GAAG+D,QAAQ;EACjB;EACA,IAAI/D,IAAI,CAACK,UAAU,CAAC,SAAS,CAAC,EAAEL,IAAI,GAAGA,IAAI,CAACM,KAAK,CAAC,CAAC,CAAC;EACpD,MAAM;IAAEpC,SAAS;IAAEL,GAAG;IAAEC;EAAY,CAAC,GAAG,MAAM9C,SAAS,CAACoL,cAAc,CAAC;IACrErC,QAAQ,EAAE/D,IAAI;IACdiE,aAAa,EAAE,CAAC,CAACA,aAAa;IAC9BC,MAAM;IACNf;EACF,CAAC,CAAC;EACF,OAAO,IAAIuC,iBAAiB,CAAC;IAAExH,SAAS;IAAEL,GAAG;IAAEC;EAAY,CAAC,CAAC;AAC/D;;AAEA;AACA;AACA;AACA;AACA,OAAO,eAAeuI,oBAAoBA,CAAA,EAAkB;EAC1D,MAAM/K,0BAA0B,EAAE;EAElC,OAAON,SAAS,CAACsL,qBAAqB,EAAE;AAC1C;AAEA,IAAIC,cAAc,GAAG,KAAK;AAE1B,OAAO,eAAetJ,eAAeA,CAACuJ,OAAgB,EAAiB;EACrE,IAAI,CAACA,OAAO,IAAI,CAACD,cAAc,EAAE,OAAM,CAAC;;EAExCA,cAAc,GAAG,IAAI;EACrB,MAAMjL,0BAA0B,EAAE;EAElC,OAAON,SAAS,CAACiC,eAAe,CAACuJ,OAAO,CAAC;AAC3C;AAEA,OAAO,SAASC,oBAAoBA,CAClC3J,QAA+C,EACvB;EACxBP,YAAY,CAACmK,IAAI,CAAC5J,QAAQ,CAAC;EAC3B,OAAO;IACLwC,MAAM,EAAEA,CAAA,KAAM;MACZ/C,YAAY,CAACoK,MAAM,CAACpK,YAAY,CAACqK,OAAO,CAAC9J,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxD;EACF,CAAC;AACH"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { NativeModules, DeviceEventEmitter } from 'react-native';
|
|
2
|
+
if (!NativeModules.RNWhisper) {
|
|
3
|
+
NativeModules.RNWhisper = {
|
|
4
|
+
installJSIBindings: jest.fn(() => Promise.resolve()),
|
|
5
|
+
initContext: jest.fn(() => Promise.resolve({
|
|
6
|
+
contextId: 1
|
|
7
|
+
})),
|
|
8
|
+
transcribeFile: jest.fn(() => Promise.resolve({
|
|
9
|
+
result: ' Test',
|
|
10
|
+
segments: [{
|
|
11
|
+
text: ' Test',
|
|
12
|
+
t0: 0,
|
|
13
|
+
t1: 33
|
|
14
|
+
}],
|
|
15
|
+
isAborted: false
|
|
16
|
+
})),
|
|
17
|
+
transcribeData: jest.fn(() => Promise.resolve({
|
|
18
|
+
result: ' Test',
|
|
19
|
+
segments: [{
|
|
20
|
+
text: ' Test',
|
|
21
|
+
t0: 0,
|
|
22
|
+
t1: 33
|
|
23
|
+
}],
|
|
24
|
+
isAborted: false
|
|
25
|
+
})),
|
|
26
|
+
startRealtimeTranscribe: jest.fn((contextId, jobId) => {
|
|
27
|
+
setTimeout(() => {
|
|
28
|
+
// Start
|
|
29
|
+
DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribe', {
|
|
30
|
+
contextId,
|
|
31
|
+
jobId,
|
|
32
|
+
payload: {
|
|
33
|
+
isCapturing: true,
|
|
34
|
+
data: {
|
|
35
|
+
result: ' Test',
|
|
36
|
+
segments: [{
|
|
37
|
+
text: ' Test',
|
|
38
|
+
t0: 0,
|
|
39
|
+
t1: 33
|
|
40
|
+
}]
|
|
41
|
+
},
|
|
42
|
+
processTime: 100,
|
|
43
|
+
recordingTime: 1000
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribe', {
|
|
47
|
+
contextId,
|
|
48
|
+
jobId,
|
|
49
|
+
payload: {
|
|
50
|
+
isCapturing: false,
|
|
51
|
+
data: {
|
|
52
|
+
result: ' Test',
|
|
53
|
+
segments: [{
|
|
54
|
+
text: ' Test',
|
|
55
|
+
t0: 0,
|
|
56
|
+
t1: 33
|
|
57
|
+
}]
|
|
58
|
+
},
|
|
59
|
+
processTime: 100,
|
|
60
|
+
recordingTime: 2000
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
// End event
|
|
64
|
+
DeviceEventEmitter.emit('@RNWhisper_onRealtimeTranscribeEnd', {
|
|
65
|
+
contextId,
|
|
66
|
+
jobId,
|
|
67
|
+
payload: {}
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}),
|
|
71
|
+
bench: jest.fn(() => Promise.resolve({
|
|
72
|
+
config: 'NEON',
|
|
73
|
+
nThreads: 1,
|
|
74
|
+
encodeMs: 1,
|
|
75
|
+
decodeMs: 1,
|
|
76
|
+
batchMs: 1,
|
|
77
|
+
promptMs: 1
|
|
78
|
+
})),
|
|
79
|
+
releaseContext: jest.fn(() => Promise.resolve()),
|
|
80
|
+
releaseAllContexts: jest.fn(() => Promise.resolve()),
|
|
81
|
+
// VAD methods
|
|
82
|
+
initVadContext: jest.fn(() => Promise.resolve({
|
|
83
|
+
contextId: 2,
|
|
84
|
+
gpu: false,
|
|
85
|
+
reasonNoGPU: 'Mock VAD context'
|
|
86
|
+
})),
|
|
87
|
+
vadDetectSpeech: jest.fn().mockResolvedValue([{
|
|
88
|
+
t0: 0.5,
|
|
89
|
+
t1: 2.3
|
|
90
|
+
}, {
|
|
91
|
+
t0: 3.1,
|
|
92
|
+
t1: 5.8
|
|
93
|
+
}, {
|
|
94
|
+
t0: 7.2,
|
|
95
|
+
t1: 9.4
|
|
96
|
+
}]),
|
|
97
|
+
vadDetectSpeechFile: jest.fn().mockResolvedValue([{
|
|
98
|
+
t0: 0.5,
|
|
99
|
+
t1: 2.3
|
|
100
|
+
}, {
|
|
101
|
+
t0: 3.1,
|
|
102
|
+
t1: 5.8
|
|
103
|
+
}, {
|
|
104
|
+
t0: 7.2,
|
|
105
|
+
t1: 9.4
|
|
106
|
+
}]),
|
|
107
|
+
releaseVadContext: jest.fn(() => Promise.resolve()),
|
|
108
|
+
releaseAllVadContexts: jest.fn(() => Promise.resolve()),
|
|
109
|
+
// iOS AudioSession utils
|
|
110
|
+
getAudioSessionCurrentCategory: jest.fn(() => Promise.resolve({
|
|
111
|
+
category: 'AVAudioSessionCategoryPlayAndRecord',
|
|
112
|
+
options: []
|
|
113
|
+
})),
|
|
114
|
+
getAudioSessionCurrentMode: jest.fn(() => Promise.resolve('')),
|
|
115
|
+
setAudioSessionCategory: jest.fn(() => Promise.resolve()),
|
|
116
|
+
setAudioSessionMode: jest.fn(() => Promise.resolve()),
|
|
117
|
+
setAudioSessionActive: jest.fn(() => Promise.resolve()),
|
|
118
|
+
// For NativeEventEmitter
|
|
119
|
+
addListener: jest.fn(),
|
|
120
|
+
removeListeners: jest.fn()
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
module.exports = jest.requireActual('whisper.rn/index');
|
|
124
|
+
//# sourceMappingURL=jest-mock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NativeModules","DeviceEventEmitter","RNWhisper","installJSIBindings","jest","fn","Promise","resolve","initContext","contextId","transcribeFile","result","segments","text","t0","t1","isAborted","transcribeData","startRealtimeTranscribe","jobId","setTimeout","emit","payload","isCapturing","data","processTime","recordingTime","bench","config","nThreads","encodeMs","decodeMs","batchMs","promptMs","releaseContext","releaseAllContexts","initVadContext","gpu","reasonNoGPU","vadDetectSpeech","mockResolvedValue","vadDetectSpeechFile","releaseVadContext","releaseAllVadContexts","getAudioSessionCurrentCategory","category","options","getAudioSessionCurrentMode","setAudioSessionCategory","setAudioSessionMode","setAudioSessionActive","addListener","removeListeners","module","exports","requireActual"],"sourceRoot":"../../src","sources":["jest-mock.ts"],"mappings":"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"}
|