@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.
Files changed (189) hide show
  1. package/dist/Foundation/ErrorTypes.d.ts +1 -0
  2. package/dist/Foundation/ErrorTypes.d.ts.map +1 -1
  3. package/dist/Foundation/ErrorTypes.js +3 -0
  4. package/dist/Foundation/ErrorTypes.js.map +1 -1
  5. package/dist/Foundation/EventBus.d.ts +0 -1
  6. package/dist/Foundation/EventBus.d.ts.map +1 -1
  7. package/dist/Foundation/StructOffsets.d.ts +5 -37
  8. package/dist/Foundation/StructOffsets.d.ts.map +1 -1
  9. package/dist/Foundation/StructOffsets.js +6 -157
  10. package/dist/Foundation/StructOffsets.js.map +1 -1
  11. package/dist/Foundation/WASMBridge.d.ts +8 -236
  12. package/dist/Foundation/WASMBridge.d.ts.map +1 -1
  13. package/dist/Foundation/WASMBridge.js +7 -388
  14. package/dist/Foundation/WASMBridge.js.map +1 -1
  15. package/dist/Infrastructure/DeviceCapabilities.d.ts.map +1 -1
  16. package/dist/Infrastructure/DeviceCapabilities.js +1 -3
  17. package/dist/Infrastructure/DeviceCapabilities.js.map +1 -1
  18. package/dist/Infrastructure/ExtensionPoint.d.ts +114 -0
  19. package/dist/Infrastructure/ExtensionPoint.d.ts.map +1 -0
  20. package/dist/Infrastructure/ExtensionPoint.js +178 -0
  21. package/dist/Infrastructure/ExtensionPoint.js.map +1 -0
  22. package/dist/Infrastructure/LocalFileStorage.d.ts +134 -0
  23. package/dist/Infrastructure/LocalFileStorage.d.ts.map +1 -0
  24. package/dist/Infrastructure/LocalFileStorage.js +428 -0
  25. package/dist/Infrastructure/LocalFileStorage.js.map +1 -0
  26. package/dist/Infrastructure/ModelDownloader.d.ts +21 -5
  27. package/dist/Infrastructure/ModelDownloader.d.ts.map +1 -1
  28. package/dist/Infrastructure/ModelDownloader.js +79 -7
  29. package/dist/Infrastructure/ModelDownloader.js.map +1 -1
  30. package/dist/Infrastructure/ModelFileInference.d.ts +39 -0
  31. package/dist/Infrastructure/ModelFileInference.d.ts.map +1 -0
  32. package/dist/Infrastructure/ModelFileInference.js +119 -0
  33. package/dist/Infrastructure/ModelFileInference.js.map +1 -0
  34. package/dist/Infrastructure/ModelLoaderTypes.d.ts +91 -12
  35. package/dist/Infrastructure/ModelLoaderTypes.d.ts.map +1 -1
  36. package/dist/Infrastructure/ModelLoaderTypes.js +7 -1
  37. package/dist/Infrastructure/ModelLoaderTypes.js.map +1 -1
  38. package/dist/Infrastructure/ModelManager.d.ts +31 -104
  39. package/dist/Infrastructure/ModelManager.d.ts.map +1 -1
  40. package/dist/Infrastructure/ModelManager.js +207 -568
  41. package/dist/Infrastructure/ModelManager.js.map +1 -1
  42. package/dist/Infrastructure/ModelRegistry.d.ts +6 -8
  43. package/dist/Infrastructure/ModelRegistry.d.ts.map +1 -1
  44. package/dist/Infrastructure/ModelRegistry.js +11 -4
  45. package/dist/Infrastructure/ModelRegistry.js.map +1 -1
  46. package/dist/Infrastructure/OPFSStorage.d.ts +8 -0
  47. package/dist/Infrastructure/OPFSStorage.d.ts.map +1 -1
  48. package/dist/Infrastructure/OPFSStorage.js +37 -0
  49. package/dist/Infrastructure/OPFSStorage.js.map +1 -1
  50. package/dist/Public/Extensions/RunAnywhere+ModelManagement.d.ts +12 -4
  51. package/dist/Public/Extensions/RunAnywhere+ModelManagement.d.ts.map +1 -1
  52. package/dist/Public/Extensions/RunAnywhere+ModelManagement.js +23 -51
  53. package/dist/Public/Extensions/RunAnywhere+ModelManagement.js.map +1 -1
  54. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.d.ts +42 -10
  55. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.d.ts.map +1 -1
  56. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.js +63 -161
  57. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.js.map +1 -1
  58. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts +3 -29
  59. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts.map +1 -1
  60. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js +26 -42
  61. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js.map +1 -1
  62. package/dist/Public/Extensions/VoicePipelineTypes.d.ts +28 -37
  63. package/dist/Public/Extensions/VoicePipelineTypes.d.ts.map +1 -1
  64. package/dist/Public/Extensions/VoicePipelineTypes.js +4 -1
  65. package/dist/Public/Extensions/VoicePipelineTypes.js.map +1 -1
  66. package/dist/Public/RunAnywhere.d.ts +29 -85
  67. package/dist/Public/RunAnywhere.d.ts.map +1 -1
  68. package/dist/Public/RunAnywhere.js +169 -211
  69. package/dist/Public/RunAnywhere.js.map +1 -1
  70. package/dist/index.d.ts +19 -39
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +15 -31
  73. package/dist/index.js.map +1 -1
  74. package/dist/types/index.d.ts +0 -1
  75. package/dist/types/index.d.ts.map +1 -1
  76. package/dist/types/index.js +1 -0
  77. package/dist/types/index.js.map +1 -1
  78. package/package.json +4 -10
  79. package/dist/Foundation/PlatformAdapter.d.ts +0 -101
  80. package/dist/Foundation/PlatformAdapter.d.ts.map +0 -1
  81. package/dist/Foundation/PlatformAdapter.js +0 -417
  82. package/dist/Foundation/PlatformAdapter.js.map +0 -1
  83. package/dist/Foundation/SherpaONNXBridge.d.ts +0 -147
  84. package/dist/Foundation/SherpaONNXBridge.d.ts.map +0 -1
  85. package/dist/Foundation/SherpaONNXBridge.js +0 -345
  86. package/dist/Foundation/SherpaONNXBridge.js.map +0 -1
  87. package/dist/Infrastructure/AudioCapture.d.ts +0 -99
  88. package/dist/Infrastructure/AudioCapture.d.ts.map +0 -1
  89. package/dist/Infrastructure/AudioCapture.js +0 -264
  90. package/dist/Infrastructure/AudioCapture.js.map +0 -1
  91. package/dist/Infrastructure/AudioPlayback.d.ts +0 -53
  92. package/dist/Infrastructure/AudioPlayback.d.ts.map +0 -1
  93. package/dist/Infrastructure/AudioPlayback.js +0 -117
  94. package/dist/Infrastructure/AudioPlayback.js.map +0 -1
  95. package/dist/Infrastructure/VLMWorkerBridge.d.ts +0 -211
  96. package/dist/Infrastructure/VLMWorkerBridge.d.ts.map +0 -1
  97. package/dist/Infrastructure/VLMWorkerBridge.js +0 -264
  98. package/dist/Infrastructure/VLMWorkerBridge.js.map +0 -1
  99. package/dist/Infrastructure/VLMWorkerRuntime.d.ts +0 -38
  100. package/dist/Infrastructure/VLMWorkerRuntime.d.ts.map +0 -1
  101. package/dist/Infrastructure/VLMWorkerRuntime.js +0 -503
  102. package/dist/Infrastructure/VLMWorkerRuntime.js.map +0 -1
  103. package/dist/Infrastructure/VideoCapture.d.ts +0 -130
  104. package/dist/Infrastructure/VideoCapture.d.ts.map +0 -1
  105. package/dist/Infrastructure/VideoCapture.js +0 -236
  106. package/dist/Infrastructure/VideoCapture.js.map +0 -1
  107. package/dist/Public/Extensions/DiffusionTypes.d.ts +0 -64
  108. package/dist/Public/Extensions/DiffusionTypes.d.ts.map +0 -1
  109. package/dist/Public/Extensions/DiffusionTypes.js +0 -28
  110. package/dist/Public/Extensions/DiffusionTypes.js.map +0 -1
  111. package/dist/Public/Extensions/EmbeddingsTypes.d.ts +0 -33
  112. package/dist/Public/Extensions/EmbeddingsTypes.d.ts.map +0 -1
  113. package/dist/Public/Extensions/EmbeddingsTypes.js +0 -13
  114. package/dist/Public/Extensions/EmbeddingsTypes.js.map +0 -1
  115. package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts +0 -44
  116. package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts.map +0 -1
  117. package/dist/Public/Extensions/RunAnywhere+Diffusion.js +0 -189
  118. package/dist/Public/Extensions/RunAnywhere+Diffusion.js.map +0 -1
  119. package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts +0 -56
  120. package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts.map +0 -1
  121. package/dist/Public/Extensions/RunAnywhere+Embeddings.js +0 -240
  122. package/dist/Public/Extensions/RunAnywhere+Embeddings.js.map +0 -1
  123. package/dist/Public/Extensions/RunAnywhere+STT.d.ts +0 -97
  124. package/dist/Public/Extensions/RunAnywhere+STT.d.ts.map +0 -1
  125. package/dist/Public/Extensions/RunAnywhere+STT.js +0 -417
  126. package/dist/Public/Extensions/RunAnywhere+STT.js.map +0 -1
  127. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts +0 -69
  128. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts.map +0 -1
  129. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js +0 -196
  130. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js.map +0 -1
  131. package/dist/Public/Extensions/RunAnywhere+TTS.d.ts +0 -55
  132. package/dist/Public/Extensions/RunAnywhere+TTS.d.ts.map +0 -1
  133. package/dist/Public/Extensions/RunAnywhere+TTS.js +0 -253
  134. package/dist/Public/Extensions/RunAnywhere+TTS.js.map +0 -1
  135. package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts +0 -80
  136. package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts.map +0 -1
  137. package/dist/Public/Extensions/RunAnywhere+TextGeneration.js +0 -470
  138. package/dist/Public/Extensions/RunAnywhere+TextGeneration.js.map +0 -1
  139. package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts +0 -82
  140. package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts.map +0 -1
  141. package/dist/Public/Extensions/RunAnywhere+ToolCalling.js +0 -576
  142. package/dist/Public/Extensions/RunAnywhere+ToolCalling.js.map +0 -1
  143. package/dist/Public/Extensions/RunAnywhere+VAD.d.ts +0 -70
  144. package/dist/Public/Extensions/RunAnywhere+VAD.d.ts.map +0 -1
  145. package/dist/Public/Extensions/RunAnywhere+VAD.js +0 -231
  146. package/dist/Public/Extensions/RunAnywhere+VAD.js.map +0 -1
  147. package/dist/Public/Extensions/RunAnywhere+VLM.d.ts +0 -58
  148. package/dist/Public/Extensions/RunAnywhere+VLM.d.ts.map +0 -1
  149. package/dist/Public/Extensions/RunAnywhere+VLM.js +0 -262
  150. package/dist/Public/Extensions/RunAnywhere+VLM.js.map +0 -1
  151. package/dist/Public/Extensions/STTTypes.d.ts +0 -61
  152. package/dist/Public/Extensions/STTTypes.d.ts.map +0 -1
  153. package/dist/Public/Extensions/STTTypes.js +0 -16
  154. package/dist/Public/Extensions/STTTypes.js.map +0 -1
  155. package/dist/Public/Extensions/TTSTypes.d.ts +0 -31
  156. package/dist/Public/Extensions/TTSTypes.d.ts.map +0 -1
  157. package/dist/Public/Extensions/TTSTypes.js +0 -3
  158. package/dist/Public/Extensions/TTSTypes.js.map +0 -1
  159. package/dist/Public/Extensions/ToolCallingTypes.d.ts +0 -78
  160. package/dist/Public/Extensions/ToolCallingTypes.d.ts.map +0 -1
  161. package/dist/Public/Extensions/ToolCallingTypes.js +0 -8
  162. package/dist/Public/Extensions/ToolCallingTypes.js.map +0 -1
  163. package/dist/Public/Extensions/VADTypes.d.ts +0 -30
  164. package/dist/Public/Extensions/VADTypes.d.ts.map +0 -1
  165. package/dist/Public/Extensions/VADTypes.js +0 -8
  166. package/dist/Public/Extensions/VADTypes.js.map +0 -1
  167. package/dist/Public/Extensions/VLMTypes.d.ts +0 -56
  168. package/dist/Public/Extensions/VLMTypes.d.ts.map +0 -1
  169. package/dist/Public/Extensions/VLMTypes.js +0 -24
  170. package/dist/Public/Extensions/VLMTypes.js.map +0 -1
  171. package/dist/types/LLMTypes.d.ts +0 -48
  172. package/dist/types/LLMTypes.d.ts.map +0 -1
  173. package/dist/types/LLMTypes.js +0 -8
  174. package/dist/types/LLMTypes.js.map +0 -1
  175. package/dist/workers/vlm-worker.d.ts +0 -9
  176. package/dist/workers/vlm-worker.d.ts.map +0 -1
  177. package/dist/workers/vlm-worker.js +0 -10
  178. package/dist/workers/vlm-worker.js.map +0 -1
  179. package/wasm/racommons-webgpu.js +0 -156
  180. package/wasm/racommons-webgpu.wasm +0 -0
  181. package/wasm/racommons.js +0 -126
  182. package/wasm/racommons.wasm +0 -0
  183. package/wasm/sherpa/sherpa-onnx-asr.js +0 -1538
  184. package/wasm/sherpa/sherpa-onnx-glue-original.js +0 -19
  185. package/wasm/sherpa/sherpa-onnx-glue.js +0 -17
  186. package/wasm/sherpa/sherpa-onnx-tts.js +0 -657
  187. package/wasm/sherpa/sherpa-onnx-vad.js +0 -337
  188. package/wasm/sherpa/sherpa-onnx-wave.js +0 -88
  189. 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
