@runanywhere/web 0.1.0-beta.1 → 0.1.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/README.md +85 -34
  2. package/dist/Foundation/ErrorTypes.js +7 -0
  3. package/dist/Foundation/ErrorTypes.js.map +1 -1
  4. package/dist/Foundation/EventBus.js.map +1 -1
  5. package/dist/Foundation/StructOffsets.js +6 -156
  6. package/dist/Foundation/StructOffsets.js.map +1 -1
  7. package/dist/Foundation/WASMBridge.js +7 -388
  8. package/dist/Foundation/WASMBridge.js.map +1 -1
  9. package/dist/Infrastructure/AudioFileLoader.js +57 -0
  10. package/dist/Infrastructure/AudioFileLoader.js.map +1 -0
  11. package/dist/Infrastructure/DeviceCapabilities.js +8 -3
  12. package/dist/Infrastructure/DeviceCapabilities.js.map +1 -1
  13. package/dist/Infrastructure/ExtensionPoint.js +225 -0
  14. package/dist/Infrastructure/ExtensionPoint.js.map +1 -0
  15. package/dist/Infrastructure/LocalFileStorage.js +462 -0
  16. package/dist/Infrastructure/LocalFileStorage.js.map +1 -0
  17. package/dist/Infrastructure/ModelDownloader.js +186 -16
  18. package/dist/Infrastructure/ModelDownloader.js.map +1 -1
  19. package/dist/Infrastructure/ModelFileInference.js +119 -0
  20. package/dist/Infrastructure/ModelFileInference.js.map +1 -0
  21. package/dist/Infrastructure/ModelLoaderTypes.js +7 -1
  22. package/dist/Infrastructure/ModelLoaderTypes.js.map +1 -1
  23. package/dist/Infrastructure/ModelManager.js +233 -566
  24. package/dist/Infrastructure/ModelManager.js.map +1 -1
  25. package/dist/Infrastructure/ModelRegistry.js +11 -0
  26. package/dist/Infrastructure/ModelRegistry.js.map +1 -1
  27. package/dist/Infrastructure/OPFSStorage.js +77 -0
  28. package/dist/Infrastructure/OPFSStorage.js.map +1 -1
  29. package/dist/Infrastructure/ProviderTypes.js +13 -0
  30. package/dist/Infrastructure/ProviderTypes.js.map +1 -0
  31. package/dist/Infrastructure/VideoCapture.js +15 -0
  32. package/dist/Infrastructure/VideoCapture.js.map +1 -1
  33. package/dist/Public/Extensions/RunAnywhere+ModelManagement.js +23 -51
  34. package/dist/Public/Extensions/RunAnywhere+ModelManagement.js.map +1 -1
  35. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.js +63 -161
  36. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.js.map +1 -1
  37. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js +30 -44
  38. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.js.map +1 -1
  39. package/dist/Public/Extensions/VoicePipelineTypes.js +4 -1
  40. package/dist/Public/Extensions/VoicePipelineTypes.js.map +1 -1
  41. package/dist/Public/RunAnywhere.js +167 -211
  42. package/dist/Public/RunAnywhere.js.map +1 -1
  43. package/dist/index.js +24 -27
  44. package/dist/index.js.map +1 -1
  45. package/dist/services/AnalyticsEmitter.js +85 -0
  46. package/dist/services/AnalyticsEmitter.js.map +1 -0
  47. package/dist/services/HTTPService.js +255 -0
  48. package/dist/services/HTTPService.js.map +1 -0
  49. package/dist/{Foundation → types/Foundation}/ErrorTypes.d.ts +3 -0
  50. package/dist/types/Foundation/ErrorTypes.d.ts.map +1 -0
  51. package/dist/{Foundation → types/Foundation}/EventBus.d.ts +13 -2
  52. package/dist/types/Foundation/EventBus.d.ts.map +1 -0
  53. package/dist/types/Foundation/SDKLogger.d.ts.map +1 -0
  54. package/dist/{Foundation → types/Foundation}/StructOffsets.d.ts +6 -37
  55. package/dist/types/Foundation/StructOffsets.d.ts.map +1 -0
  56. package/dist/types/Foundation/WASMBridge.d.ts +13 -0
  57. package/dist/types/Foundation/WASMBridge.d.ts.map +1 -0
  58. package/dist/types/Infrastructure/ArchiveUtility.d.ts.map +1 -0
  59. package/dist/types/Infrastructure/AudioCapture.d.ts.map +1 -0
  60. package/dist/types/Infrastructure/AudioFileLoader.d.ts +32 -0
  61. package/dist/types/Infrastructure/AudioFileLoader.d.ts.map +1 -0
  62. package/dist/types/Infrastructure/AudioPlayback.d.ts.map +1 -0
  63. package/dist/types/Infrastructure/DeviceCapabilities.d.ts.map +1 -0
  64. package/dist/types/Infrastructure/ExtensionPoint.d.ts +138 -0
  65. package/dist/types/Infrastructure/ExtensionPoint.d.ts.map +1 -0
  66. package/dist/types/Infrastructure/ExtensionRegistry.d.ts.map +1 -0
  67. package/dist/types/Infrastructure/LocalFileStorage.d.ts +146 -0
  68. package/dist/types/Infrastructure/LocalFileStorage.d.ts.map +1 -0
  69. package/dist/{Infrastructure → types/Infrastructure}/ModelDownloader.d.ts +35 -5
  70. package/dist/types/Infrastructure/ModelDownloader.d.ts.map +1 -0
  71. package/dist/types/Infrastructure/ModelFileInference.d.ts +39 -0
  72. package/dist/types/Infrastructure/ModelFileInference.d.ts.map +1 -0
  73. package/dist/types/Infrastructure/ModelLoaderTypes.d.ts +124 -0
  74. package/dist/types/Infrastructure/ModelLoaderTypes.d.ts.map +1 -0
  75. package/dist/types/Infrastructure/ModelManager.d.ts +146 -0
  76. package/dist/types/Infrastructure/ModelManager.d.ts.map +1 -0
  77. package/dist/{Infrastructure → types/Infrastructure}/ModelRegistry.d.ts +6 -0
  78. package/dist/types/Infrastructure/ModelRegistry.d.ts.map +1 -0
  79. package/dist/{Infrastructure → types/Infrastructure}/OPFSStorage.d.ts +22 -0
  80. package/dist/types/Infrastructure/OPFSStorage.d.ts.map +1 -0
  81. package/dist/types/Infrastructure/ProviderTypes.d.ts +55 -0
  82. package/dist/types/Infrastructure/ProviderTypes.d.ts.map +1 -0
  83. package/dist/{Infrastructure → types/Infrastructure}/VideoCapture.d.ts +2 -0
  84. package/dist/types/Infrastructure/VideoCapture.d.ts.map +1 -0
  85. package/dist/{Public → types/Public}/Extensions/RunAnywhere+ModelManagement.d.ts +12 -4
  86. package/dist/types/Public/Extensions/RunAnywhere+ModelManagement.d.ts.map +1 -0
  87. package/dist/types/Public/Extensions/RunAnywhere+VoiceAgent.d.ts +81 -0
  88. package/dist/types/Public/Extensions/RunAnywhere+VoiceAgent.d.ts.map +1 -0
  89. package/dist/types/Public/Extensions/RunAnywhere+VoicePipeline.d.ts +37 -0
  90. package/dist/types/Public/Extensions/RunAnywhere+VoicePipeline.d.ts.map +1 -0
  91. package/dist/types/Public/Extensions/VoiceAgentTypes.d.ts.map +1 -0
  92. package/dist/types/Public/Extensions/VoicePipelineTypes.d.ts +60 -0
  93. package/dist/types/Public/Extensions/VoicePipelineTypes.d.ts.map +1 -0
  94. package/dist/types/Public/RunAnywhere.d.ts +65 -0
  95. package/dist/types/Public/RunAnywhere.d.ts.map +1 -0
  96. package/dist/types/STTTypes.js +9 -0
  97. package/dist/types/STTTypes.js.map +1 -0
  98. package/dist/types/TTSTypes.js +8 -0
  99. package/dist/types/TTSTypes.js.map +1 -0
  100. package/dist/types/VADTypes.js +13 -0
  101. package/dist/types/VADTypes.js.map +1 -0
  102. package/dist/types/VLMTypes.js +13 -0
  103. package/dist/types/VLMTypes.js.map +1 -0
  104. package/dist/types/enums.js +7 -0
  105. package/dist/types/enums.js.map +1 -1
  106. package/dist/types/index.d.ts +59 -5
  107. package/dist/types/index.d.ts.map +1 -1
  108. package/dist/types/index.js +6 -0
  109. package/dist/types/index.js.map +1 -1
  110. package/dist/types/services/AnalyticsEmitter.d.ts +53 -0
  111. package/dist/types/services/AnalyticsEmitter.d.ts.map +1 -0
  112. package/dist/types/services/HTTPService.d.ts +87 -0
  113. package/dist/types/services/HTTPService.d.ts.map +1 -0
  114. package/dist/types/{LLMTypes.d.ts → types/LLMTypes.d.ts} +1 -0
  115. package/dist/types/types/LLMTypes.d.ts.map +1 -0
  116. package/dist/types/types/STTTypes.d.ts +44 -0
  117. package/dist/types/types/STTTypes.d.ts.map +1 -0
  118. package/dist/types/types/TTSTypes.d.ts +24 -0
  119. package/dist/types/types/TTSTypes.d.ts.map +1 -0
  120. package/dist/types/types/VADTypes.d.ts +19 -0
  121. package/dist/types/types/VADTypes.d.ts.map +1 -0
  122. package/dist/{Public/Extensions → types/types}/VLMTypes.d.ts +6 -12
  123. package/dist/types/types/VLMTypes.d.ts.map +1 -0
  124. package/dist/types/{enums.d.ts → types/enums.d.ts} +7 -0
  125. package/dist/types/types/enums.d.ts.map +1 -0
  126. package/dist/types/types/index.d.ts +17 -0
  127. package/dist/types/types/index.d.ts.map +1 -0
  128. package/dist/types/{models.d.ts → types/models.d.ts} +1 -0
  129. package/dist/types/types/models.d.ts.map +1 -0
  130. package/dist/types/types.d.ts +65 -0
  131. package/dist/types/types.d.ts.map +1 -0
  132. package/dist/types.js +21 -0
  133. package/dist/types.js.map +1 -0
  134. package/package.json +28 -42
  135. package/dist/Foundation/ErrorTypes.d.ts.map +0 -1
  136. package/dist/Foundation/EventBus.d.ts.map +0 -1
  137. package/dist/Foundation/PlatformAdapter.d.ts +0 -101
  138. package/dist/Foundation/PlatformAdapter.d.ts.map +0 -1
  139. package/dist/Foundation/PlatformAdapter.js +0 -417
  140. package/dist/Foundation/PlatformAdapter.js.map +0 -1
  141. package/dist/Foundation/SDKLogger.d.ts.map +0 -1
  142. package/dist/Foundation/SherpaONNXBridge.d.ts +0 -134
  143. package/dist/Foundation/SherpaONNXBridge.d.ts.map +0 -1
  144. package/dist/Foundation/SherpaONNXBridge.js +0 -332
  145. package/dist/Foundation/SherpaONNXBridge.js.map +0 -1
  146. package/dist/Foundation/StructOffsets.d.ts.map +0 -1
  147. package/dist/Foundation/WASMBridge.d.ts +0 -241
  148. package/dist/Foundation/WASMBridge.d.ts.map +0 -1
  149. package/dist/Infrastructure/ArchiveUtility.d.ts.map +0 -1
  150. package/dist/Infrastructure/AudioCapture.d.ts.map +0 -1
  151. package/dist/Infrastructure/AudioPlayback.d.ts.map +0 -1
  152. package/dist/Infrastructure/DeviceCapabilities.d.ts.map +0 -1
  153. package/dist/Infrastructure/ExtensionRegistry.d.ts.map +0 -1
  154. package/dist/Infrastructure/ModelDownloader.d.ts.map +0 -1
  155. package/dist/Infrastructure/ModelLoaderTypes.d.ts +0 -34
  156. package/dist/Infrastructure/ModelLoaderTypes.d.ts.map +0 -1
  157. package/dist/Infrastructure/ModelManager.d.ts +0 -219
  158. package/dist/Infrastructure/ModelManager.d.ts.map +0 -1
  159. package/dist/Infrastructure/ModelRegistry.d.ts.map +0 -1
  160. package/dist/Infrastructure/OPFSStorage.d.ts.map +0 -1
  161. package/dist/Infrastructure/VLMWorkerBridge.d.ts +0 -211
  162. package/dist/Infrastructure/VLMWorkerBridge.d.ts.map +0 -1
  163. package/dist/Infrastructure/VLMWorkerBridge.js +0 -264
  164. package/dist/Infrastructure/VLMWorkerBridge.js.map +0 -1
  165. package/dist/Infrastructure/VLMWorkerRuntime.d.ts +0 -38
  166. package/dist/Infrastructure/VLMWorkerRuntime.d.ts.map +0 -1
  167. package/dist/Infrastructure/VLMWorkerRuntime.js +0 -503
  168. package/dist/Infrastructure/VLMWorkerRuntime.js.map +0 -1
  169. package/dist/Infrastructure/VideoCapture.d.ts.map +0 -1
  170. package/dist/Public/Extensions/DiffusionTypes.d.ts +0 -64
  171. package/dist/Public/Extensions/DiffusionTypes.d.ts.map +0 -1
  172. package/dist/Public/Extensions/DiffusionTypes.js +0 -28
  173. package/dist/Public/Extensions/DiffusionTypes.js.map +0 -1
  174. package/dist/Public/Extensions/EmbeddingsTypes.d.ts +0 -33
  175. package/dist/Public/Extensions/EmbeddingsTypes.d.ts.map +0 -1
  176. package/dist/Public/Extensions/EmbeddingsTypes.js +0 -13
  177. package/dist/Public/Extensions/EmbeddingsTypes.js.map +0 -1
  178. package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts +0 -44
  179. package/dist/Public/Extensions/RunAnywhere+Diffusion.d.ts.map +0 -1
  180. package/dist/Public/Extensions/RunAnywhere+Diffusion.js +0 -189
  181. package/dist/Public/Extensions/RunAnywhere+Diffusion.js.map +0 -1
  182. package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts +0 -56
  183. package/dist/Public/Extensions/RunAnywhere+Embeddings.d.ts.map +0 -1
  184. package/dist/Public/Extensions/RunAnywhere+Embeddings.js +0 -240
  185. package/dist/Public/Extensions/RunAnywhere+Embeddings.js.map +0 -1
  186. package/dist/Public/Extensions/RunAnywhere+ModelManagement.d.ts.map +0 -1
  187. package/dist/Public/Extensions/RunAnywhere+STT.d.ts +0 -95
  188. package/dist/Public/Extensions/RunAnywhere+STT.d.ts.map +0 -1
  189. package/dist/Public/Extensions/RunAnywhere+STT.js +0 -417
  190. package/dist/Public/Extensions/RunAnywhere+STT.js.map +0 -1
  191. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts +0 -69
  192. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.d.ts.map +0 -1
  193. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js +0 -196
  194. package/dist/Public/Extensions/RunAnywhere+StructuredOutput.js.map +0 -1
  195. package/dist/Public/Extensions/RunAnywhere+TTS.d.ts +0 -55
  196. package/dist/Public/Extensions/RunAnywhere+TTS.d.ts.map +0 -1
  197. package/dist/Public/Extensions/RunAnywhere+TTS.js +0 -253
  198. package/dist/Public/Extensions/RunAnywhere+TTS.js.map +0 -1
  199. package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts +0 -80
  200. package/dist/Public/Extensions/RunAnywhere+TextGeneration.d.ts.map +0 -1
  201. package/dist/Public/Extensions/RunAnywhere+TextGeneration.js +0 -436
  202. package/dist/Public/Extensions/RunAnywhere+TextGeneration.js.map +0 -1
  203. package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts +0 -82
  204. package/dist/Public/Extensions/RunAnywhere+ToolCalling.d.ts.map +0 -1
  205. package/dist/Public/Extensions/RunAnywhere+ToolCalling.js +0 -576
  206. package/dist/Public/Extensions/RunAnywhere+ToolCalling.js.map +0 -1
  207. package/dist/Public/Extensions/RunAnywhere+VAD.d.ts +0 -70
  208. package/dist/Public/Extensions/RunAnywhere+VAD.d.ts.map +0 -1
  209. package/dist/Public/Extensions/RunAnywhere+VAD.js +0 -231
  210. package/dist/Public/Extensions/RunAnywhere+VAD.js.map +0 -1
  211. package/dist/Public/Extensions/RunAnywhere+VLM.d.ts +0 -58
  212. package/dist/Public/Extensions/RunAnywhere+VLM.d.ts.map +0 -1
  213. package/dist/Public/Extensions/RunAnywhere+VLM.js +0 -262
  214. package/dist/Public/Extensions/RunAnywhere+VLM.js.map +0 -1
  215. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.d.ts +0 -49
  216. package/dist/Public/Extensions/RunAnywhere+VoiceAgent.d.ts.map +0 -1
  217. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts +0 -63
  218. package/dist/Public/Extensions/RunAnywhere+VoicePipeline.d.ts.map +0 -1
  219. package/dist/Public/Extensions/STTTypes.d.ts +0 -53
  220. package/dist/Public/Extensions/STTTypes.d.ts.map +0 -1
  221. package/dist/Public/Extensions/STTTypes.js +0 -16
  222. package/dist/Public/Extensions/STTTypes.js.map +0 -1
  223. package/dist/Public/Extensions/TTSTypes.d.ts +0 -31
  224. package/dist/Public/Extensions/TTSTypes.d.ts.map +0 -1
  225. package/dist/Public/Extensions/TTSTypes.js +0 -3
  226. package/dist/Public/Extensions/TTSTypes.js.map +0 -1
  227. package/dist/Public/Extensions/ToolCallingTypes.d.ts +0 -78
  228. package/dist/Public/Extensions/ToolCallingTypes.d.ts.map +0 -1
  229. package/dist/Public/Extensions/ToolCallingTypes.js +0 -8
  230. package/dist/Public/Extensions/ToolCallingTypes.js.map +0 -1
  231. package/dist/Public/Extensions/VADTypes.d.ts +0 -30
  232. package/dist/Public/Extensions/VADTypes.d.ts.map +0 -1
  233. package/dist/Public/Extensions/VADTypes.js +0 -8
  234. package/dist/Public/Extensions/VADTypes.js.map +0 -1
  235. package/dist/Public/Extensions/VLMTypes.d.ts.map +0 -1
  236. package/dist/Public/Extensions/VLMTypes.js +0 -24
  237. package/dist/Public/Extensions/VLMTypes.js.map +0 -1
  238. package/dist/Public/Extensions/VoiceAgentTypes.d.ts.map +0 -1
  239. package/dist/Public/Extensions/VoicePipelineTypes.d.ts +0 -69
  240. package/dist/Public/Extensions/VoicePipelineTypes.d.ts.map +0 -1
  241. package/dist/Public/RunAnywhere.d.ts +0 -121
  242. package/dist/Public/RunAnywhere.d.ts.map +0 -1
  243. package/dist/index.d.ts +0 -67
  244. package/dist/index.d.ts.map +0 -1
  245. package/dist/types/LLMTypes.d.ts.map +0 -1
  246. package/dist/types/enums.d.ts.map +0 -1
  247. package/dist/types/models.d.ts.map +0 -1
  248. package/dist/workers/vlm-worker.d.ts +0 -9
  249. package/dist/workers/vlm-worker.d.ts.map +0 -1
  250. package/dist/workers/vlm-worker.js +0 -10
  251. package/dist/workers/vlm-worker.js.map +0 -1
  252. package/wasm/racommons-webgpu.js +0 -156
  253. package/wasm/racommons-webgpu.wasm +0 -0
  254. package/wasm/racommons.js +0 -126
  255. package/wasm/racommons.wasm +0 -0
  256. package/wasm/sherpa/sherpa-onnx-asr.js +0 -1538
  257. package/wasm/sherpa/sherpa-onnx-glue-original.js +0 -19
  258. package/wasm/sherpa/sherpa-onnx-glue.js +0 -17
  259. package/wasm/sherpa/sherpa-onnx-tts.js +0 -657
  260. package/wasm/sherpa/sherpa-onnx-vad.js +0 -337
  261. package/wasm/sherpa/sherpa-onnx-wave.js +0 -88
  262. package/wasm/sherpa/sherpa-onnx.wasm +0 -0
  263. /package/dist/{Foundation → types/Foundation}/SDKLogger.d.ts +0 -0
  264. /package/dist/{Infrastructure → types/Infrastructure}/ArchiveUtility.d.ts +0 -0
  265. /package/dist/{Infrastructure → types/Infrastructure}/AudioCapture.d.ts +0 -0
  266. /package/dist/{Infrastructure → types/Infrastructure}/AudioPlayback.d.ts +0 -0
  267. /package/dist/{Infrastructure → types/Infrastructure}/DeviceCapabilities.d.ts +0 -0
  268. /package/dist/{Infrastructure → types/Infrastructure}/ExtensionRegistry.d.ts +0 -0
  269. /package/dist/{Public → types/Public}/Extensions/VoiceAgentTypes.d.ts +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,186 @@ 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
