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.
Files changed (116) hide show
  1. package/README.md +128 -50
  2. package/android/src/main/CMakeLists.txt +1 -0
  3. package/android/src/main/java/com/rnwhisper/RNWhisper.java +35 -0
  4. package/android/src/main/java/com/rnwhisper/WhisperContext.java +33 -0
  5. package/android/src/main/jni.cpp +81 -0
  6. package/android/src/newarch/java/com/rnwhisper/RNWhisperModule.java +5 -0
  7. package/android/src/oldarch/java/com/rnwhisper/RNWhisperModule.java +5 -0
  8. package/cpp/jsi/RNWhisperJSI.cpp +42 -6
  9. package/ios/RNWhisper.mm +11 -0
  10. package/ios/RNWhisperContext.h +1 -0
  11. package/ios/RNWhisperContext.mm +46 -0
  12. package/ios/rnwhisper.xcframework/ios-arm64/rnwhisper.framework/Info.plist +0 -0
  13. package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/Info.plist +0 -0
  14. package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/_CodeSignature/CodeResources +1 -1
  15. package/ios/rnwhisper.xcframework/ios-arm64_x86_64-simulator/rnwhisper.framework/rnwhisper +0 -0
  16. package/ios/rnwhisper.xcframework/tvos-arm64/rnwhisper.framework/Info.plist +0 -0
  17. package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/Info.plist +0 -0
  18. package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/_CodeSignature/CodeResources +1 -1
  19. package/ios/rnwhisper.xcframework/tvos-arm64_x86_64-simulator/rnwhisper.framework/rnwhisper +0 -0
  20. package/lib/commonjs/AudioSessionIos.js +2 -1
  21. package/lib/commonjs/AudioSessionIos.js.map +1 -1
  22. package/lib/commonjs/NativeRNWhisper.js.map +1 -1
  23. package/lib/commonjs/index.js +50 -10
  24. package/lib/commonjs/index.js.map +1 -1
  25. package/lib/commonjs/jest-mock.js +126 -0
  26. package/lib/commonjs/jest-mock.js.map +1 -0
  27. package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js +857 -0
  28. package/lib/commonjs/realtime-transcription/RealtimeTranscriber.js.map +1 -0
  29. package/lib/commonjs/realtime-transcription/SliceManager.js +233 -0
  30. package/lib/commonjs/realtime-transcription/SliceManager.js.map +1 -0
  31. package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js +133 -0
  32. package/lib/commonjs/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
  33. package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js +201 -0
  34. package/lib/commonjs/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
  35. package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +309 -0
  36. package/lib/commonjs/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
  37. package/lib/commonjs/realtime-transcription/index.js +27 -0
  38. package/lib/commonjs/realtime-transcription/index.js.map +1 -0
  39. package/lib/commonjs/realtime-transcription/types.js +114 -0
  40. package/lib/commonjs/realtime-transcription/types.js.map +1 -0
  41. package/lib/commonjs/utils/WavFileReader.js +158 -0
  42. package/lib/commonjs/utils/WavFileReader.js.map +1 -0
  43. package/lib/commonjs/utils/WavFileWriter.js +181 -0
  44. package/lib/commonjs/utils/WavFileWriter.js.map +1 -0
  45. package/lib/commonjs/utils/common.js +25 -0
  46. package/lib/commonjs/utils/common.js.map +1 -0
  47. package/lib/module/AudioSessionIos.js +2 -1
  48. package/lib/module/AudioSessionIos.js.map +1 -1
  49. package/lib/module/NativeRNWhisper.js.map +1 -1
  50. package/lib/module/index.js +48 -10
  51. package/lib/module/index.js.map +1 -1
  52. package/lib/module/jest-mock.js +124 -0
  53. package/lib/module/jest-mock.js.map +1 -0
  54. package/lib/module/realtime-transcription/RealtimeTranscriber.js +851 -0
  55. package/lib/module/realtime-transcription/RealtimeTranscriber.js.map +1 -0
  56. package/lib/module/realtime-transcription/SliceManager.js +226 -0
  57. package/lib/module/realtime-transcription/SliceManager.js.map +1 -0
  58. package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js +124 -0
  59. package/lib/module/realtime-transcription/adapters/AudioPcmStreamAdapter.js.map +1 -0
  60. package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js +194 -0
  61. package/lib/module/realtime-transcription/adapters/JestAudioStreamAdapter.js.map +1 -0
  62. package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js +302 -0
  63. package/lib/module/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.js.map +1 -0
  64. package/lib/module/realtime-transcription/index.js +8 -0
  65. package/lib/module/realtime-transcription/index.js.map +1 -0
  66. package/lib/module/realtime-transcription/types.js +107 -0
  67. package/lib/module/realtime-transcription/types.js.map +1 -0
  68. package/lib/module/utils/WavFileReader.js +151 -0
  69. package/lib/module/utils/WavFileReader.js.map +1 -0
  70. package/lib/module/utils/WavFileWriter.js +174 -0
  71. package/lib/module/utils/WavFileWriter.js.map +1 -0
  72. package/lib/module/utils/common.js +18 -0
  73. package/lib/module/utils/common.js.map +1 -0
  74. package/lib/typescript/AudioSessionIos.d.ts +1 -1
  75. package/lib/typescript/AudioSessionIos.d.ts.map +1 -1
  76. package/lib/typescript/NativeRNWhisper.d.ts +1 -0
  77. package/lib/typescript/NativeRNWhisper.d.ts.map +1 -1
  78. package/lib/typescript/index.d.ts +8 -4
  79. package/lib/typescript/index.d.ts.map +1 -1
  80. package/lib/typescript/jest-mock.d.ts +2 -0
  81. package/lib/typescript/jest-mock.d.ts.map +1 -0
  82. package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts +166 -0
  83. package/lib/typescript/realtime-transcription/RealtimeTranscriber.d.ts.map +1 -0
  84. package/lib/typescript/realtime-transcription/SliceManager.d.ts +72 -0
  85. package/lib/typescript/realtime-transcription/SliceManager.d.ts.map +1 -0
  86. package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts +22 -0
  87. package/lib/typescript/realtime-transcription/adapters/AudioPcmStreamAdapter.d.ts.map +1 -0
  88. package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts +44 -0
  89. package/lib/typescript/realtime-transcription/adapters/JestAudioStreamAdapter.d.ts.map +1 -0
  90. package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts +75 -0
  91. package/lib/typescript/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.d.ts.map +1 -0
  92. package/lib/typescript/realtime-transcription/index.d.ts +6 -0
  93. package/lib/typescript/realtime-transcription/index.d.ts.map +1 -0
  94. package/lib/typescript/realtime-transcription/types.d.ts +222 -0
  95. package/lib/typescript/realtime-transcription/types.d.ts.map +1 -0
  96. package/lib/typescript/utils/WavFileReader.d.ts +61 -0
  97. package/lib/typescript/utils/WavFileReader.d.ts.map +1 -0
  98. package/lib/typescript/utils/WavFileWriter.d.ts +57 -0
  99. package/lib/typescript/utils/WavFileWriter.d.ts.map +1 -0
  100. package/lib/typescript/utils/common.d.ts +9 -0
  101. package/lib/typescript/utils/common.d.ts.map +1 -0
  102. package/package.json +18 -6
  103. package/src/AudioSessionIos.ts +3 -2
  104. package/src/NativeRNWhisper.ts +2 -0
  105. package/src/index.ts +74 -22
  106. package/{jest/mock.js → src/jest-mock.ts} +2 -2
  107. package/src/realtime-transcription/RealtimeTranscriber.ts +1015 -0
  108. package/src/realtime-transcription/SliceManager.ts +252 -0
  109. package/src/realtime-transcription/adapters/AudioPcmStreamAdapter.ts +143 -0
  110. package/src/realtime-transcription/adapters/JestAudioStreamAdapter.ts +251 -0
  111. package/src/realtime-transcription/adapters/SimulateFileAudioStreamAdapter.ts +378 -0
  112. package/src/realtime-transcription/index.ts +34 -0
  113. package/src/realtime-transcription/types.ts +283 -0
  114. package/src/utils/WavFileReader.ts +202 -0
  115. package/src/utils/WavFileWriter.ts +206 -0
  116. package/src/utils/common.ts +17 -0
