@runanywhere/web 0.1.0-beta.5 → 0.1.0-beta.6
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/Foundation/SherpaONNXBridge.d.ts +147 -0
- package/dist/Foundation/SherpaONNXBridge.d.ts.map +1 -0
- package/dist/Foundation/SherpaONNXBridge.js +345 -0
- package/dist/Foundation/SherpaONNXBridge.js.map +1 -0
- package/dist/Foundation/StructOffsets.d.ts +5 -33
- package/dist/Foundation/StructOffsets.d.ts.map +1 -1
- package/dist/Foundation/StructOffsets.js +94 -128
- package/dist/Foundation/StructOffsets.js.map +1 -1
- package/dist/Infrastructure/AudioCapture.d.ts +99 -0
- package/dist/Infrastructure/AudioCapture.d.ts.map +1 -0
- package/dist/Infrastructure/AudioCapture.js +264 -0
- package/dist/Infrastructure/AudioCapture.js.map +1 -0
- package/dist/Infrastructure/AudioPlayback.d.ts +53 -0
- package/dist/Infrastructure/AudioPlayback.d.ts.map +1 -0
- package/dist/Infrastructure/AudioPlayback.js +117 -0
- package/dist/Infrastructure/AudioPlayback.js.map +1 -0
- package/dist/Infrastructure/ModelDownloader.d.ts +5 -16
- package/dist/Infrastructure/ModelDownloader.d.ts.map +1 -1
- package/dist/Infrastructure/ModelDownloader.js +7 -54
- package/dist/Infrastructure/ModelDownloader.js.map +1 -1
- package/dist/Infrastructure/ModelLoaderTypes.d.ts +11 -76
- package/dist/Infrastructure/ModelLoaderTypes.d.ts.map +1 -1
- package/dist/Infrastructure/ModelLoaderTypes.js +1 -7
- package/dist/Infrastructure/ModelLoaderTypes.js.map +1 -1
- package/dist/Infrastructure/ModelManager.d.ts +104 -30
- package/dist/Infrastructure/ModelManager.d.ts.map +1 -1
- package/dist/Infrastructure/ModelManager.js +546 -209
- package/dist/Infrastructure/ModelManager.js.map +1 -1
- package/dist/Infrastructure/ModelRegistry.d.ts +8 -6
- package/dist/Infrastructure/ModelRegistry.d.ts.map +1 -1
- package/dist/Infrastructure/ModelRegistry.js +4 -11
- package/dist/Infrastructure/ModelRegistry.js.map +1 -1
- package/dist/Infrastructure/VLMWorkerBridge.d.ts +211 -0
- package/dist/Infrastructure/VLMWorkerBridge.d.ts.map +1 -0
- package/dist/Infrastructure/VLMWorkerBridge.js +264 -0
- package/dist/Infrastructure/VLMWorkerBridge.js.map +1 -0
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts +38 -0
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts.map +1 -0
- package/dist/Infrastructure/VLMWorkerRuntime.js +503 -0
- package/dist/Infrastructure/VLMWorkerRuntime.js.map +1 -0
- package/dist/Infrastructure/VideoCapture.d.ts +130 -0
- package/dist/Infrastructure/VideoCapture.d.ts.map +1 -0
- package/dist/Infrastructure/VideoCapture.js +236 -0
- package/dist/Infrastructure/VideoCapture.js.map +1 -0
- package/dist/Public/Extensions/DiffusionTypes.d.ts +64 -0
- package/dist/Public/Extensions/DiffusionTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/DiffusionTypes.js +28 -0
- package/dist/Public/Extensions/DiffusionTypes.js.map +1 -0
- package/dist/Public/Extensions/EmbeddingsTypes.d.ts +33 -0
- package/dist/Public/Extensions/EmbeddingsTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/EmbeddingsTypes.js +13 -0
- package/dist/Public/Extensions/EmbeddingsTypes.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts +44 -0
- package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+Diffusion.js +189 -0
- package/dist/Public/Extensions/RunAnywhere+Diffusion.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts +56 -0
- package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+Embeddings.js +240 -0
- package/dist/Public/Extensions/RunAnywhere+Embeddings.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+STT.d.ts +97 -0
- package/dist/Public/Extensions/RunAnywhere+STT.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+STT.js +417 -0
- package/dist/Public/Extensions/RunAnywhere+STT.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts +69 -0
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js +196 -0
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+TTS.d.ts +55 -0
- package/dist/Public/Extensions/RunAnywhere+TTS.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+TTS.js +253 -0
- package/dist/Public/Extensions/RunAnywhere+TTS.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts +80 -0
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.js +470 -0
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts +82 -0
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.js +576 -0
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+VAD.d.ts +70 -0
- package/dist/Public/Extensions/RunAnywhere+VAD.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+VAD.js +231 -0
- package/dist/Public/Extensions/RunAnywhere+VAD.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+VLM.d.ts +58 -0
- package/dist/Public/Extensions/RunAnywhere+VLM.d.ts.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+VLM.js +262 -0
- package/dist/Public/Extensions/RunAnywhere+VLM.js.map +1 -0
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts +29 -3
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js +42 -46
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js.map +1 -1
- package/dist/Public/Extensions/STTTypes.d.ts +61 -0
- package/dist/Public/Extensions/STTTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/STTTypes.js +16 -0
- package/dist/Public/Extensions/STTTypes.js.map +1 -0
- package/dist/Public/Extensions/TTSTypes.d.ts +31 -0
- package/dist/Public/Extensions/TTSTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/TTSTypes.js +3 -0
- package/dist/Public/Extensions/TTSTypes.js.map +1 -0
- package/dist/Public/Extensions/ToolCallingTypes.d.ts +78 -0
- package/dist/Public/Extensions/ToolCallingTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/ToolCallingTypes.js +8 -0
- package/dist/Public/Extensions/ToolCallingTypes.js.map +1 -0
- package/dist/Public/Extensions/VADTypes.d.ts +30 -0
- package/dist/Public/Extensions/VADTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/VADTypes.js +8 -0
- package/dist/Public/Extensions/VADTypes.js.map +1 -0
- package/dist/Public/Extensions/VLMTypes.d.ts +56 -0
- package/dist/Public/Extensions/VLMTypes.d.ts.map +1 -0
- package/dist/Public/Extensions/VLMTypes.js +24 -0
- package/dist/Public/Extensions/VLMTypes.js.map +1 -0
- package/dist/Public/Extensions/VoicePipelineTypes.d.ts +37 -28
- package/dist/Public/Extensions/VoicePipelineTypes.d.ts.map +1 -1
- package/dist/Public/Extensions/VoicePipelineTypes.js +1 -4
- package/dist/Public/Extensions/VoicePipelineTypes.js.map +1 -1
- package/dist/Public/RunAnywhere.d.ts +61 -65
- package/dist/Public/RunAnywhere.d.ts.map +1 -1
- package/dist/Public/RunAnywhere.js +141 -193
- package/dist/Public/RunAnywhere.js.map +1 -1
- package/dist/index.d.ts +39 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -19
- package/dist/index.js.map +1 -1
- package/dist/types/LLMTypes.d.ts +48 -0
- package/dist/types/LLMTypes.d.ts.map +1 -0
- package/dist/types/LLMTypes.js +8 -0
- package/dist/types/LLMTypes.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +0 -1
- package/dist/types/index.js.map +1 -1
- package/dist/workers/vlm-worker.d.ts +9 -0
- package/dist/workers/vlm-worker.d.ts.map +1 -0
- package/dist/workers/vlm-worker.js +10 -0
- package/dist/workers/vlm-worker.js.map +1 -0
- package/package.json +5 -1
- package/wasm/racommons-webgpu.js +156 -0
- package/wasm/racommons-webgpu.wasm +0 -0
- package/wasm/racommons.js +91 -91
- package/wasm/racommons.wasm +0 -0
- package/wasm/sherpa/sherpa-onnx-asr.js +1538 -0
- package/wasm/sherpa/sherpa-onnx-glue-original.js +19 -0
- package/wasm/sherpa/sherpa-onnx-glue.js +17 -0
- package/wasm/sherpa/sherpa-onnx-tts.js +657 -0
- package/wasm/sherpa/sherpa-onnx-vad.js +337 -0
- package/wasm/sherpa/sherpa-onnx-wave.js +88 -0
- package/wasm/sherpa/sherpa-onnx.wasm +0 -0
- package/dist/Infrastructure/ExtensionPoint.d.ts +0 -78
- package/dist/Infrastructure/ExtensionPoint.d.ts.map +0 -1
- package/dist/Infrastructure/ExtensionPoint.js +0 -118
- package/dist/Infrastructure/ExtensionPoint.js.map +0 -1
- package/dist/Infrastructure/LocalFileStorage.d.ts +0 -116
- package/dist/Infrastructure/LocalFileStorage.d.ts.map +0 -1
- package/dist/Infrastructure/LocalFileStorage.js +0 -368
- package/dist/Infrastructure/LocalFileStorage.js.map +0 -1
- package/dist/Infrastructure/ModelFileInference.d.ts +0 -39
- package/dist/Infrastructure/ModelFileInference.d.ts.map +0 -1
- package/dist/Infrastructure/ModelFileInference.js +0 -110
- package/dist/Infrastructure/ModelFileInference.js.map +0 -1
|
@@ -9,188 +9,154 @@
|
|
|
9
9
|
* `offsetof()` in wasm_exports.cpp) exactly once after the WASM module is
|
|
10
10
|
* loaded, and caches the results for the lifetime of the page.
|
|
11
11
|
*
|
|
12
|
-
* The offset system is extensible: backend packages (llamacpp, onnx) can
|
|
13
|
-
* register additional offsets via `mergeOffsets()`.
|
|
14
|
-
*
|
|
15
12
|
* Usage:
|
|
16
|
-
* import { Offsets, loadOffsets } from '
|
|
13
|
+
* import { Offsets, loadOffsets } from '../Foundation/StructOffsets';
|
|
17
14
|
*
|
|
18
15
|
* // Called once during SDK init (after WASM load):
|
|
19
16
|
* loadOffsets(wasmModule);
|
|
20
17
|
*
|
|
21
18
|
* // Then anywhere:
|
|
22
|
-
* m.setValue(optPtr + Offsets.
|
|
19
|
+
* m.setValue(optPtr + Offsets.llmOptions.temperature, 0.8, 'float');
|
|
23
20
|
*/
|
|
24
21
|
// ---------------------------------------------------------------------------
|
|
25
22
|
// Singleton
|
|
26
23
|
// ---------------------------------------------------------------------------
|
|
27
|
-
let _offsets =
|
|
24
|
+
let _offsets = null;
|
|
28
25
|
/**
|
|
29
|
-
* Get the cached struct offsets.
|
|
30
|
-
* Returns the merged offsets from core + all registered backends.
|
|
26
|
+
* Get the cached struct offsets. Throws if `loadOffsets()` hasn't been called.
|
|
31
27
|
*/
|
|
32
28
|
export function getOffsets() {
|
|
29
|
+
if (!_offsets) {
|
|
30
|
+
throw new Error('StructOffsets not loaded — call loadOffsets(module) after WASM init');
|
|
31
|
+
}
|
|
33
32
|
return _offsets;
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
36
35
|
* Convenience re-export so callers can write `Offsets.vlmResult.text`.
|
|
37
|
-
* Returns a Proxy that dynamically resolves from the cached offset store.
|
|
38
36
|
*/
|
|
39
37
|
export const Offsets = new Proxy({}, {
|
|
40
38
|
get(_target, prop) {
|
|
41
39
|
return getOffsets()[prop];
|
|
42
40
|
},
|
|
43
41
|
});
|
|
44
|
-
// ---------------------------------------------------------------------------
|
|
45
|
-
// WASM offset helpers (exported for backend packages)
|
|
46
|
-
// ---------------------------------------------------------------------------
|
|
47
|
-
/**
|
|
48
|
-
* Safely call a `_rac_wasm_offsetof_*` function. Returns 0 if the
|
|
49
|
-
* function doesn't exist (e.g. backend not compiled in).
|
|
50
|
-
*/
|
|
51
|
-
export function wasmOffsetOf(m, name) {
|
|
52
|
-
const fn = m[`_rac_wasm_offsetof_${name}`];
|
|
53
|
-
return typeof fn === 'function' ? fn() : 0;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Safely call a `_rac_wasm_sizeof_*` function. Returns 0 if the
|
|
57
|
-
* function doesn't exist.
|
|
58
|
-
*/
|
|
59
|
-
export function wasmSizeOf(m, name) {
|
|
60
|
-
const fn = m[`_rac_wasm_sizeof_${name}`];
|
|
61
|
-
return typeof fn === 'function' ? fn() : 0;
|
|
62
|
-
}
|
|
63
|
-
// ---------------------------------------------------------------------------
|
|
64
|
-
// Loading
|
|
65
|
-
// ---------------------------------------------------------------------------
|
|
66
42
|
/**
|
|
67
|
-
*
|
|
68
|
-
*
|
|
43
|
+
* Read all struct field offsets from the WASM module and cache them.
|
|
44
|
+
* Must be called exactly once, after the WASM module is loaded.
|
|
69
45
|
*
|
|
70
46
|
* @param m - The Emscripten WASM module instance
|
|
71
47
|
*/
|
|
72
48
|
export function loadOffsets(m) {
|
|
49
|
+
// Helper: safely call an offset function, returning 0 if it doesn't exist
|
|
50
|
+
// (e.g. when a backend wasn't compiled in).
|
|
51
|
+
const off = (name) => {
|
|
52
|
+
const fn = m[`_rac_wasm_offsetof_${name}`];
|
|
53
|
+
return typeof fn === 'function' ? fn() : 0;
|
|
54
|
+
};
|
|
55
|
+
const sz = (name) => {
|
|
56
|
+
const fn = m[`_rac_wasm_sizeof_${name}`];
|
|
57
|
+
return typeof fn === 'function' ? fn() : 0;
|
|
58
|
+
};
|
|
73
59
|
_offsets = {
|
|
74
|
-
..._offsets,
|
|
75
60
|
config: {
|
|
76
|
-
logLevel:
|
|
61
|
+
logLevel: off('config_log_level'),
|
|
77
62
|
},
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Merge additional offsets from a backend package.
|
|
82
|
-
* Called by backend providers during registration.
|
|
83
|
-
*
|
|
84
|
-
* @param offsets - Partial offset tables to merge
|
|
85
|
-
*/
|
|
86
|
-
export function mergeOffsets(offsets) {
|
|
87
|
-
_offsets = { ..._offsets, ...offsets };
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Load offsets for a standalone WASM module (e.g. in a Web Worker).
|
|
91
|
-
* Returns the offsets directly instead of storing them in the singleton.
|
|
92
|
-
* Useful when the Worker has its own WASM instance.
|
|
93
|
-
*/
|
|
94
|
-
export function loadOffsetsFromModule(m) {
|
|
95
|
-
loadOffsets(m);
|
|
96
|
-
// Also load all llama.cpp offsets for the worker (VLM Worker needs these)
|
|
97
|
-
loadLlamaCppOffsetsInto(m);
|
|
98
|
-
return _offsets;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Load llama.cpp-specific offsets into the singleton.
|
|
102
|
-
* Called by LlamaCppProvider.register() and loadOffsetsFromModule().
|
|
103
|
-
*/
|
|
104
|
-
export function loadLlamaCppOffsetsInto(m) {
|
|
105
|
-
mergeOffsets({
|
|
106
63
|
llmOptions: {
|
|
107
|
-
maxTokens:
|
|
108
|
-
temperature:
|
|
109
|
-
topP:
|
|
110
|
-
systemPrompt:
|
|
64
|
+
maxTokens: off('llm_options_max_tokens'),
|
|
65
|
+
temperature: off('llm_options_temperature'),
|
|
66
|
+
topP: off('llm_options_top_p'),
|
|
67
|
+
systemPrompt: off('llm_options_system_prompt'),
|
|
111
68
|
},
|
|
112
69
|
llmResult: {
|
|
113
|
-
text:
|
|
114
|
-
promptTokens:
|
|
115
|
-
completionTokens:
|
|
70
|
+
text: off('llm_result_text'),
|
|
71
|
+
promptTokens: off('llm_result_prompt_tokens'),
|
|
72
|
+
completionTokens: off('llm_result_completion_tokens'),
|
|
116
73
|
},
|
|
117
74
|
vlmImage: {
|
|
118
|
-
format:
|
|
119
|
-
filePath:
|
|
120
|
-
pixelData:
|
|
121
|
-
base64Data:
|
|
122
|
-
width:
|
|
123
|
-
height:
|
|
124
|
-
dataSize:
|
|
75
|
+
format: off('vlm_image_format'),
|
|
76
|
+
filePath: off('vlm_image_file_path'),
|
|
77
|
+
pixelData: off('vlm_image_pixel_data'),
|
|
78
|
+
base64Data: off('vlm_image_base64_data'),
|
|
79
|
+
width: off('vlm_image_width'),
|
|
80
|
+
height: off('vlm_image_height'),
|
|
81
|
+
dataSize: off('vlm_image_data_size'),
|
|
125
82
|
},
|
|
126
83
|
vlmOptions: {
|
|
127
|
-
maxTokens:
|
|
128
|
-
temperature:
|
|
129
|
-
topP:
|
|
130
|
-
streamingEnabled:
|
|
131
|
-
systemPrompt:
|
|
132
|
-
modelFamily:
|
|
84
|
+
maxTokens: off('vlm_options_max_tokens'),
|
|
85
|
+
temperature: off('vlm_options_temperature'),
|
|
86
|
+
topP: off('vlm_options_top_p'),
|
|
87
|
+
streamingEnabled: off('vlm_options_streaming_enabled'),
|
|
88
|
+
systemPrompt: off('vlm_options_system_prompt'),
|
|
89
|
+
modelFamily: off('vlm_options_model_family'),
|
|
133
90
|
},
|
|
134
91
|
vlmResult: {
|
|
135
|
-
text:
|
|
136
|
-
promptTokens:
|
|
137
|
-
imageTokens:
|
|
138
|
-
completionTokens:
|
|
139
|
-
totalTokens:
|
|
140
|
-
timeToFirstTokenMs:
|
|
141
|
-
imageEncodeTimeMs:
|
|
142
|
-
totalTimeMs:
|
|
143
|
-
tokensPerSecond:
|
|
92
|
+
text: off('vlm_result_text'),
|
|
93
|
+
promptTokens: off('vlm_result_prompt_tokens'),
|
|
94
|
+
imageTokens: off('vlm_result_image_tokens'),
|
|
95
|
+
completionTokens: off('vlm_result_completion_tokens'),
|
|
96
|
+
totalTokens: off('vlm_result_total_tokens'),
|
|
97
|
+
timeToFirstTokenMs: off('vlm_result_time_to_first_token_ms'),
|
|
98
|
+
imageEncodeTimeMs: off('vlm_result_image_encode_time_ms'),
|
|
99
|
+
totalTimeMs: off('vlm_result_total_time_ms'),
|
|
100
|
+
tokensPerSecond: off('vlm_result_tokens_per_second'),
|
|
144
101
|
},
|
|
145
102
|
structuredOutputConfig: {
|
|
146
|
-
jsonSchema:
|
|
147
|
-
includeSchemaInPrompt:
|
|
103
|
+
jsonSchema: off('structured_output_config_json_schema'),
|
|
104
|
+
includeSchemaInPrompt: off('structured_output_config_include_schema'),
|
|
148
105
|
},
|
|
149
106
|
structuredOutputValidation: {
|
|
150
|
-
isValid:
|
|
151
|
-
errorMessage:
|
|
152
|
-
extractedJson:
|
|
107
|
+
isValid: off('structured_output_validation_is_valid'),
|
|
108
|
+
errorMessage: off('structured_output_validation_error_message'),
|
|
109
|
+
extractedJson: off('structured_output_validation_extracted_json'),
|
|
153
110
|
},
|
|
154
111
|
embeddingsOptions: {
|
|
155
|
-
normalize:
|
|
156
|
-
pooling:
|
|
157
|
-
nThreads:
|
|
112
|
+
normalize: off('embeddings_options_normalize'),
|
|
113
|
+
pooling: off('embeddings_options_pooling'),
|
|
114
|
+
nThreads: off('embeddings_options_n_threads'),
|
|
158
115
|
},
|
|
159
116
|
embeddingsResult: {
|
|
160
|
-
embeddings:
|
|
161
|
-
numEmbeddings:
|
|
162
|
-
dimension:
|
|
163
|
-
processingTimeMs:
|
|
164
|
-
totalTokens:
|
|
117
|
+
embeddings: off('embeddings_result_embeddings'),
|
|
118
|
+
numEmbeddings: off('embeddings_result_num_embeddings'),
|
|
119
|
+
dimension: off('embeddings_result_dimension'),
|
|
120
|
+
processingTimeMs: off('embeddings_result_processing_time_ms'),
|
|
121
|
+
totalTokens: off('embeddings_result_total_tokens'),
|
|
165
122
|
},
|
|
166
123
|
embeddingVector: {
|
|
167
|
-
data:
|
|
168
|
-
dimension:
|
|
169
|
-
structSize:
|
|
124
|
+
data: off('embedding_vector_data'),
|
|
125
|
+
dimension: off('embedding_vector_dimension'),
|
|
126
|
+
structSize: sz('embedding_vector'),
|
|
170
127
|
},
|
|
171
128
|
diffusionOptions: {
|
|
172
|
-
prompt:
|
|
173
|
-
negativePrompt:
|
|
174
|
-
width:
|
|
175
|
-
height:
|
|
176
|
-
steps:
|
|
177
|
-
guidanceScale:
|
|
178
|
-
seed:
|
|
179
|
-
scheduler:
|
|
180
|
-
mode:
|
|
181
|
-
denoiseStrength:
|
|
182
|
-
reportIntermediate:
|
|
183
|
-
progressStride:
|
|
129
|
+
prompt: off('diffusion_options_prompt'),
|
|
130
|
+
negativePrompt: off('diffusion_options_negative_prompt'),
|
|
131
|
+
width: off('diffusion_options_width'),
|
|
132
|
+
height: off('diffusion_options_height'),
|
|
133
|
+
steps: off('diffusion_options_steps'),
|
|
134
|
+
guidanceScale: off('diffusion_options_guidance_scale'),
|
|
135
|
+
seed: off('diffusion_options_seed'),
|
|
136
|
+
scheduler: off('diffusion_options_scheduler'),
|
|
137
|
+
mode: off('diffusion_options_mode'),
|
|
138
|
+
denoiseStrength: off('diffusion_options_denoise_strength'),
|
|
139
|
+
reportIntermediate: off('diffusion_options_report_intermediate'),
|
|
140
|
+
progressStride: off('diffusion_options_progress_stride'),
|
|
184
141
|
},
|
|
185
142
|
diffusionResult: {
|
|
186
|
-
imageData:
|
|
187
|
-
imageSize:
|
|
188
|
-
width:
|
|
189
|
-
height:
|
|
190
|
-
seedUsed:
|
|
191
|
-
generationTimeMs:
|
|
192
|
-
safetyFlagged:
|
|
143
|
+
imageData: off('diffusion_result_image_data'),
|
|
144
|
+
imageSize: off('diffusion_result_image_size'),
|
|
145
|
+
width: off('diffusion_result_width'),
|
|
146
|
+
height: off('diffusion_result_height'),
|
|
147
|
+
seedUsed: off('diffusion_result_seed_used'),
|
|
148
|
+
generationTimeMs: off('diffusion_result_generation_time_ms'),
|
|
149
|
+
safetyFlagged: off('diffusion_result_safety_flagged'),
|
|
193
150
|
},
|
|
194
|
-
}
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Load offsets for a standalone WASM module (e.g. in a Web Worker).
|
|
155
|
+
* Returns the offsets directly instead of storing them in the singleton.
|
|
156
|
+
* Useful when the Worker has its own WASM instance.
|
|
157
|
+
*/
|
|
158
|
+
export function loadOffsetsFromModule(m) {
|
|
159
|
+
loadOffsets(m);
|
|
160
|
+
return _offsets;
|
|
195
161
|
}
|
|
196
162
|
//# sourceMappingURL=StructOffsets.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructOffsets.js","sourceRoot":"","sources":["../../src/Foundation/StructOffsets.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"StructOffsets.js","sourceRoot":"","sources":["../../src/Foundation/StructOffsets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RunAnywhere Web SDK - Audio Capture
|
|
3
|
+
*
|
|
4
|
+
* Captures microphone audio using Web Audio API and provides
|
|
5
|
+
* Float32Array PCM samples suitable for STT and VAD processing.
|
|
6
|
+
*
|
|
7
|
+
* Supports:
|
|
8
|
+
* - Real-time microphone capture via getUserMedia
|
|
9
|
+
* - Configurable sample rate (resampling via AudioContext)
|
|
10
|
+
* - Chunk-based callbacks for streaming STT/VAD
|
|
11
|
+
* - Buffer accumulation (getAudioBuffer, drainBuffer, clearBuffer)
|
|
12
|
+
* - Audio level monitoring via AnalyserNode (currentLevel getter)
|
|
13
|
+
*/
|
|
14
|
+
export type AudioChunkCallback = (samples: Float32Array) => void;
|
|
15
|
+
export type AudioLevelCallback = (level: number) => void;
|
|
16
|
+
/** Callback invoked when the microphone track ends unexpectedly (OS/browser killed it). */
|
|
17
|
+
export type AudioTrackEndedCallback = () => void;
|
|
18
|
+
export interface AudioCaptureConfig {
|
|
19
|
+
/** Target sample rate (default: 16000 for STT) */
|
|
20
|
+
sampleRate?: number;
|
|
21
|
+
/** Chunk size in samples (default: 1600 = 100ms at 16kHz) */
|
|
22
|
+
chunkSize?: number;
|
|
23
|
+
/** Number of audio channels (default: 1, mono) */
|
|
24
|
+
channels?: number;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* AudioCapture - Captures microphone audio for STT/VAD processing.
|
|
28
|
+
*
|
|
29
|
+
* Uses Web Audio API (AudioContext + ScriptProcessorNode) to capture
|
|
30
|
+
* microphone audio, resample to target rate, and deliver Float32Array
|
|
31
|
+
* PCM chunks to the consumer.
|
|
32
|
+
*
|
|
33
|
+
* Includes buffer accumulation for batch STT and an AnalyserNode for
|
|
34
|
+
* real-time audio level metering (0-1 range).
|
|
35
|
+
*/
|
|
36
|
+
export declare class AudioCapture {
|
|
37
|
+
private audioContext;
|
|
38
|
+
private mediaStream;
|
|
39
|
+
private sourceNode;
|
|
40
|
+
private processorNode;
|
|
41
|
+
private _analyser;
|
|
42
|
+
private _animFrameId;
|
|
43
|
+
private _isCapturing;
|
|
44
|
+
private _currentLevel;
|
|
45
|
+
private _pcmChunks;
|
|
46
|
+
private readonly config;
|
|
47
|
+
private chunkCallback;
|
|
48
|
+
private levelCallback;
|
|
49
|
+
/**
|
|
50
|
+
* Callback invoked when the microphone track ends unexpectedly.
|
|
51
|
+
*
|
|
52
|
+
* On mobile browsers, the OS can revoke mic access due to power management,
|
|
53
|
+
* screen lock, another app requesting the mic, or AudioContext suspension.
|
|
54
|
+
* Set this to detect and recover from such interruptions.
|
|
55
|
+
*/
|
|
56
|
+
onTrackEnded: AudioTrackEndedCallback | null;
|
|
57
|
+
/** Bound handler for the track 'ended' event (stored for cleanup). */
|
|
58
|
+
private _boundOnTrackEnded;
|
|
59
|
+
constructor(config?: AudioCaptureConfig);
|
|
60
|
+
get isCapturing(): boolean;
|
|
61
|
+
/** Current normalized audio level (0..1), updated per animation frame. */
|
|
62
|
+
get currentLevel(): number;
|
|
63
|
+
/**
|
|
64
|
+
* Get the actual sample rate of the audio context.
|
|
65
|
+
* May differ from requested rate if browser doesn't support it.
|
|
66
|
+
*/
|
|
67
|
+
get actualSampleRate(): number;
|
|
68
|
+
/** Duration of collected audio in seconds based on configured sample rate. */
|
|
69
|
+
get bufferDurationSeconds(): number;
|
|
70
|
+
/**
|
|
71
|
+
* Start capturing microphone audio.
|
|
72
|
+
*
|
|
73
|
+
* @param onChunk - Optional callback receiving Float32Array chunks of PCM audio (streaming)
|
|
74
|
+
* @param onLevel - Optional callback invoked per animation frame with audio level 0..1
|
|
75
|
+
* @throws If microphone permission is denied
|
|
76
|
+
*/
|
|
77
|
+
start(onChunk?: AudioChunkCallback, onLevel?: AudioLevelCallback): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* Stop capturing audio and release resources.
|
|
80
|
+
*/
|
|
81
|
+
stop(): void;
|
|
82
|
+
/**
|
|
83
|
+
* Get all collected PCM audio as a single Float32Array.
|
|
84
|
+
* Does NOT clear the buffer — call `clearBuffer()` separately.
|
|
85
|
+
*/
|
|
86
|
+
getAudioBuffer(): Float32Array;
|
|
87
|
+
/**
|
|
88
|
+
* Drain: return the current buffer and clear it for the next segment.
|
|
89
|
+
* Useful for live mode where we transcribe segments incrementally.
|
|
90
|
+
*/
|
|
91
|
+
drainBuffer(): Float32Array;
|
|
92
|
+
/** Clear collected PCM data without stopping capture. */
|
|
93
|
+
clearBuffer(): void;
|
|
94
|
+
/** Start the requestAnimationFrame loop that reads the AnalyserNode. */
|
|
95
|
+
private startLevelMonitoring;
|
|
96
|
+
private cleanupResources;
|
|
97
|
+
private nearestPowerOf2;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=AudioCapture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AudioCapture.d.ts","sourceRoot":"","sources":["../../src/Infrastructure/AudioCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAMH,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AACzD,2FAA2F;AAC3F,MAAM,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,aAAa,CAAoC;IACzD,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAsB;IAExC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IACtD,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,aAAa,CAAmC;IAExD;;;;;;OAMG;IACH,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAAQ;IAEpD,sEAAsE;IACtE,OAAO,CAAC,kBAAkB,CAA6B;gBAE3C,MAAM,GAAE,kBAAuB;IAQ3C,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,0EAA0E;IAC1E,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;OAGG;IACH,IAAI,gBAAgB,IAAI,MAAM,CAE7B;IAED,8EAA8E;IAC9E,IAAI,qBAAqB,IAAI,MAAM,CAGlC;IAED;;;;;;OAMG;IACG,KAAK,CAAC,OAAO,CAAC,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgGtF;;OAEG;IACH,IAAI,IAAI,IAAI;IAYZ;;;OAGG;IACH,cAAc,IAAI,YAAY;IAY9B;;;OAGG;IACH,WAAW,IAAI,YAAY;IAM3B,yDAAyD;IACzD,WAAW,IAAI,IAAI;IAInB,wEAAwE;IACxE,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,eAAe;CAOxB"}
|