+ if ('showOpenFilePicker' in window) {
300
136
  try {
301
- _platformAdapter.cleanup();
137
+ const [handle] = await window.showOpenFilePicker({
138
+ types: [{
139
+ description: 'AI Model Files',
140
+ accept: { 'application/octet-stream': acceptExts },
141
+ }],
142
+ multiple: false,
143
+ });
144
+ const file = await handle.getFile();
145
+ return this.importModelFromFile(file, options);
146
+ }
147
+ catch (err) {
148
+ if (err instanceof Error && err.name === 'AbortError')
149
+ return null;
150
+ logger.debug('showOpenFilePicker failed, using input fallback');
302
151
  }
303
- catch { /* ignore during shutdown */ }
304
- _platformAdapter = null;
305
152
  }
306
- // RACommons WASM bridge
307
- try {
308
- WASMBridge.shared.shutdown();
153
+ return new Promise((resolve) => {
154
+ const input = document.createElement('input');
155
+ input.type = 'file';
156
+ input.accept = acceptExts.join(',');
157
+ input.style.display = 'none';
158
+ let settled = false;
159
+ const cleanup = () => {
160
+ if (input.parentNode) {
161
+ document.body.removeChild(input);
162
+ }
163
+ };
164
+ const settle = (value) => {
165
+ if (settled)
166
+ return;
167
+ settled = true;
168
+ cleanup();
169
+ resolve(value);
170
+ };
171
+ input.onchange = async () => {
172
+ const file = input.files?.[0];
173
+ if (!file) {
174
+ settle(null);
175
+ return;
176
+ }
177
+ try {
178
+ const id = await this.importModelFromFile(file, options);
179
+ settle(id);
180
+ }
181
+ catch (err) {
182
+ logger.error(`Import failed: ${err instanceof Error ? err.message : String(err)}`);
183
+ settle(null);
184
+ }
185
+ };
186
+ input.addEventListener('cancel', () => settle(null));
187
+ // Safety net: on older browsers the `cancel` event may not fire when
188
+ // the user dismisses the picker. Use a focus/visibilitychange listener
189
+ // to detect that the picker was closed without selection.
190
+ const fallbackCleanup = () => {
191
+ // Wait a tick — onchange fires after focus returns
192
+ setTimeout(() => {
193
+ if (!settled) {
194
+ settle(null);
195
+ }
196
+ }, 300);
197
+ window.removeEventListener('focus', fallbackCleanup);
198
+ document.removeEventListener('visibilitychange', fallbackCleanup);
199
+ };
200
+ window.addEventListener('focus', fallbackCleanup);
201
+ document.addEventListener('visibilitychange', fallbackCleanup);
202
+ document.body.appendChild(input);
203
+ input.click();
204
+ });
205
+ },
206
+ async importModelFromFile(file, options) {
207
+ logger.info(`Importing model from file: ${file.name} (${(file.size / 1024 / 1024).toFixed(1)} MB)`);
208
+ return ModelManager.importModel(file, options?.modelId);
209
+ },
210
+ // =========================================================================
211
+ // Local File Storage (persistent model storage)
212
+ // =========================================================================
213
+ get isLocalStorageSupported() {
214
+ return LocalFileStorage.isSupported;
215
+ },
216
+ get isLocalStorageReady() {
217
+ return _localFileStorage?.isReady ?? false;
218
+ },
219
+ get hasLocalStorageHandle() {
220
+ return _localFileStorage?.hasStoredHandle ?? false;
221
+ },
222
+ get localStorageDirectoryName() {
223
+ return _localFileStorage?.directoryName ?? LocalFileStorage.storedDirectoryName;
224
+ },
225
+ async chooseLocalStorageDirectory() {
226
+ if (!LocalFileStorage.isSupported) {
227
+ logger.warning('File System Access API not supported — using browser storage (OPFS)');
228
+ return false;
229
+ }
230
+ if (!_localFileStorage) {
231
+ _localFileStorage = new LocalFileStorage();
309
232
  }
310
- catch { /* ignore during shutdown */ }
311
- // ------------------------------------------------------------------
312
- // 3. Reset SDK state
313
- // ------------------------------------------------------------------
233
+ const success = await _localFileStorage.chooseDirectory();
234
+ if (success) {
235
+ ModelManager.setLocalFileStorage(_localFileStorage);
236
+ EventBus.shared.emit('storage.localDirectorySelected', SDKEventType.Storage, {
237
+ directoryName: _localFileStorage.directoryName,
238
+ });
239
+ }
240
+ return success;
241
+ },
242
+ async restoreLocalStorage() {
243
+ if (!LocalFileStorage.isSupported)
244
+ return false;
245
+ if (!_localFileStorage) {
246
+ _localFileStorage = new LocalFileStorage();
247
+ }
248
+ const success = await _localFileStorage.restoreDirectory();
249
+ if (success) {
250
+ ModelManager.setLocalFileStorage(_localFileStorage);
251
+ logger.info(`Local storage restored: ${_localFileStorage.directoryName}`);
252
+ }
253
+ return success;
254
+ },
255
+ async requestLocalStorageAccess() {
256
+ if (!_localFileStorage)
257
+ return false;
258
+ const success = await _localFileStorage.requestAccess();
259
+ if (success) {
260
+ ModelManager.setLocalFileStorage(_localFileStorage);
261
+ }
262
+ return success;
263
+ },
264
+ // =========================================================================
265
+ // Shutdown
266
+ // =========================================================================
267
+ shutdown() {
268
+ logger.info('Shutting down RunAnywhere Web SDK...');
269
+ // Unload all models before tearing down extensions
270
+ ModelManager.unloadAll().catch(() => { });
271
+ // Clean up all registered extensions and backends
272
+ ExtensionRegistry.cleanupAll();
273
+ ExtensionPoint.cleanupAll();
274
+ // Reset state
314
275
  EventBus.reset();
315
276
  ExtensionRegistry.reset();
277
+ ExtensionPoint.reset();
316
278
  _isInitialized = false;
317
- _hasCompletedServicesInit = false;
318
279
  _initOptions = null;
319
280
  _initializingPromise = null;
281
+ _localFileStorage = null;
320
282
  logger.info('RunAnywhere Web SDK shut down');
321
283
  },