@@ -0,0 +1,174 @@
1
+ import { base64ToUint8Array, uint8ArrayToBase64 } from './common';
2
+ export class WavFileWriter {
3
+ dataSize = 0;
4
+ isWriting = false;
5
+ writeQueue = [];
6
+ constructor(fs, filePath, config) {
7
+ this.fs = fs;
8
+ this.filePath = filePath;
9
+ this.config = config;
10
+ }
11
+
12
+ /**
13
+ * Initialize the WAV file with headers
14
+ */
15
+ async initialize() {
16
+ if (this.isWriting) {
17
+ return;
18
+ }
19
+ try {
20
+ // Create the initial WAV header (we'll update the size later)
21
+ const header = this.createWavHeader(0);
22
+ await this.fs.writeFile(this.filePath, uint8ArrayToBase64(header), 'base64');
23
+ this.dataSize = 0;
24
+ this.isWriting = true;
25
+ this.writeQueue = [];
26
+ } catch (error) {
27
+ throw new Error(`Failed to initialize WAV file: ${error}`);
28
+ }
29
+ }
30
+
31
+ /**
32
+ * Append PCM audio data to the WAV file
33
+ */
34
+ async appendAudioData(audioData) {
35
+ if (!this.isWriting) {
36
+ throw new Error('WAV file not initialized');
37
+ }
38
+ try {
39
+ // Queue the data for writing
40
+ this.writeQueue.push(audioData);
41
+
42
+ // Process the write queue
43
+ await this.processWriteQueue();
44
+ } catch (error) {
45
+ console.warn(`Failed to append audio data to WAV file: ${error}`);
46
+ }
47
+ }
48
+
49
+ /**
50
+ * Process the write queue to avoid blocking
51
+ */
52
+ async processWriteQueue() {
53
+ if (this.writeQueue.length === 0) {
54
+ return;
55
+ }
56
+ try {
57
+ // Combine all queued data
58
+ const totalLength = this.writeQueue.reduce((sum, data) => sum + data.length, 0);
59
+ const combinedData = new Uint8Array(totalLength);
60
+ let offset = 0;
61
+ this.writeQueue.forEach(data => {
62
+ combinedData.set(new Uint8Array(data), offset);
63
+ offset += data.length;
64
+ });
65
+
66
+ // Append to file
67
+ const base64Data = uint8ArrayToBase64(combinedData);
68
+ await this.fs.appendFile(this.filePath, base64Data, 'base64');
69
+
70
+ // Update data size
71
+ this.dataSize += combinedData.length;
72
+
73
+ // Clear the queue
74
+ this.writeQueue = [];
75
+ } catch (error) {
76
+ console.warn(`Failed to process WAV write queue: ${error}`);
77
+ // Don't throw here to avoid breaking the recording
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Finalize the WAV file by updating the header with correct sizes
83
+ */
84
+ async finalize() {
85
+ if (!this.isWriting) {
86
+ return;
87
+ }
88
+ try {
89
+ // Process any remaining queued data
90
+ await this.processWriteQueue();
91
+
92
+ // Read the current file
93
+ const currentData = await this.fs.readFile(this.filePath, 'base64');
94
+ const currentBytes = base64ToUint8Array(currentData);
95
+
96
+ // Create the correct header with final data size
97
+ const correctHeader = this.createWavHeader(this.dataSize);
98
+
99
+ // Replace the header (first 44 bytes)
100
+ const finalData = new Uint8Array(correctHeader.length + this.dataSize);
101
+ finalData.set(correctHeader, 0);
102
+ finalData.set(currentBytes.slice(44), 44); // Skip old header
103
+
104
+ // Write the final file
105
+ const finalBase64 = uint8ArrayToBase64(finalData);
106
+ await this.fs.writeFile(this.filePath, finalBase64, 'base64');
107
+ this.isWriting = false;
108
+ } catch (error) {
109
+ console.warn(`Failed to finalize WAV file: ${error}`);
110
+ }
111
+ }
112
+
113
+ /**
114
+ * Create WAV file header
115
+ */
116
+ createWavHeader(dataSize) {
117
+ const header = new ArrayBuffer(44);
118
+ const view = new DataView(header);
119
+
120
+ // RIFF header
121
+ view.setUint32(0, 0x52494646, false); // "RIFF"
122
+ view.setUint32(4, 36 + dataSize, true); // File size - 8
123
+ view.setUint32(8, 0x57415645, false); // "WAVE"
124
+
125
+ // Format chunk
126
+ view.setUint32(12, 0x666d7420, false); // "fmt "
127
+ view.setUint32(16, 16, true); // Chunk size
128
+ view.setUint16(20, 1, true); // Audio format (PCM)
129
+ view.setUint16(22, this.config.channels, true); // Number of channels
130
+ view.setUint32(24, this.config.sampleRate, true); // Sample rate
131
+ view.setUint32(28, this.config.sampleRate * this.config.channels * (this.config.bitsPerSample / 8), true); // Byte rate
132
+ view.setUint16(32, this.config.channels * (this.config.bitsPerSample / 8), true); // Block align
133
+ view.setUint16(34, this.config.bitsPerSample, true); // Bits per sample
134
+
135
+ // Data chunk
136
+ view.setUint32(36, 0x64617461, false); // "data"
137
+ view.setUint32(40, dataSize, true); // Data size
138
+
139
+ return new Uint8Array(header);
140
+ }
141
+
142
+ /**
143
+ * Cancel writing and cleanup
144
+ */
145
+ async cancel() {
146
+ this.isWriting = false;
147
+ this.writeQueue = [];
148
+ try {
149
+ // Delete the incomplete file
150
+ const exists = await this.fs.exists(this.filePath);
151
+ if (exists) {
152
+ await this.fs.unlink(this.filePath);
153
+ }
154
+ } catch (error) {
155
+ console.warn(`Failed to cleanup WAV file: ${error}`);
156
+ }
157
+ }
158
+
159
+ /**
160
+ * Get current file statistics
161
+ */
162
+ getStatistics() {
163
+ const durationSec = this.dataSize / (this.config.sampleRate * this.config.channels * (this.config.bitsPerSample / 8));
164
+ return {
165
+ filePath: this.filePath,
166
+ dataSize: this.dataSize,
167
+ durationSec,
168
+ isWriting: this.isWriting,
169
+ queuedChunks: this.writeQueue.length,
170
+ estimatedFileSizeMB: (44 + this.dataSize) / (1024 * 1024)
171
+ };
172
+ }
173
+ }
174
+ //# sourceMappingURL=WavFileWriter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["base64ToUint8Array","uint8ArrayToBase64","WavFileWriter","dataSize","isWriting","writeQueue","constructor","fs","filePath","config","initialize","header","createWavHeader","writeFile","error","Error","appendAudioData","audioData","push","processWriteQueue","console","warn","length","totalLength","reduce","sum","data","combinedData","Uint8Array","offset","forEach","set","base64Data","appendFile","finalize","currentData","readFile","currentBytes","correctHeader","finalData","slice","finalBase64","ArrayBuffer","view","DataView","setUint32","setUint16","channels","sampleRate","bitsPerSample","cancel","exists","unlink","getStatistics","durationSec","queuedChunks","estimatedFileSizeMB"],"sourceRoot":"../../../src","sources":["utils/WavFileWriter.ts"],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ const Buffer = global.Buffer || require('safe-buffer').Buffer;
2
+
3
+ /**
4
+ * Convert base64 string to Uint8Array
5
+ */
6
+ export function base64ToUint8Array(base64) {
7
+ const buffer = Buffer.from(base64, 'base64');
8
+ return new Uint8Array(buffer);
9
+ }
10
+
11
+ /**
12
+ * Convert Uint8Array to base64 string
13
+ */
14
+ export function uint8ArrayToBase64(buffer) {
15
+ const buf = Buffer.from(buffer);
16
+ return buf.toString('base64');
17
+ }
18
+ //# 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;AACA,OAAO,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;AACA,OAAO,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"}
@@ -35,7 +35,7 @@ export declare enum AudioSessionModeIos {
35
35
  SpokenAudio = "SpokenAudio"
36
36
  }
37
37
  /**
38
- * AudioSession Utility, iOS only.
38
+ * [Deprecated] AudioSession Utility, iOS only.
39
39
  */
40
40
  declare const _default: {
41
41
  Category: typeof AudioSessionCategoryIos;
@@ -1 +1 @@
1
- {"version":3,"file":"AudioSessionIos.d.ts","sourceRoot":"","sources":["../../src/AudioSessionIos.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,uBAAuB;IACjC,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CAC1B;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACvC,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,oCAAoC,yCAAyC;IAC7E,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;CACtC;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;CAC5B;AAMD;;GAEG;;;;;8BAM6B,QAAQ;QACpC,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,EAAE,6BAA6B,EAAE,CAAC;KAC1C,CAAC;0BASwB,QAAQ,mBAAmB,CAAC;4BAO1C,uBAAuB,WACxB,6BAA6B,EAAE,KACvC,QAAQ,IAAI,CAAC;oBAKM,mBAAmB,KAAG,QAAQ,IAAI,CAAC;wBAK/B,OAAO,KAAG,QAAQ,IAAI,CAAC;;AApCnD,wBAwCC"}
1
+ {"version":3,"file":"AudioSessionIos.d.ts","sourceRoot":"","sources":["../../src/AudioSessionIos.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,oBAAY,uBAAuB;IACjC,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,aAAa,kBAAkB;IAC/B,UAAU,eAAe;CAC1B;AAED;;GAEG;AACH,oBAAY,6BAA6B;IACvC,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,oCAAoC,yCAAyC;IAC7E,cAAc,mBAAmB;IACjC,kBAAkB,uBAAuB;IACzC,YAAY,iBAAiB;IAC7B,gBAAgB,qBAAqB;CACtC;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,WAAW,gBAAgB;CAC5B;AAOD;;GAEG;;;;;8BAM6B,QAAQ;QACpC,QAAQ,EAAE,uBAAuB,CAAC;QAClC,OAAO,EAAE,6BAA6B,EAAE,CAAC;KAC1C,CAAC;0BASwB,QAAQ,mBAAmB,CAAC;4BAO1C,uBAAuB,WACxB,6BAA6B,EAAE,KACvC,QAAQ,IAAI,CAAC;oBAKM,mBAAmB,KAAG,QAAQ,IAAI,CAAC;wBAK/B,OAAO,KAAG,QAAQ,IAAI,CAAC;;AApCnD,wBAwCC"}
@@ -88,6 +88,7 @@ export type VadSegment = {
88
88
  t1: number;
89
89
  };
90
90
  export interface Spec extends TurboModule {
91
+ toggleNativeLog(enabled: boolean): Promise<void>;
91
92
  getConstants(): {
92
93
  useCoreML: boolean;
93
94
  coreMLAllowFallback: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeRNWhisper.d.ts","sourceRoot":"","sources":["../../src/NativeRNWhisper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NativeRNWhisper.d.ts","sourceRoot":"","sources":["../../src/NativeRNWhisper.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import type { TranscribeOptions, TranscribeResult, VadOptions, VadSegment } from
3
3
  import AudioSessionIos from './AudioSessionIos';
4
4
  import type { AudioSessionCategoryIos, AudioSessionCategoryOptionIos, AudioSessionModeIos } from './AudioSessionIos';
5
5
  declare global {
6
- var whisperTranscribeData: (contextId: number, options: TranscribeOptions, data: ArrayBuffer | SharedArrayBuffer) => Promise<TranscribeResult>;
7
- var whisperVadDetectSpeech: (contextId: number, options: VadOptions, audioData: ArrayBuffer | SharedArrayBuffer) => Promise<{
6
+ var whisperTranscribeData: (contextId: number, options: TranscribeOptions, data: ArrayBuffer) => Promise<TranscribeResult>;
7
+ var whisperVadDetectSpeech: (contextId: number, options: VadOptions, audioData: ArrayBuffer) => Promise<{
8
8
  hasSpeech: boolean;
9
9
  segments: VadSegment[];
10
10
  }>;
@@ -159,7 +159,7 @@ export declare class WhisperContext {
159
159
  /**
160
160
  * Transcribe audio data (base64 encoded float32 PCM data or ArrayBuffer)
161
161
  */
162
- transcribeData(data: string | ArrayBuffer | SharedArrayBuffer, options?: TranscribeFileOptions): {
162
+ transcribeData(data: string | ArrayBuffer, options?: TranscribeFileOptions): {
163
163
  stop: () => Promise<void>;
164
164
  promise: Promise<TranscribeResult>;
165
165
  };
@@ -228,7 +228,7 @@ export declare class WhisperVadContext {
228
228
  /**
229
229
  * Detect speech segments in raw audio data (base64 encoded float32 PCM data or ArrayBuffer)
230
230
  */
231
- detectSpeechData(audioData: string | ArrayBuffer | SharedArrayBuffer, options?: VadOptions): Promise<VadSegment[]>;
231
+ detectSpeechData(audioData: string | ArrayBuffer, options?: VadOptions): Promise<VadSegment[]>;
232
232
  release(): Promise<void>;
233
233
  }
234
234
  /**
@@ -242,4 +242,8 @@ export declare function initWhisperVad({ filePath, isBundleAsset, useGpu, nThrea
242
242
  * @returns Promise resolving when all contexts are released
243
243
  */
244
244
  export declare function releaseAllWhisperVad(): Promise<void>;
245
+ export declare function toggleNativeLog(enabled: boolean): Promise<void>;
246
+ export declare function addNativeLogListener(listener: (level: string, text: string) => void): {
247
+ remove: () => void;
248
+ };
245
249
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=jest-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jest-mock.d.ts","sourceRoot":"","sources":["../../src/jest-mock.ts"],"names":[],"mappings":""}
@@ -0,0 +1,166 @@
1
+ import type { VadOptions } from '../index';
2
+ import type { RealtimeOptions, RealtimeTranscribeEvent, RealtimeTranscriberCallbacks, RealtimeTranscriberDependencies, AudioSliceNoData } from './types';
3
+ /**
4
+ * RealtimeTranscriber provides real-time audio transcription with VAD support.
5
+ *
6
+ * Features:
7
+ * - Automatic slice management based on duration
8
+ * - VAD-based speech detection and auto-slicing
9
+ * - Configurable auto-slice mechanism that triggers on speech_end/silence events
10
+ * - Memory management for audio slices
11
+ * - Queue-based transcription processing
12
+ */
13
+ export declare class RealtimeTranscriber {
14
+ private whisperContext;
15
+ private vadContext?;
16
+ private audioStream;
17
+ private fs?;
18
+ private sliceManager;
19
+ private callbacks;
20
+ private options;
21
+ private isActive;
22
+ private isTranscribing;
23
+ private vadEnabled;
24
+ private transcriptionQueue;
25
+ private accumulatedData;
26
+ private wavFileWriter;
27
+ private lastSpeechDetectedTime;
28
+ private lastVadState;
29
+ private lastStatsSnapshot;
30
+ private transcriptionResults;
31
+ private vadEvents;
32
+ constructor(dependencies: RealtimeTranscriberDependencies, options?: RealtimeOptions, callbacks?: RealtimeTranscriberCallbacks);
33
+ /**
34
+ * Start realtime transcription
35
+ */
36
+ start(): Promise<void>;
37
+ /**
38
+ * Stop realtime transcription
39
+ */
40
+ stop(): Promise<void>;
41
+ /**
42
+ * Handle incoming audio data from audio stream
43
+ */
44
+ private handleAudioData;
45
+ /**
46
+ * Accumulate audio data for slice management
47
+ */
48
+ private accumulateAudioData;
49
+ /**
50
+ * Process accumulated audio data through SliceManager
51
+ */
52
+ private processAccumulatedDataForSliceManagement;
53
+ /**
54
+ * Check if auto-slice should be triggered based on VAD event and timing
55
+ */
56
+ private checkAutoSlice;
57
+ /**
58
+ * Process VAD for a completed slice
59
+ */
60
+ private processSliceVAD;
61
+ /**
62
+ * Queue a slice for transcription
63
+ */
64
+ private queueSliceForTranscription;
65
+ /**
66
+ * Detect speech using VAD context
67
+ */
68
+ private detectSpeech;
69
+ private isProcessingTranscriptionQueue;
70
+ /**
71
+ * Process the transcription queue
72
+ */
73
+ private processTranscriptionQueue;
74
+ /**
75
+ * Build prompt from initial prompt and previous slices
76
+ */
77
+ private buildPrompt;
78
+ /**
79
+ * Process a single transcription
80
+ */
81
+ private processTranscription;
82
+ /**
83
+ * Handle audio status changes
84
+ */
85
+ private handleAudioStatusChange;
86
+ /**
87
+ * Handle errors from components
88
+ */
89
+ private handleError;
90
+ /**
91
+ * Update callbacks
92
+ */
93
+ updateCallbacks(callbacks: Partial<RealtimeTranscriberCallbacks>): void;
94
+ /**
95
+ * Update VAD options dynamically
96
+ */
97
+ updateVadOptions(options: Partial<VadOptions>): void;
98
+ /**
99
+ * Update auto-slice options dynamically
100
+ */
101
+ updateAutoSliceOptions(options: {
102
+ autoSliceOnSpeechEnd?: boolean;
103
+ autoSliceThreshold?: number;
104
+ }): void;
105
+ /**
106
+ * Get current statistics
107
+ */
108
+ getStatistics(): {
109
+ isActive: boolean;
110
+ isTranscribing: boolean;
111
+ vadEnabled: boolean;
112
+ audioStats: {
113
+ isRecording: boolean;
114
+ accumulatedSamples: number;
115
+ };
116
+ vadStats: {
117
+ enabled: boolean;
118
+ contextAvailable: boolean;
119
+ lastSpeechDetectedTime: number;
120
+ } | null;
121
+ sliceStats: {
122
+ currentSliceIndex: number;
123
+ transcribeSliceIndex: number;
124
+ totalSlices: number;
125
+ memoryUsage: import("./types").MemoryUsage;
126
+ };
127
+ autoSliceConfig: {
128
+ enabled: boolean;
129
+ threshold: number;
130
+ targetDuration: number;
131
+ minDuration: number;
132
+ };
133
+ };
134
+ /**
135
+ * Get all transcription results
136
+ */
137
+ getTranscriptionResults(): Array<{
138
+ slice: AudioSliceNoData;
139
+ transcribeEvent: RealtimeTranscribeEvent;
140
+ }>;
141
+ /**
142
+ * Force move to the next slice, finalizing the current one regardless of capacity
143
+ */
144
+ nextSlice(): Promise<void>;
145
+ /**
146
+ * Reset all components
147
+ */
148
+ reset(): void;
149
+ /**
150
+ * Release all resources
151
+ */
152
+ release(): Promise<void>;
153
+ /**
154
+ * Emit stats update event if stats have changed significantly
155
+ */
156
+ private emitStatsUpdate;
157
+ /**
158
+ * Determine if stats update should be emitted
159
+ */
160
+ private static shouldEmitStatsUpdate;
161
+ /**
162
+ * Logger function
163
+ */
164
+ private log;
165
+ }
166
+ //# sourceMappingURL=RealtimeTranscriber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RealtimeTranscriber.d.ts","sourceRoot":"","sources":["../../../src/realtime-transcription/RealtimeTranscriber.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,OAAO,KAAK,EACV,eAAe,EACf,uBAAuB,EAEvB,4BAA4B,EAE5B,+BAA+B,EAE/B,gBAAgB,EAKjB,MAAM,SAAS,CAAA;AAGhB;;;;;;;;;GASG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,cAAc,CAAoB;IAE1C,OAAO,CAAC,UAAU,CAAC,CAAuB;IAE1C,OAAO,CAAC,WAAW,CAAsB;IAEzC,OAAO,CAAC,EAAE,CAAC,CAAiB;IAE5B,OAAO,CAAC,YAAY,CAAc;IAElC,OAAO,CAAC,SAAS,CAAmC;IAEpD,OAAO,CAAC,OAAO,CAcd;IAED,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,cAAc,CAAQ;IAE9B,OAAO,CAAC,UAAU,CAAQ;IAE1B,OAAO,CAAC,kBAAkB,CAGnB;IAEP,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,aAAa,CAA6B;IAGlD,OAAO,CAAC,sBAAsB,CAAI;IAGlC,OAAO,CAAC,YAAY,CAAkC;IAGtD,OAAO,CAAC,iBAAiB,CAAY;IAGrC,OAAO,CAAC,oBAAoB,CAGf;IAGb,OAAO,CAAC,SAAS,CAA2C;gBAG1D,YAAY,EAAE,+BAA+B,EAC7C,OAAO,GAAE,eAAoB,EAC7B,SAAS,GAAE,4BAAiC;IA+C9C;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+C5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAuC3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,wCAAwC;IAkChD;;OAEG;YACW,cAAc;IA2D5B;;OAEG;YACW,eAAe;IAoF7B;;OAEG;YACW,0BAA0B;IA6CxC;;OAEG;YACW,YAAY;IAkG1B,OAAO,CAAC,8BAA8B,CAAQ;IAE9C;;OAEG;YACW,yBAAyB;IAmBvC;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;OAEG;YACW,oBAAoB;IAoGlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAI/B;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,4BAA4B,CAAC,GAAG,IAAI;IAIvE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI;IAIpD;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE;QAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAA;QAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC5B,GAAG,IAAI;IAYR;;OAEG;IACH,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;IA0Bb;;OAEG;IACH,uBAAuB,IAAI,KAAK,CAAC;QAC/B,KAAK,EAAE,gBAAgB,CAAA;QACvB,eAAe,EAAE,uBAAuB,CAAA;KACzC,CAAC;IAIF;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAwDhC;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Bb;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAsBvB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAwBpC;;OAEG;IACH,OAAO,CAAC,GAAG;CAGZ"}
@@ -0,0 +1,72 @@
1
+ import type { AudioSlice, MemoryUsage } from './types';
2
+ export declare class SliceManager {
3
+ private slices;
4
+ private currentSliceIndex;
5
+ private transcribeSliceIndex;
6
+ private maxSlicesInMemory;
7
+ private sliceDurationSec;
8
+ private sampleRate;
9
+ constructor(sliceDurationSec?: number, maxSlicesInMemory?: number, sampleRate?: number);
10
+ /**
11
+ * Add audio data to the current slice
12
+ */
13
+ addAudioData(audioData: Uint8Array): {
14
+ slice?: AudioSlice;
15
+ };
16
+ /**
17
+ * Get the current slice being built
18
+ */
19
+ private getCurrentSlice;
20
+ /**
21
+ * Finalize the current slice
22
+ */
23
+ private finalizeCurrentSlice;
24
+ /**
25
+ * Get a slice for transcription
26
+ */
27
+ getSliceForTranscription(): AudioSlice | null;
28
+ /**
29
+ * Mark a slice as processed
30
+ */
31
+ markSliceAsProcessed(sliceIndex: number): void;
32
+ /**
33
+ * Move to the next slice for transcription
34
+ */
35
+ moveToNextTranscribeSlice(): void;
36
+ /**
37
+ * Get audio data for transcription (base64 encoded)
38
+ */
39
+ getAudioDataForTranscription(sliceIndex: number): Uint8Array | null;
40
+ /**
41
+ * Get a slice by index
42
+ */
43
+ getSliceByIndex(sliceIndex: number): AudioSlice | null;
44
+ /**
45
+ * Clean up old slices to manage memory
46
+ */
47
+ private cleanupOldSlices;
48
+ /**
49
+ * Get memory usage statistics
50
+ */
51
+ getMemoryUsage(): MemoryUsage;
52
+ /**
53
+ * Reset all slices and indices
54
+ */
55
+ reset(): void;
56
+ /**
57
+ * Get current slice information
58
+ */
59
+ getCurrentSliceInfo(): {
60
+ currentSliceIndex: number;
61
+ transcribeSliceIndex: number;
62
+ totalSlices: number;
63
+ memoryUsage: MemoryUsage;
64
+ };
65
+ /**
66
+ * Force move to the next slice, finalizing the current one regardless of capacity
67
+ */
68
+ forceNextSlice(): {
69
+ slice?: AudioSlice;
70
+ };
71
+ }
72
+ //# sourceMappingURL=SliceManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SliceManager.d.ts","sourceRoot":"","sources":["../../../src/realtime-transcription/SliceManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEtD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAmB;IAEjC,OAAO,CAAC,iBAAiB,CAAI;IAE7B,OAAO,CAAC,oBAAoB,CAAI;IAEhC,OAAO,CAAC,iBAAiB,CAAQ;IAEjC,OAAO,CAAC,gBAAgB,CAAQ;IAEhC,OAAO,CAAC,UAAU,CAAQ;gBAGxB,gBAAgB,SAAK,EACrB,iBAAiB,SAAI,EACrB,UAAU,SAAQ;IAOpB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG;QACnC,KAAK,CAAC,EAAE,UAAU,CAAA;KACnB;IAkCD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;OAEG;IACH,wBAAwB,IAAI,UAAU,GAAG,IAAI;IAY7C;;OAEG;IACH,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAO9C;;OAEG;IACH,yBAAyB,IAAI,IAAI;IAIjC;;OAEG;IACH,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IASnE;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAItD;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;OAEG;IACH,cAAc,IAAI,WAAW;IAiB7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,mBAAmB;;;;;;IASnB;;OAEG;IACH,cAAc,IAAI;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE;CAmBzC"}
@@ -0,0 +1,22 @@
1
+ import type { AudioStreamInterface, AudioStreamConfig, AudioStreamData } from '../types';
2
+ export declare class AudioPcmStreamAdapter implements AudioStreamInterface {
3
+ private isInitialized;
4
+ private recording;
5
+ private config;
6
+ private dataCallback?;
7
+ private errorCallback?;
8
+ private statusCallback?;
9
+ initialize(config: AudioStreamConfig): Promise<void>;
10
+ start(): Promise<void>;
11
+ stop(): Promise<void>;
12
+ isRecording(): boolean;
13
+ onData(callback: (data: AudioStreamData) => void): void;
14
+ onError(callback: (error: string) => void): void;
15
+ onStatusChange(callback: (isRecording: boolean) => void): void;
16
+ release(): Promise<void>;
17
+ /**
18
+ * Handle incoming audio data from LiveAudioStream
19
+ */
20
+ private handleAudioData;
21
+ }
22
+ //# sourceMappingURL=AudioPcmStreamAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioPcmStreamAdapter.d.ts","sourceRoot":"","sources":["../../../../src/realtime-transcription/adapters/AudioPcmStreamAdapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAGxF,qBAAa,qBAAsB,YAAW,oBAAoB;IAChE,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,MAAM,CAAiC;IAE/C,OAAO,CAAC,YAAY,CAAC,CAAiC;IAEtD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAE/C,OAAO,CAAC,cAAc,CAAC,CAAgC;IAEjD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB3B,WAAW,IAAI,OAAO;IAItB,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIvD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhD,cAAc,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B;;OAEG;IACH,OAAO,CAAC,eAAe;CAqBxB"}
@@ -0,0 +1,44 @@
1
+ import type { AudioStreamInterface, AudioStreamConfig, AudioStreamData } from '../types';
2
+ export interface JestAudioStreamAdapterOptions {
3
+ sampleRate?: number;
4
+ channels?: number;
5
+ bitsPerSample?: number;
6
+ simulateLatency?: number;
7
+ simulateErrors?: boolean;
8
+ simulateStartErrorOnly?: boolean;
9
+ chunkSize?: number;
10
+ chunkInterval?: number;
11
+ maxChunks?: number;
12
+ audioData?: Uint8Array;
13
+ generateSilence?: boolean;
14
+ }
15
+ export declare class JestAudioStreamAdapter implements AudioStreamInterface {
16
+ private config;
17
+ private options;
18
+ private isInitialized;
19
+ private recording;
20
+ private dataCallback?;
21
+ private errorCallback?;
22
+ private statusCallback?;
23
+ private streamInterval?;
24
+ private chunksSent;
25
+ private startTime;
26
+ constructor(options?: JestAudioStreamAdapterOptions);
27
+ initialize(config: AudioStreamConfig): Promise<void>;
28
+ start(): Promise<void>;
29
+ stop(): Promise<void>;
30
+ isRecording(): boolean;
31
+ onData(callback: (data: AudioStreamData) => void): void;
32
+ onError(callback: (error: string) => void): void;
33
+ onStatusChange(callback: (isRecording: boolean) => void): void;
34
+ release(): Promise<void>;
35
+ simulateError(error: string): void;
36
+ simulateDataChunk(data: Uint8Array): void;
37
+ getChunksSent(): number;
38
+ getTotalBytesStreamed(): number;
39
+ getStreamDuration(): number;
40
+ private startStreaming;
41
+ private generateAudioChunk;
42
+ private static delay;
43
+ }
44
+ //# sourceMappingURL=JestAudioStreamAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JestAudioStreamAdapter.d.ts","sourceRoot":"","sources":["../../../../src/realtime-transcription/adapters/JestAudioStreamAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAExF,MAAM,WAAW,6BAA6B;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,UAAU,CAAA;IACtB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,qBAAa,sBAAuB,YAAW,oBAAoB;IACjE,OAAO,CAAC,MAAM,CAAiC;IAE/C,OAAO,CAAC,OAAO,CAA+B;IAE9C,OAAO,CAAC,aAAa,CAAQ;IAE7B,OAAO,CAAC,SAAS,CAAQ;IAEzB,OAAO,CAAC,YAAY,CAAC,CAAiC;IAEtD,OAAO,CAAC,aAAa,CAAC,CAAyB;IAE/C,OAAO,CAAC,cAAc,CAAC,CAAgC;IAEvD,OAAO,CAAC,cAAc,CAAC,CAA+B;IAEtD,OAAO,CAAC,UAAU,CAAI;IAEtB,OAAO,CAAC,SAAS,CAAI;gBAET,OAAO,GAAE,6BAAkC;IAejD,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB3B,WAAW,IAAI,OAAO;IAItB,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAIvD,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAIhD,cAAc,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAIxD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIlC,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAezC,aAAa,IAAI,MAAM;IAIvB,qBAAqB,IAAI,MAAM;IAI/B,iBAAiB,IAAI,MAAM;IAIzB,OAAO,CAAC,cAAc;IAkCxB,OAAO,CAAC,kBAAkB;IAyC1B,OAAO,CAAC,MAAM,CAAC,KAAK;CAGrB"}