@runanywhere/web 0.1.0-beta.6 → 0.1.0-beta.8
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/ErrorTypes.d.ts +1 -0
- package/dist/Foundation/ErrorTypes.d.ts.map +1 -1
- package/dist/Foundation/ErrorTypes.js +3 -0
- package/dist/Foundation/ErrorTypes.js.map +1 -1
- package/dist/Foundation/EventBus.d.ts +0 -1
- package/dist/Foundation/EventBus.d.ts.map +1 -1
- package/dist/Foundation/StructOffsets.d.ts +5 -37
- package/dist/Foundation/StructOffsets.d.ts.map +1 -1
- package/dist/Foundation/StructOffsets.js +6 -157
- package/dist/Foundation/StructOffsets.js.map +1 -1
- package/dist/Foundation/WASMBridge.d.ts +8 -236
- package/dist/Foundation/WASMBridge.d.ts.map +1 -1
- package/dist/Foundation/WASMBridge.js +7 -388
- package/dist/Foundation/WASMBridge.js.map +1 -1
- package/dist/Infrastructure/DeviceCapabilities.d.ts.map +1 -1
- package/dist/Infrastructure/DeviceCapabilities.js +1 -3
- package/dist/Infrastructure/DeviceCapabilities.js.map +1 -1
- package/dist/Infrastructure/ExtensionPoint.d.ts +114 -0
- package/dist/Infrastructure/ExtensionPoint.d.ts.map +1 -0
- package/dist/Infrastructure/ExtensionPoint.js +178 -0
- package/dist/Infrastructure/ExtensionPoint.js.map +1 -0
- package/dist/Infrastructure/LocalFileStorage.d.ts +134 -0
- package/dist/Infrastructure/LocalFileStorage.d.ts.map +1 -0
- package/dist/Infrastructure/LocalFileStorage.js +428 -0
- package/dist/Infrastructure/LocalFileStorage.js.map +1 -0
- package/dist/Infrastructure/ModelDownloader.d.ts +21 -5
- package/dist/Infrastructure/ModelDownloader.d.ts.map +1 -1
- package/dist/Infrastructure/ModelDownloader.js +79 -7
- package/dist/Infrastructure/ModelDownloader.js.map +1 -1
- package/dist/Infrastructure/ModelFileInference.d.ts +39 -0
- package/dist/Infrastructure/ModelFileInference.d.ts.map +1 -0
- package/dist/Infrastructure/ModelFileInference.js +119 -0
- package/dist/Infrastructure/ModelFileInference.js.map +1 -0
- package/dist/Infrastructure/ModelLoaderTypes.d.ts +91 -12
- package/dist/Infrastructure/ModelLoaderTypes.d.ts.map +1 -1
- package/dist/Infrastructure/ModelLoaderTypes.js +7 -1
- package/dist/Infrastructure/ModelLoaderTypes.js.map +1 -1
- package/dist/Infrastructure/ModelManager.d.ts +31 -104
- package/dist/Infrastructure/ModelManager.d.ts.map +1 -1
- package/dist/Infrastructure/ModelManager.js +207 -568
- package/dist/Infrastructure/ModelManager.js.map +1 -1
- package/dist/Infrastructure/ModelRegistry.d.ts +6 -8
- package/dist/Infrastructure/ModelRegistry.d.ts.map +1 -1
- package/dist/Infrastructure/ModelRegistry.js +11 -4
- package/dist/Infrastructure/ModelRegistry.js.map +1 -1
- package/dist/Infrastructure/OPFSStorage.d.ts +8 -0
- package/dist/Infrastructure/OPFSStorage.d.ts.map +1 -1
- package/dist/Infrastructure/OPFSStorage.js +37 -0
- package/dist/Infrastructure/OPFSStorage.js.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+ModelManagement.d.ts +12 -4
- package/dist/Public/Extensions/RunAnywhere+ModelManagement.d.ts.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+ModelManagement.js +23 -51
- package/dist/Public/Extensions/RunAnywhere+ModelManagement.js.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+VoiceAgent.d.ts +42 -10
- package/dist/Public/Extensions/RunAnywhere+VoiceAgent.d.ts.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+VoiceAgent.js +63 -161
- package/dist/Public/Extensions/RunAnywhere+VoiceAgent.js.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts +3 -29
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts.map +1 -1
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js +26 -42
- package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js.map +1 -1
- package/dist/Public/Extensions/VoicePipelineTypes.d.ts +28 -37
- package/dist/Public/Extensions/VoicePipelineTypes.d.ts.map +1 -1
- package/dist/Public/Extensions/VoicePipelineTypes.js +4 -1
- package/dist/Public/Extensions/VoicePipelineTypes.js.map +1 -1
- package/dist/Public/RunAnywhere.d.ts +29 -85
- package/dist/Public/RunAnywhere.d.ts.map +1 -1
- package/dist/Public/RunAnywhere.js +169 -211
- package/dist/Public/RunAnywhere.js.map +1 -1
- package/dist/index.d.ts +19 -39
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -31
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/package.json +4 -10
- package/dist/Foundation/PlatformAdapter.d.ts +0 -101
- package/dist/Foundation/PlatformAdapter.d.ts.map +0 -1
- package/dist/Foundation/PlatformAdapter.js +0 -417
- package/dist/Foundation/PlatformAdapter.js.map +0 -1
- package/dist/Foundation/SherpaONNXBridge.d.ts +0 -147
- package/dist/Foundation/SherpaONNXBridge.d.ts.map +0 -1
- package/dist/Foundation/SherpaONNXBridge.js +0 -345
- package/dist/Foundation/SherpaONNXBridge.js.map +0 -1
- package/dist/Infrastructure/AudioCapture.d.ts +0 -99
- package/dist/Infrastructure/AudioCapture.d.ts.map +0 -1
- package/dist/Infrastructure/AudioCapture.js +0 -264
- package/dist/Infrastructure/AudioCapture.js.map +0 -1
- package/dist/Infrastructure/AudioPlayback.d.ts +0 -53
- package/dist/Infrastructure/AudioPlayback.d.ts.map +0 -1
- package/dist/Infrastructure/AudioPlayback.js +0 -117
- package/dist/Infrastructure/AudioPlayback.js.map +0 -1
- package/dist/Infrastructure/VLMWorkerBridge.d.ts +0 -211
- package/dist/Infrastructure/VLMWorkerBridge.d.ts.map +0 -1
- package/dist/Infrastructure/VLMWorkerBridge.js +0 -264
- package/dist/Infrastructure/VLMWorkerBridge.js.map +0 -1
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts +0 -38
- package/dist/Infrastructure/VLMWorkerRuntime.d.ts.map +0 -1
- package/dist/Infrastructure/VLMWorkerRuntime.js +0 -503
- package/dist/Infrastructure/VLMWorkerRuntime.js.map +0 -1
- package/dist/Infrastructure/VideoCapture.d.ts +0 -130
- package/dist/Infrastructure/VideoCapture.d.ts.map +0 -1
- package/dist/Infrastructure/VideoCapture.js +0 -236
- package/dist/Infrastructure/VideoCapture.js.map +0 -1
- package/dist/Public/Extensions/DiffusionTypes.d.ts +0 -64
- package/dist/Public/Extensions/DiffusionTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/DiffusionTypes.js +0 -28
- package/dist/Public/Extensions/DiffusionTypes.js.map +0 -1
- package/dist/Public/Extensions/EmbeddingsTypes.d.ts +0 -33
- package/dist/Public/Extensions/EmbeddingsTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/EmbeddingsTypes.js +0 -13
- package/dist/Public/Extensions/EmbeddingsTypes.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts +0 -44
- package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+Diffusion.js +0 -189
- package/dist/Public/Extensions/RunAnywhere+Diffusion.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts +0 -56
- package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+Embeddings.js +0 -240
- package/dist/Public/Extensions/RunAnywhere+Embeddings.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+STT.d.ts +0 -97
- package/dist/Public/Extensions/RunAnywhere+STT.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+STT.js +0 -417
- package/dist/Public/Extensions/RunAnywhere+STT.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts +0 -69
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js +0 -196
- package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+TTS.d.ts +0 -55
- package/dist/Public/Extensions/RunAnywhere+TTS.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+TTS.js +0 -253
- package/dist/Public/Extensions/RunAnywhere+TTS.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts +0 -80
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.js +0 -470
- package/dist/Public/Extensions/RunAnywhere+TextGeneration.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts +0 -82
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.js +0 -576
- package/dist/Public/Extensions/RunAnywhere+ToolCalling.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+VAD.d.ts +0 -70
- package/dist/Public/Extensions/RunAnywhere+VAD.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+VAD.js +0 -231
- package/dist/Public/Extensions/RunAnywhere+VAD.js.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+VLM.d.ts +0 -58
- package/dist/Public/Extensions/RunAnywhere+VLM.d.ts.map +0 -1
- package/dist/Public/Extensions/RunAnywhere+VLM.js +0 -262
- package/dist/Public/Extensions/RunAnywhere+VLM.js.map +0 -1
- package/dist/Public/Extensions/STTTypes.d.ts +0 -61
- package/dist/Public/Extensions/STTTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/STTTypes.js +0 -16
- package/dist/Public/Extensions/STTTypes.js.map +0 -1
- package/dist/Public/Extensions/TTSTypes.d.ts +0 -31
- package/dist/Public/Extensions/TTSTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/TTSTypes.js +0 -3
- package/dist/Public/Extensions/TTSTypes.js.map +0 -1
- package/dist/Public/Extensions/ToolCallingTypes.d.ts +0 -78
- package/dist/Public/Extensions/ToolCallingTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/ToolCallingTypes.js +0 -8
- package/dist/Public/Extensions/ToolCallingTypes.js.map +0 -1
- package/dist/Public/Extensions/VADTypes.d.ts +0 -30
- package/dist/Public/Extensions/VADTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/VADTypes.js +0 -8
- package/dist/Public/Extensions/VADTypes.js.map +0 -1
- package/dist/Public/Extensions/VLMTypes.d.ts +0 -56
- package/dist/Public/Extensions/VLMTypes.d.ts.map +0 -1
- package/dist/Public/Extensions/VLMTypes.js +0 -24
- package/dist/Public/Extensions/VLMTypes.js.map +0 -1
- package/dist/types/LLMTypes.d.ts +0 -48
- package/dist/types/LLMTypes.d.ts.map +0 -1
- package/dist/types/LLMTypes.js +0 -8
- package/dist/types/LLMTypes.js.map +0 -1
- package/dist/workers/vlm-worker.d.ts +0 -9
- package/dist/workers/vlm-worker.d.ts.map +0 -1
- package/dist/workers/vlm-worker.js +0 -10
- package/dist/workers/vlm-worker.js.map +0 -1
- package/wasm/racommons-webgpu.js +0 -156
- package/wasm/racommons-webgpu.wasm +0 -0
- package/wasm/racommons.js +0 -126
- package/wasm/racommons.wasm +0 -0
- package/wasm/sherpa/sherpa-onnx-asr.js +0 -1538
- package/wasm/sherpa/sherpa-onnx-glue-original.js +0 -19
- package/wasm/sherpa/sherpa-onnx-glue.js +0 -17
- package/wasm/sherpa/sherpa-onnx-tts.js +0 -657
- package/wasm/sherpa/sherpa-onnx-vad.js +0 -337
- package/wasm/sherpa/sherpa-onnx-wave.js +0 -88
- package/wasm/sherpa/sherpa-onnx.wasm +0 -0
|
@@ -2,50 +2,34 @@
|
|
|
2
2
|
* RunAnywhere Web SDK - Main Entry Point
|
|
3
3
|
*
|
|
4
4
|
* The public API for the RunAnywhere Web SDK.
|
|
5
|
-
*
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
8
|
-
* - RunAnywhere.ts (React Native) - object literal
|
|
9
|
-
* - RunAnywhere.dart (Flutter) - class
|
|
10
|
-
*
|
|
11
|
-
* All operations flow through the WASM bridge to RACommons C++.
|
|
5
|
+
* Core is pure TypeScript — no WASM. Each backend package ships its own WASM:
|
|
6
|
+
* - @runanywhere/web-llamacpp (racommons-llamacpp.wasm)
|
|
7
|
+
* - @runanywhere/web-onnx (sherpa-onnx.wasm)
|
|
12
8
|
*
|
|
13
9
|
* Usage:
|
|
14
10
|
* import { RunAnywhere } from '@runanywhere/web';
|
|
11
|
+
* import { LlamaCPP } from '@runanywhere/web-llamacpp';
|
|
12
|
+
* import { ONNX } from '@runanywhere/web-onnx';
|
|
15
13
|
*
|
|
16
14
|
* await RunAnywhere.initialize({ environment: 'development' });
|
|
17
|
-
*
|
|
15
|
+
* await LlamaCPP.register();
|
|
16
|
+
* await ONNX.register();
|
|
18
17
|
*/
|
|
19
|
-
import { SDKEnvironment, SDKEventType
|
|
20
|
-
import { SDKError, SDKErrorCode } from '../Foundation/ErrorTypes';
|
|
18
|
+
import { SDKEnvironment, SDKEventType } from '../types/enums';
|
|
21
19
|
import { EventBus } from '../Foundation/EventBus';
|
|
22
20
|
import { SDKLogger, LogLevel } from '../Foundation/SDKLogger';
|
|
23
|
-
import { WASMBridge } from '../Foundation/WASMBridge';
|
|
24
|
-
import { SherpaONNXBridge } from '../Foundation/SherpaONNXBridge';
|
|
25
|
-
import { PlatformAdapter } from '../Foundation/PlatformAdapter';
|
|
26
|
-
import { loadOffsets } from '../Foundation/StructOffsets';
|
|
27
|
-
import { Offsets } from '../Foundation/StructOffsets';
|
|
28
21
|
import { ModelManager } from '../Infrastructure/ModelManager';
|
|
29
22
|
import { ExtensionRegistry } from '../Infrastructure/ExtensionRegistry';
|
|
30
|
-
|
|
31
|
-
import {
|
|
32
|
-
import { VLM } from './Extensions/RunAnywhere+VLM';
|
|
33
|
-
import { STT } from './Extensions/RunAnywhere+STT';
|
|
34
|
-
import { TTS } from './Extensions/RunAnywhere+TTS';
|
|
35
|
-
import { VAD } from './Extensions/RunAnywhere+VAD';
|
|
36
|
-
import { Embeddings } from './Extensions/RunAnywhere+Embeddings';
|
|
37
|
-
import { Diffusion } from './Extensions/RunAnywhere+Diffusion';
|
|
38
|
-
import { ToolCalling } from './Extensions/RunAnywhere+ToolCalling';
|
|
23
|
+
import { ExtensionPoint } from '../Infrastructure/ExtensionPoint';
|
|
24
|
+
import { LocalFileStorage } from '../Infrastructure/LocalFileStorage';
|
|
39
25
|
const logger = new SDKLogger('RunAnywhere');
|
|
40
26
|
// ---------------------------------------------------------------------------
|
|
41
27
|
// Internal State
|
|
42
28
|
// ---------------------------------------------------------------------------
|
|
43
29
|
let _isInitialized = false;
|
|
44
|
-
let _hasCompletedServicesInit = false;
|
|
45
|
-
let _platformAdapter = null;
|
|
46
30
|
let _initOptions = null;
|
|
47
|
-
/** Guard against concurrent initialize() calls */
|
|
48
31
|
let _initializingPromise = null;
|
|
32
|
+
let _localFileStorage = null;
|
|
49
33
|
// ---------------------------------------------------------------------------
|
|
50
34
|
// RunAnywhere Public API
|
|
51
35
|
// ---------------------------------------------------------------------------
|
|
@@ -53,69 +37,38 @@ export const RunAnywhere = {
|
|
|
53
37
|
// =========================================================================
|
|
54
38
|
// SDK State
|
|
55
39
|
// =========================================================================
|
|
56
|
-
/** Whether the SDK is initialized (Phase 1 complete) */
|
|
57
40
|
get isInitialized() {
|
|
58
41
|
return _isInitialized;
|
|
59
42
|
},
|
|
60
|
-
/** Whether services are fully ready (Phase 2 complete) */
|
|
61
|
-
get areServicesReady() {
|
|
62
|
-
return _hasCompletedServicesInit;
|
|
63
|
-
},
|
|
64
|
-
/** Current SDK version */
|
|
65
43
|
get version() {
|
|
66
44
|
return '0.1.0';
|
|
67
45
|
},
|
|
68
|
-
/** Current environment */
|
|
69
46
|
get environment() {
|
|
70
47
|
return _initOptions?.environment ?? null;
|
|
71
48
|
},
|
|
72
|
-
/** Access to the event bus */
|
|
73
49
|
get events() {
|
|
74
50
|
return EventBus.shared;
|
|
75
51
|
},
|
|
76
|
-
/** Whether the WASM module is loaded */
|
|
77
|
-
get isWASMLoaded() {
|
|
78
|
-
return WASMBridge.shared.isLoaded;
|
|
79
|
-
},
|
|
80
|
-
/** The active hardware acceleration mode ('webgpu' or 'cpu'). */
|
|
81
|
-
get accelerationMode() {
|
|
82
|
-
return WASMBridge.shared.accelerationMode;
|
|
83
|
-
},
|
|
84
52
|
// =========================================================================
|
|
85
|
-
// Initialization
|
|
53
|
+
// Initialization (pure TypeScript — no WASM)
|
|
86
54
|
// =========================================================================
|
|
87
55
|
/**
|
|
88
56
|
* Initialize the RunAnywhere SDK.
|
|
89
57
|
*
|
|
90
|
-
* This
|
|
91
|
-
* 1.
|
|
92
|
-
* 2.
|
|
93
|
-
* 3.
|
|
94
|
-
* 4. Mark SDK as initialized
|
|
95
|
-
*
|
|
96
|
-
* @param options - SDK initialization options
|
|
97
|
-
* @param wasmUrl - Optional URL to the racommons.js glue file
|
|
58
|
+
* This only initializes the TypeScript infrastructure:
|
|
59
|
+
* 1. Configure logging
|
|
60
|
+
* 2. Initialize storage (OPFS)
|
|
61
|
+
* 3. Restore local file storage (if previously configured)
|
|
98
62
|
*
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
* //
|
|
102
|
-
* await RunAnywhere.initialize();
|
|
103
|
-
*
|
|
104
|
-
* // Production mode
|
|
105
|
-
* await RunAnywhere.initialize({
|
|
106
|
-
* apiKey: 'your-key',
|
|
107
|
-
* baseURL: 'https://api.runanywhere.ai',
|
|
108
|
-
* environment: 'production',
|
|
109
|
-
* });
|
|
110
|
-
* ```
|
|
63
|
+
* WASM is loaded lazily by each backend package when you call:
|
|
64
|
+
* await LlamaCPP.register(); // loads racommons-llamacpp.wasm
|
|
65
|
+
* await ONNX.register(); // loads sherpa-onnx.wasm (on first use)
|
|
111
66
|
*/
|
|
112
|
-
async initialize(options = {}
|
|
113
|
-
// Guard: already done
|
|
67
|
+
async initialize(options = {}) {
|
|
114
68
|
if (_isInitialized) {
|
|
115
69
|
logger.debug('Already initialized');
|
|
116
70
|
return;
|
|
117
71
|
}
|
|
118
|
-
// Guard: another call is already in flight – wait for it instead of racing
|
|
119
72
|
if (_initializingPromise) {
|
|
120
73
|
logger.debug('Initialization already in progress, awaiting...');
|
|
121
74
|
return _initializingPromise;
|
|
@@ -124,81 +77,21 @@ export const RunAnywhere = {
|
|
|
124
77
|
try {
|
|
125
78
|
const env = options.environment ?? SDKEnvironment.Development;
|
|
126
79
|
_initOptions = { ...options, environment: env };
|
|
127
|
-
// Configure logging
|
|
128
80
|
if (options.debug) {
|
|
129
81
|
SDKLogger.level = LogLevel.Debug;
|
|
130
82
|
}
|
|
131
83
|
logger.info(`Initializing RunAnywhere Web SDK (${env})...`);
|
|
132
|
-
//
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
await bridge.load(wasmUrl, options.webgpuWasmUrl, acceleration);
|
|
136
|
-
logger.info(`Hardware acceleration: ${bridge.accelerationMode}`);
|
|
137
|
-
// Emit acceleration mode event so app UIs can show a badge
|
|
138
|
-
EventBus.shared.emit('sdk.accelerationMode', SDKEventType.Device, {
|
|
139
|
-
mode: bridge.accelerationMode,
|
|
140
|
-
});
|
|
141
|
-
// Phase 1b: Load struct field offsets from the WASM module.
|
|
142
|
-
// This must happen before any struct read/write in the SDK.
|
|
143
|
-
loadOffsets(bridge.module);
|
|
144
|
-
// Phase 2: Register platform adapter
|
|
145
|
-
_platformAdapter = new PlatformAdapter();
|
|
146
|
-
_platformAdapter.register();
|
|
147
|
-
// Phase 3: Initialize RACommons core
|
|
148
|
-
const m = bridge.module;
|
|
149
|
-
// Create rac_config_t in WASM memory
|
|
150
|
-
const configSize = m._rac_wasm_sizeof_config();
|
|
151
|
-
const configPtr = m._malloc(configSize);
|
|
152
|
-
// Zero-initialize
|
|
153
|
-
for (let i = 0; i < configSize; i++) {
|
|
154
|
-
m.setValue(configPtr + i, 0, 'i8');
|
|
84
|
+
// Restore local file storage from previous session (non-blocking)
|
|
85
|
+
try {
|
|
86
|
+
await RunAnywhere.restoreLocalStorage();
|
|
155
87
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
// Set log_level using compiler-provided offset
|
|
159
|
-
const logLevel = options.debug ? 1 : 2; // DEBUG=1, INFO=2
|
|
160
|
-
m.setValue(configPtr + Offsets.config.logLevel, logLevel, 'i32');
|
|
161
|
-
// {async: true} lets JSPI suspend during WebGPU adapter/device init.
|
|
162
|
-
const result = await bridge.callFunction('rac_init', 'number', ['number'], [configPtr], { async: true });
|
|
163
|
-
m._free(configPtr);
|
|
164
|
-
if (result !== 0) {
|
|
165
|
-
const errMsg = bridge.getErrorMessage(result);
|
|
166
|
-
throw new SDKError(SDKErrorCode.InitializationFailed, `rac_init failed: ${errMsg}`);
|
|
88
|
+
catch (err) {
|
|
89
|
+
logger.warning(`Failed to restore local storage: ${err instanceof Error ? err.message : String(err)}`);
|
|
167
90
|
}
|
|
168
|
-
// Phase 4: Register available backends
|
|
169
|
-
// The llama.cpp LLM backend must be registered before any LLM/VLM operations.
|
|
170
|
-
// Check if the function exists (only present when built with --llamacpp).
|
|
171
|
-
if (typeof m['_rac_backend_llamacpp_register'] === 'function') {
|
|
172
|
-
const regResult = await bridge.callFunction('rac_backend_llamacpp_register', 'number', [], [], { async: true });
|
|
173
|
-
if (regResult === 0) {
|
|
174
|
-
logger.info('llama.cpp LLM backend registered');
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
logger.warning(`llama.cpp backend registration returned: ${regResult}`);
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
// Phase 5: Register model loaders with ModelManager.
|
|
181
|
-
// This keeps the dependency flow correct: Public -> Infrastructure.
|
|
182
|
-
ModelManager.setLLMLoader(TextGeneration);
|
|
183
|
-
ModelManager.setSTTLoader(STT);
|
|
184
|
-
ModelManager.setTTSLoader(TTS);
|
|
185
|
-
ModelManager.setVADLoader(VAD);
|
|
186
|
-
// Phase 6: Register extensions with the lifecycle registry.
|
|
187
|
-
// Order matters: low-level components first (cleaned up last).
|
|
188
|
-
ExtensionRegistry.register(TextGeneration);
|
|
189
|
-
ExtensionRegistry.register(STT);
|
|
190
|
-
ExtensionRegistry.register(TTS);
|
|
191
|
-
ExtensionRegistry.register(VAD);
|
|
192
|
-
ExtensionRegistry.register(VLM);
|
|
193
|
-
ExtensionRegistry.register(Embeddings);
|
|
194
|
-
ExtensionRegistry.register(Diffusion);
|
|
195
|
-
ExtensionRegistry.register(ToolCalling);
|
|
196
91
|
_isInitialized = true;
|
|
197
|
-
_hasCompletedServicesInit = true;
|
|
198
92
|
logger.info('RunAnywhere Web SDK initialized successfully');
|
|
199
93
|
EventBus.shared.emit('sdk.initialized', SDKEventType.Initialization, {
|
|
200
94
|
environment: env,
|
|
201
|
-
accelerationMode: bridge.accelerationMode,
|
|
202
95
|
});
|
|
203
96
|
}
|
|
204
97
|
finally {
|
|
@@ -208,123 +101,188 @@ export const RunAnywhere = {
|
|
|
208
101
|
return _initializingPromise;
|
|
209
102
|
},
|
|
210
103
|
// =========================================================================
|
|
211
|
-
// Model Management
|
|
104
|
+
// Model Management
|
|
212
105
|
// =========================================================================
|
|
213
|
-
/**
|
|
214
|
-
* Register a catalog of models for download and loading.
|
|
215
|
-
* @param models - Compact model definitions to register
|
|
216
|
-
*/
|
|
217
106
|
registerModels(models) {
|
|
218
107
|
ModelManager.registerModels(models);
|
|
219
108
|
},
|
|
220
|
-
/**
|
|
221
|
-
* Set the VLM (vision-language model) loader implementation.
|
|
222
|
-
* The app provides an implementation (typically backed by a Web Worker).
|
|
223
|
-
*/
|
|
224
109
|
setVLMLoader(loader) {
|
|
225
110
|
ModelManager.setVLMLoader(loader);
|
|
226
111
|
},
|
|
227
|
-
/**
|
|
228
|
-
* Download a model (and any companion files) to persistent OPFS storage.
|
|
229
|
-
* @param modelId - The model ID to download
|
|
230
|
-
*/
|
|
231
112
|
async downloadModel(modelId) {
|
|
232
113
|
return ModelManager.downloadModel(modelId);
|
|
233
114
|
},
|
|
234
|
-
/**
|
|
235
|
-
* Load a downloaded model into the inference engine.
|
|
236
|
-
* @param modelId - The model ID to load
|
|
237
|
-
* @returns true if loaded successfully
|
|
238
|
-
*/
|
|
239
115
|
async loadModel(modelId) {
|
|
240
116
|
return ModelManager.loadModel(modelId);
|
|
241
117
|
},
|
|
242
|
-
/**
|
|
243
|
-
* Get all registered models with their current status.
|
|
244
|
-
*/
|
|
245
118
|
availableModels() {
|
|
246
119
|
return ModelManager.getModels();
|
|
247
120
|
},
|
|
248
|
-
/**
|
|
249
|
-
* Get the currently loaded model for a given category.
|
|
250
|
-
* @param category - Optional model category filter
|
|
251
|
-
*/
|
|
252
121
|
getLoadedModel(category) {
|
|
253
122
|
return ModelManager.getLoadedModel(category);
|
|
254
123
|
},
|
|
255
|
-
/**
|
|
256
|
-
* Unload ALL loaded models and free their resources.
|
|
257
|
-
*
|
|
258
|
-
* Useful when switching between features/tabs to ensure clean state
|
|
259
|
-
* and reclaim memory. Called automatically by `loadModel()`, but can
|
|
260
|
-
* also be called explicitly by the app.
|
|
261
|
-
*/
|
|
262
124
|
async unloadAll() {
|
|
263
125
|
return ModelManager.unloadAll();
|
|
264
126
|
},
|
|
265
|
-
/**
|
|
266
|
-
* Delete a downloaded model from OPFS storage.
|
|
267
|
-
* @param modelId - The model ID to delete
|
|
268
|
-
*/
|
|
269
127
|
async deleteModel(modelId) {
|
|
270
128
|
return ModelManager.deleteModel(modelId);
|
|
271
129
|
},
|
|
272
130
|
// =========================================================================
|
|
273
|
-
//
|
|
131
|
+
// Model Import (file picker / drag-and-drop)
|
|
274
132
|
// =========================================================================
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
* higher-level components (e.g. VoiceAgent pipeline) are torn
|
|
280
|
-
* down before the lower-level ones they depend on.
|
|
281
|
-
*/
|
|
282
|
-
shutdown() {
|
|
283
|
-
logger.info('Shutting down RunAnywhere Web SDK...');
|
|
284
|
-
// ------------------------------------------------------------------
|
|
285
|
-
// 1. Clean up all registered extensions in reverse dependency order.
|
|
286
|
-
// Extensions were registered low-level first, so reverse cleanup
|
|
287
|
-
// tears down high-level orchestrations before their dependencies.
|
|
288
|
-
// ------------------------------------------------------------------
|
|
289
|
-
ExtensionRegistry.cleanupAll();
|
|
290
|
-
// ------------------------------------------------------------------
|
|
291
|
-
// 2. Shut down WASM bridges
|
|
292
|
-
// ------------------------------------------------------------------
|
|
293
|
-
// SherpaONNXBridge (STT/TTS/VAD WASM module)
|
|
294
|
-
try {
|
|
295
|
-
SherpaONNXBridge.shared.shutdown();
|
|
296
|
-
}
|
|
297
|
-
catch { /* ignore during shutdown */ }
|
|
298
|
-
// Platform adapter
|
|
299
|
-
if (_platformAdapter) {
|
|
133
|
+
async importModelFromPicker(options) {
|
|
134
|
+
const acceptExts = options?.accept ?? ['.gguf', '.onnx', '.bin'];
|
|
135
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
136
|
+
if ('showOpenFilePicker' in window) {
|
|
300
137
|
try {
|
|
301
|
-
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
139
|
+
const [handle] = await window.showOpenFilePicker({
|
|
140
|
+
types: [{
|
|
141
|
+
description: 'AI Model Files',
|
|
142
|
+
accept: { 'application/octet-stream': acceptExts },
|
|
143
|
+
}],
|
|
144
|
+
multiple: false,
|
|
145
|
+
});
|
|
146
|
+
const file = await handle.getFile();
|
|
147
|
+
return this.importModelFromFile(file, options);
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
151
|
+
return null;
|
|
152
|
+
logger.debug('showOpenFilePicker failed, using input fallback');
|
|
302
153
|
}
|
|
303
|
-
catch { /* ignore during shutdown */ }
|
|
304
|
-
_platformAdapter = null;
|
|
305
154
|
}
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
155
|
+
return new Promise((resolve) => {
|
|
156
|
+
const input = document.createElement('input');
|
|
157
|
+
input.type = 'file';
|
|
158
|
+
input.accept = acceptExts.join(',');
|
|
159
|
+
input.style.display = 'none';
|
|
160
|
+
let settled = false;
|
|
161
|
+
const cleanup = () => {
|
|
162
|
+
if (input.parentNode) {
|
|
163
|
+
document.body.removeChild(input);
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
const settle = (value) => {
|
|
167
|
+
if (settled)
|
|
168
|
+
return;
|
|
169
|
+
settled = true;
|
|
170
|
+
cleanup();
|
|
171
|
+
resolve(value);
|
|
172
|
+
};
|
|
173
|
+
input.onchange = async () => {
|
|
174
|
+
const file = input.files?.[0];
|
|
175
|
+
if (!file) {
|
|
176
|
+
settle(null);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
try {
|
|
180
|
+
const id = await this.importModelFromFile(file, options);
|
|
181
|
+
settle(id);
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
logger.error(`Import failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
185
|
+
settle(null);
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
input.addEventListener('cancel', () => settle(null));
|
|
189
|
+
// Safety net: on older browsers the `cancel` event may not fire when
|
|
190
|
+
// the user dismisses the picker. Use a focus/visibilitychange listener
|
|
191
|
+
// to detect that the picker was closed without selection.
|
|
192
|
+
const fallbackCleanup = () => {
|
|
193
|
+
// Wait a tick — onchange fires after focus returns
|
|
194
|
+
setTimeout(() => {
|
|
195
|
+
if (!settled) {
|
|
196
|
+
settle(null);
|
|
197
|
+
}
|
|
198
|
+
}, 300);
|
|
199
|
+
window.removeEventListener('focus', fallbackCleanup);
|
|
200
|
+
document.removeEventListener('visibilitychange', fallbackCleanup);
|
|
201
|
+
};
|
|
202
|
+
window.addEventListener('focus', fallbackCleanup);
|
|
203
|
+
document.addEventListener('visibilitychange', fallbackCleanup);
|
|
204
|
+
document.body.appendChild(input);
|
|
205
|
+
input.click();
|
|
206
|
+
});
|
|
207
|
+
},
|
|
208
|
+
async importModelFromFile(file, options) {
|
|
209
|
+
logger.info(`Importing model from file: ${file.name} (${(file.size / 1024 / 1024).toFixed(1)} MB)`);
|
|
210
|
+
return ModelManager.importModel(file, options?.modelId);
|
|
211
|
+
},
|
|
212
|
+
// =========================================================================
|
|
213
|
+
// Local File Storage (persistent model storage)
|
|
214
|
+
// =========================================================================
|
|
215
|
+
get isLocalStorageSupported() {
|
|
216
|
+
return LocalFileStorage.isSupported;
|
|
217
|
+
},
|
|
218
|
+
get isLocalStorageReady() {
|
|
219
|
+
return _localFileStorage?.isReady ?? false;
|
|
220
|
+
},
|
|
221
|
+
get hasLocalStorageHandle() {
|
|
222
|
+
return _localFileStorage?.hasStoredHandle ?? false;
|
|
223
|
+
},
|
|
224
|
+
get localStorageDirectoryName() {
|
|
225
|
+
return _localFileStorage?.directoryName ?? LocalFileStorage.storedDirectoryName;
|
|
226
|
+
},
|
|
227
|
+
async chooseLocalStorageDirectory() {
|
|
228
|
+
if (!LocalFileStorage.isSupported) {
|
|
229
|
+
logger.warning('File System Access API not supported — using browser storage (OPFS)');
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
if (!_localFileStorage) {
|
|
233
|
+
_localFileStorage = new LocalFileStorage();
|
|
309
234
|
}
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
235
|
+
const success = await _localFileStorage.chooseDirectory();
|
|
236
|
+
if (success) {
|
|
237
|
+
ModelManager.setLocalFileStorage(_localFileStorage);
|
|
238
|
+
EventBus.shared.emit('storage.localDirectorySelected', SDKEventType.Storage, {
|
|
239
|
+
directoryName: _localFileStorage.directoryName,
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
return success;
|
|
243
|
+
},
|
|
244
|
+
async restoreLocalStorage() {
|
|
245
|
+
if (!LocalFileStorage.isSupported)
|
|
246
|
+
return false;
|
|
247
|
+
if (!_localFileStorage) {
|
|
248
|
+
_localFileStorage = new LocalFileStorage();
|
|
249
|
+
}
|
|
250
|
+
const success = await _localFileStorage.restoreDirectory();
|
|
251
|
+
if (success) {
|
|
252
|
+
ModelManager.setLocalFileStorage(_localFileStorage);
|
|
253
|
+
logger.info(`Local storage restored: ${_localFileStorage.directoryName}`);
|
|
254
|
+
}
|
|
255
|
+
return success;
|
|
256
|
+
},
|
|
257
|
+
async requestLocalStorageAccess() {
|
|
258
|
+
if (!_localFileStorage)
|
|
259
|
+
return false;
|
|
260
|
+
const success = await _localFileStorage.requestAccess();
|
|
261
|
+
if (success) {
|
|
262
|
+
ModelManager.setLocalFileStorage(_localFileStorage);
|
|
263
|
+
}
|
|
264
|
+
return success;
|
|
265
|
+
},
|
|
266
|
+
// =========================================================================
|
|
267
|
+
// Shutdown
|
|
268
|
+
// =========================================================================
|
|
269
|
+
shutdown() {
|
|
270
|
+
logger.info('Shutting down RunAnywhere Web SDK...');
|
|
271
|
+
// Unload all models before tearing down extensions
|
|
272
|
+
ModelManager.unloadAll().catch(() => { });
|
|
273
|
+
// Clean up all registered extensions and backends
|
|
274
|
+
ExtensionRegistry.cleanupAll();
|
|
275
|
+
ExtensionPoint.cleanupAll();
|
|
276
|
+
// Reset state
|
|
314
277
|
EventBus.reset();
|
|
315
278
|
ExtensionRegistry.reset();
|
|
279
|
+
ExtensionPoint.reset();
|
|
316
280
|
_isInitialized = false;
|
|
317
|
-
_hasCompletedServicesInit = false;
|
|
318
281
|
_initOptions = null;
|
|
319
282
|
_initializingPromise = null;
|
|
283
|
+
_localFileStorage = null;
|
|
320
284
|
logger.info('RunAnywhere Web SDK shut down');
|
|
321
285
|
},
|
|
322
|
-
// =========================================================================
|
|
323
|
-
// Reset (testing)
|
|
324
|
-
// =========================================================================
|
|
325
|
-
/**
|
|
326
|
-
* Reset SDK state (for testing purposes).
|
|
327
|
-
*/
|
|
328
286
|
reset() {
|
|
329
287
|
RunAnywhere.shutdown();
|
|
330
288
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RunAnywhere.js","sourceRoot":"","sources":["../../src/Public/RunAnywhere.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"RunAnywhere.js","sourceRoot":"","sources":["../../src/Public/RunAnywhere.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,70 +1,50 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* RunAnywhere Web SDK
|
|
2
|
+
* RunAnywhere Web SDK - Core Package (Pure TypeScript)
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* Backend-agnostic infrastructure for on-device AI in the browser.
|
|
5
|
+
* This package has ZERO WASM — all inference binaries live in backend packages:
|
|
6
|
+
* - @runanywhere/web-llamacpp — LLM, VLM, embeddings, diffusion (ships racommons-llamacpp.wasm)
|
|
7
|
+
* - @runanywhere/web-onnx — STT, TTS, VAD (ships sherpa-onnx.wasm)
|
|
5
8
|
*
|
|
6
9
|
* @packageDocumentation
|
|
7
10
|
*
|
|
8
11
|
* @example
|
|
9
12
|
* ```typescript
|
|
10
13
|
* import { RunAnywhere } from '@runanywhere/web';
|
|
14
|
+
* import { LlamaCPP } from '@runanywhere/web-llamacpp';
|
|
15
|
+
* import { ONNX } from '@runanywhere/web-onnx';
|
|
11
16
|
*
|
|
12
|
-
* // Initialize
|
|
13
17
|
* await RunAnywhere.initialize({ environment: 'development' });
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* console.log('WebGPU:', RunAnywhere.isWASMLoaded);
|
|
17
|
-
*
|
|
18
|
-
* // Future: Generate text
|
|
19
|
-
* // const result = await RunAnywhere.generate('Hello!', { maxTokens: 100 });
|
|
18
|
+
* await LlamaCPP.register();
|
|
19
|
+
* await ONNX.register();
|
|
20
20
|
* ```
|
|
21
21
|
*/
|
|
22
22
|
export { RunAnywhere } from './Public/RunAnywhere';
|
|
23
|
-
export { TextGeneration } from './Public/Extensions/RunAnywhere+TextGeneration';
|
|
24
|
-
export { STT, STTModelType } from './Public/Extensions/RunAnywhere+STT';
|
|
25
|
-
export type { STTModelConfig, STTWhisperFiles, STTZipformerFiles, STTParaformerFiles, STTTranscriptionResult, STTWord, STTTranscribeOptions, STTStreamCallback, STTStreamingSession, STTTask, } from './Public/Extensions/RunAnywhere+STT';
|
|
26
|
-
export { TTS } from './Public/Extensions/RunAnywhere+TTS';
|
|
27
|
-
export type { TTSVoiceConfig, TTSSynthesisResult, TTSSynthesizeOptions } from './Public/Extensions/RunAnywhere+TTS';
|
|
28
|
-
export { VAD, SpeechActivity } from './Public/Extensions/RunAnywhere+VAD';
|
|
29
|
-
export type { SpeechActivityCallback, VADModelConfig, SpeechSegment } from './Public/Extensions/RunAnywhere+VAD';
|
|
30
23
|
export { VoiceAgent, VoiceAgentSession, PipelineState } from './Public/Extensions/RunAnywhere+VoiceAgent';
|
|
31
24
|
export type { VoiceAgentModels, VoiceTurnResult, VoiceAgentEventData, VoiceAgentEventCallback } from './Public/Extensions/RunAnywhere+VoiceAgent';
|
|
32
25
|
export { VoicePipeline } from './Public/Extensions/RunAnywhere+VoicePipeline';
|
|
33
26
|
export type { VoicePipelineCallbacks, VoicePipelineOptions, VoicePipelineTurnResult } from './Public/Extensions/VoicePipelineTypes';
|
|
34
|
-
export { VLM, VLMImageFormat, VLMModelFamily } from './Public/Extensions/RunAnywhere+VLM';
|
|
35
|
-
export type { VLMImage, VLMGenerationOptions, VLMGenerationResult, VLMStreamingResult } from './Public/Extensions/RunAnywhere+VLM';
|
|
36
|
-
export { ToolCalling, ToolCallFormat, toToolValue, fromToolValue, getStringArg, getNumberArg } from './Public/Extensions/RunAnywhere+ToolCalling';
|
|
37
|
-
export type { ToolValue, ToolParameterType, ToolParameter, ToolDefinition, ToolCall, ToolResult, ToolCallingOptions, ToolCallingResult, ToolExecutor, } from './Public/Extensions/RunAnywhere+ToolCalling';
|
|
38
|
-
export { StructuredOutput } from './Public/Extensions/RunAnywhere+StructuredOutput';
|
|
39
|
-
export type { StructuredOutputConfig, StructuredOutputValidation } from './Public/Extensions/RunAnywhere+StructuredOutput';
|
|
40
|
-
export { Diffusion } from './Public/Extensions/RunAnywhere+Diffusion';
|
|
41
|
-
export { DiffusionScheduler, DiffusionModelVariant, DiffusionMode } from './Public/Extensions/RunAnywhere+Diffusion';
|
|
42
|
-
export type { DiffusionGenerationOptions, DiffusionGenerationResult, DiffusionProgressCallback } from './Public/Extensions/RunAnywhere+Diffusion';
|
|
43
|
-
export { Embeddings } from './Public/Extensions/RunAnywhere+Embeddings';
|
|
44
|
-
export { EmbeddingsNormalize, EmbeddingsPooling } from './Public/Extensions/RunAnywhere+Embeddings';
|
|
45
|
-
export type { EmbeddingVector, EmbeddingsResult, EmbeddingsOptions } from './Public/Extensions/RunAnywhere+Embeddings';
|
|
46
27
|
export * from './types';
|
|
47
28
|
export { SDKError, SDKErrorCode } from './Foundation/ErrorTypes';
|
|
48
29
|
export { SDKLogger, LogLevel } from './Foundation/SDKLogger';
|
|
49
30
|
export { EventBus } from './Foundation/EventBus';
|
|
50
31
|
export type { EventListener, Unsubscribe, SDKEventEnvelope } from './Foundation/EventBus';
|
|
51
32
|
export type { AccelerationMode } from './Foundation/WASMBridge';
|
|
52
|
-
export {
|
|
33
|
+
export type { AllOffsets, ConfigOffsets, LLMOptionsOffsets, LLMResultOffsets, VLMImageOffsets, VLMOptionsOffsets, VLMResultOffsets, StructuredOutputConfigOffsets, StructuredOutputValidationOffsets, EmbeddingsOptionsOffsets, EmbeddingsResultOffsets, EmbeddingVectorOffsets, DiffusionOptionsOffsets, DiffusionResultOffsets, } from './Foundation/StructOffsets';
|
|
53
34
|
export { detectCapabilities, getDeviceInfo } from './Infrastructure/DeviceCapabilities';
|
|
54
35
|
export type { WebCapabilities } from './Infrastructure/DeviceCapabilities';
|
|
55
|
-
export { AudioCapture } from './Infrastructure/AudioCapture';
|
|
56
|
-
export type { AudioChunkCallback, AudioLevelCallback, AudioCaptureConfig, AudioTrackEndedCallback } from './Infrastructure/AudioCapture';
|
|
57
|
-
export { VideoCapture } from './Infrastructure/VideoCapture';
|
|
58
|
-
export type { VideoCaptureConfig, CapturedFrame, TrackEndedCallback } from './Infrastructure/VideoCapture';
|
|
59
|
-
export { AudioPlayback } from './Infrastructure/AudioPlayback';
|
|
60
|
-
export type { PlaybackCompleteCallback, PlaybackConfig } from './Infrastructure/AudioPlayback';
|
|
61
|
-
/** @advanced — Most consumers should use `RunAnywhere.downloadModel / loadModel / registerModels` instead. */
|
|
62
36
|
export { ModelManager } from './Infrastructure/ModelManager';
|
|
63
37
|
export type { ManagedModel, CompactModelDef, DownloadProgress, ModelFileDescriptor, ArtifactType, VLMLoader, VLMLoadParams, } from './Infrastructure/ModelManager';
|
|
64
38
|
export type { QuotaCheckResult, EvictionCandidateInfo } from './Infrastructure/ModelDownloader';
|
|
65
39
|
export { OPFSStorage } from './Infrastructure/OPFSStorage';
|
|
66
40
|
export type { StoredModelInfo, MetadataMap, ModelMetadata } from './Infrastructure/OPFSStorage';
|
|
67
|
-
export {
|
|
68
|
-
export type {
|
|
69
|
-
export {
|
|
41
|
+
export { ExtensionRegistry } from './Infrastructure/ExtensionRegistry';
|
|
42
|
+
export type { SDKExtension } from './Infrastructure/ExtensionRegistry';
|
|
43
|
+
export { ExtensionPoint, BackendCapability, ServiceKey } from './Infrastructure/ExtensionPoint';
|
|
44
|
+
export type { BackendExtension } from './Infrastructure/ExtensionPoint';
|
|
45
|
+
export type { ModelLoadContext, LLMModelLoader, STTModelLoader, TTSModelLoader, VADModelLoader } from './Infrastructure/ModelLoaderTypes';
|
|
46
|
+
export { extractTarGz } from './Infrastructure/ArchiveUtility';
|
|
47
|
+
export { LocalFileStorage } from './Infrastructure/LocalFileStorage';
|
|
48
|
+
export { inferModelFromFilename, sanitizeId } from './Infrastructure/ModelFileInference';
|
|
49
|
+
export type { InferredModelMeta } from './Infrastructure/ModelFileInference';
|
|
70
50
|
//# sourceMappingURL=index.d.ts.map
|