322
- // =========================================================================
323
- // Reset (testing)
324
- // =========================================================================
325
- /**
326
- * Reset SDK state (for testing purposes).
327
- */
328
284
  reset() {
329
285
  RunAnywhere.shutdown();
330
286
  },
@@ -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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAE7E,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAYtE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;AAE5C,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,YAAY,GAA0B,IAAI,CAAC;AAC/C,IAAI,oBAAoB,GAAyB,IAAI,CAAC;AACtD,IAAI,iBAAiB,GAA4B,IAAI,CAAC;AAEtD,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E,IAAI,aAAa;QACf,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,YAAY,EAAE,WAAW,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,MAAM;QACR,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,6CAA6C;IAC7C,4EAA4E;IAE5E;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,UAAU,CAAC,UAA0B,EAAE;QAC3C,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAChE,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QAED,oBAAoB,GAAG,CAAC,KAAK,IAAI,EAAE;YACjC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC;gBAC9D,YAAY,GAAG,EAAE,GAAG,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;gBAEhD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAClB,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBACnC,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,MAAM,CAAC,CAAC;gBAE5D,kEAAkE;gBAClE,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;gBAC1C,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,OAAO,CAAC,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzG,CAAC;gBAED,cAAc,GAAG,IAAI,CAAC;gBAEtB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;gBAC5D,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,cAAc,EAAE;oBACnE,WAAW,EAAE,GAAG;iBACjB,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,oBAAoB,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,OAAO,oBAAoB,CAAC;IAC9B,CAAC;IAED,4EAA4E;IAC5E,mBAAmB;IACnB,4EAA4E;IAE5E,cAAc,CAAC,MAAyB;QACtC,YAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,YAAY,CAAC,MAAiB;QAC5B,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,OAAO,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,CAAC;IAED,eAAe;QACb,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,cAAc,CAAC,QAAwB;QACrC,OAAO,YAAY,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,YAAY,CAAC,SAAS,EAAE,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAAe;QAC/B,OAAO,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,4EAA4E;IAC5E,6CAA6C;IAC7C,4EAA4E;IAE5E,KAAK,CAAC,qBAAqB,CAAC,OAAiD;QAC3E,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAEjE,IAAI,oBAAoB,IAAI,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,CAAC,MAAM,CAAC,GAAG,MAAO,MAA+B,CAAC,kBAAmB,CAAC;oBAC1E,KAAK,EAAE,CAAC;4BACN,WAAW,EAAE,gBAAgB;4BAC7B,MAAM,EAAE,EAAE,0BAA0B,EAAE,UAAU,EAAE;yBACnD,CAAC;oBACF,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;gBACH,MAAM,IAAI,GAAS,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;oBAAE,OAAO,IAAI,CAAC;gBACnE,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,OAAO,IAAI,OAAO,CAAgB,CAAC,OAAO,EAAE,EAAE;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;YACpB,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;YAC7B,IAAI,OAAO,GAAG,KAAK,CAAC;YAEpB,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,CAAC,KAAoB,EAAE,EAAE;gBACtC,IAAI,OAAO;oBAAE,OAAO;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YAEF,KAAK,CAAC,QAAQ,GAAG,KAAK,IAAI,EAAE;gBAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;oBAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBACpC,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACzD,MAAM,CAAC,EAAE,CAAC,CAAC;gBACb,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACnF,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC;YACH,CAAC,CAAC;YAEF,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAErD,qEAAqE;YACrE,uEAAuE;YACvE,0DAA0D;YAC1D,MAAM,eAAe,GAAG,GAAG,EAAE;gBAC3B,mDAAmD;gBACnD,UAAU,CAAC,GAAG,EAAE;oBACd,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,CAAC,IAAI,CAAC,CAAC;oBACf,CAAC;gBACH,CAAC,EAAE,GAAG,CAAC,CAAC;gBACR,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBACrD,QAAQ,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACpE,CAAC,CAAC;YAEF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;YAClD,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YAE/D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAU,EAAE,OAA8B;QAClE,MAAM,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpG,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED,4EAA4E;IAC5E,gDAAgD;IAChD,4EAA4E;IAE5E,IAAI,uBAAuB;QACzB,OAAO,gBAAgB,CAAC,WAAW,CAAC;IACtC,CAAC;IAED,IAAI,mBAAmB;QACrB,OAAO,iBAAiB,EAAE,OAAO,IAAI,KAAK,CAAC;IAC7C,CAAC;IAED,IAAI,qBAAqB;QACvB,OAAO,iBAAiB,EAAE,eAAe,IAAI,KAAK,CAAC;IACrD,CAAC;IAED,IAAI,yBAAyB;QAC3B,OAAO,iBAAiB,EAAE,aAAa,IAAI,gBAAgB,CAAC,mBAAmB,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,qEAAqE,CAAC,CAAC;YACtF,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,eAAe,EAAE,CAAC;QAC1D,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YACpD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,YAAY,CAAC,OAAO,EAAE;gBAC3E,aAAa,EAAE,iBAAiB,CAAC,aAAa;aAC/C,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,IAAI,CAAC,gBAAgB,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QAEhD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAC7C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAC3D,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,2BAA2B,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC,iBAAiB;YAAE,OAAO,KAAK,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,aAAa,EAAE,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,YAAY,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,WAAW;IACX,4EAA4E;IAE5E,QAAQ;QACN,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAEpD,mDAAmD;QACnD,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAgC,CAAC,CAAC,CAAC;QAEvE,kDAAkD;QAClD,iBAAiB,CAAC,UAAU,EAAE,CAAC;QAC/B,cAAc,CAAC,UAAU,EAAE,CAAC;QAE5B,cAAc;QACd,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,iBAAiB,CAAC,KAAK,EAAE,CAAC;QAC1B,cAAc,CAAC,KAAK,EAAE,CAAC;QAEvB,cAAc,GAAG,KAAK,CAAC;QACvB,YAAY,GAAG,IAAI,CAAC;QACpB,oBAAoB,GAAG,IAAI,CAAC;QAC5B,iBAAiB,GAAG,IAAI,CAAC;QAEzB,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK;QACH,WAAW,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACF,CAAC"}
package/dist/index.js CHANGED
@@ -1,53 +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
  // Main entry point