- * Mirrors the pattern across all SDKs:
6
- * - RunAnywhere.swift (iOS) - enum with static methods
7
- * - RunAnywhere.kt (Kotlin) - object/class
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
- * const result = await RunAnywhere.generate('Hello!', { maxTokens: 100 });
15
+ * await LlamaCPP.register();
16
+ * await ONNX.register();
18
17
  */
19
- import { SDKEnvironment, SDKEventType, AccelerationPreference } from '../types/enums';
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
- // Extension imports for registration and shutdown cleanup
31
- import { TextGeneration } from './Extensions/RunAnywhere+TextGeneration';
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 performs:
91
- * 1. Load RACommons WASM module
92
- * 2. Register JS platform adapter callbacks
93
- * 3. Call rac_init() (same C function as iOS/Android)
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
- * @example
100
- * ```typescript
101
- * // Development mode (default)
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 = {}, wasmUrl) {
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
- // Phase 1: Load WASM module (auto-detects WebGPU and loads correct variant)
133
- const bridge = WASMBridge.shared;
134
- const acceleration = options.acceleration ?? AccelerationPreference.Auto;
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
- // Set platform_adapter pointer (offset 0) -- always first field
157
- m.setValue(configPtr, _platformAdapter.getAdapterPtr(), '*');
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 (mirrors iOS RunAnywhere.registerModel / loadModel / etc.)
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
- // Shutdown
131
+ // Model Import (file picker / drag-and-drop)
274
132
  // =========================================================================
275
- /**
276
- * Shutdown the SDK and release all resources.
277
- *
278
- * Cleans up extensions in reverse dependency order so that
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
- _platformAdapter.cleanup();
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
- // RACommons WASM bridge
307
- try {
308
- WASMBridge.shared.shutdown();
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
- catch { /* ignore during shutdown */ }
311
- // ------------------------------------------------------------------
312
- // 3. Reset SDK state
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":"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"}
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
- * On-device AI inference in the browser via RACommons WebAssembly.
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
- * // Check capabilities
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 { SherpaONNXBridge } from './Foundation/SherpaONNXBridge';
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 { VLMWorkerBridge } from './Infrastructure/VLMWorkerBridge';
68
- export type { VLMWorkerResult, VLMLoadModelParams, VLMProcessOptions, VLMWorkerCommand, VLMWorkerResponse, ProgressListener, } from './Infrastructure/VLMWorkerBridge';
69
- export { startVLMWorkerRuntime } from './Infrastructure/VLMWorkerRuntime';
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