23
23
  export { RunAnywhere } from './Public/RunAnywhere';
24
- // Extensions
25
- export { TextGeneration } from './Public/Extensions/RunAnywhere+TextGeneration';
26
- export { STT, STTModelType } from './Public/Extensions/RunAnywhere+STT';
27
- export { TTS } from './Public/Extensions/RunAnywhere+TTS';
28
- export { VAD, SpeechActivity } from './Public/Extensions/RunAnywhere+VAD';
24
+ // Voice orchestration (cross-backend, uses provider interfaces)
29
25
  export { VoiceAgent, VoiceAgentSession, PipelineState } from './Public/Extensions/RunAnywhere+VoiceAgent';
30
26
  export { VoicePipeline } from './Public/Extensions/RunAnywhere+VoicePipeline';
31
- export { VLM, VLMImageFormat, VLMModelFamily } from './Public/Extensions/RunAnywhere+VLM';
32
- export { ToolCalling, toToolValue, fromToolValue, getStringArg, getNumberArg } from './Public/Extensions/RunAnywhere+ToolCalling';
33
- export { StructuredOutput } from './Public/Extensions/RunAnywhere+StructuredOutput';
34
- export { Diffusion } from './Public/Extensions/RunAnywhere+Diffusion';
35
- export { DiffusionScheduler, DiffusionModelVariant, DiffusionMode } from './Public/Extensions/RunAnywhere+Diffusion';
36
- export { Embeddings } from './Public/Extensions/RunAnywhere+Embeddings';
37
- export { EmbeddingsNormalize, EmbeddingsPooling } from './Public/Extensions/RunAnywhere+Embeddings';
38
27
  // Types
39
28
  export * from './types';
40
29
  // Foundation
41
- export { SDKError, SDKErrorCode } from './Foundation/ErrorTypes';
30
+ export { SDKError, SDKErrorCode, isSDKError } from './Foundation/ErrorTypes';
42
31
  export { SDKLogger, LogLevel } from './Foundation/SDKLogger';
43
32
  export { EventBus } from './Foundation/EventBus';
44
- // Infrastructure
45
- export { detectCapabilities, getDeviceInfo } from './Infrastructure/DeviceCapabilities';
33
+ // I/O Infrastructure (backend-agnostic capture/playback)
46
34
  export { AudioCapture } from './Infrastructure/AudioCapture';
47
- export { VideoCapture } from './Infrastructure/VideoCapture';
48
35
  export { AudioPlayback } from './Infrastructure/AudioPlayback';
49
- /** @advanced Most consumers should use `RunAnywhere.downloadModel / loadModel / registerModels` instead. */
36
+ export { AudioFileLoader } from './Infrastructure/AudioFileLoader';
37
+ export { VideoCapture } from './Infrastructure/VideoCapture';
38
+ // Infrastructure
39
+ export { detectCapabilities, getDeviceInfo } from './Infrastructure/DeviceCapabilities';
50
40
  export { ModelManager } from './Infrastructure/ModelManager';
51
41
  export { OPFSStorage } from './Infrastructure/OPFSStorage';
52
- export { VLMWorkerBridge } from './Infrastructure/VLMWorkerBridge';
42
+ export { ExtensionRegistry } from './Infrastructure/ExtensionRegistry';
43
+ export { ExtensionPoint, BackendCapability, ServiceKey } from './Infrastructure/ExtensionPoint';
44
+ export { extractTarGz } from './Infrastructure/ArchiveUtility';
45
+ export { LocalFileStorage } from './Infrastructure/LocalFileStorage';
46
+ export { inferModelFromFilename, sanitizeId } from './Infrastructure/ModelFileInference';
47
+ // Services
48
+ export { HTTPService } from './services/HTTPService';
49
+ export { AnalyticsEmitter } from './services/AnalyticsEmitter';
53
50
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,aAAa;AACb,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAKxE,OAAO,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAE1D,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1E,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE1G,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAE9E,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;AAKlI,OAAO,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAC;AAEpF,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAErH,OAAO,EAAE,UAAU,EAAE,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAGpG,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGjD,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,8GAA8G;AAC9G,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,gEAAgE;AAChE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,4CAA4C,CAAC;AAE1G,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAG9E,QAAQ;AACR,cAAc,SAAS,CAAC;AAExB,aAAa;AACb,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAoBjD,yDAAyD;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAM7D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAEvE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAUhG,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGzF,WAAW;AACX,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC"}