@runanywhere/core 0.16.0

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 (354) hide show
  1. package/RunAnywhereCore.podspec +130 -0
  2. package/android/CMakeLists.txt +92 -0
  3. package/android/build.gradle +321 -0
  4. package/android/consumer-rules.pro +5 -0
  5. package/android/src/main/AndroidManifest.xml +3 -0
  6. package/android/src/main/cpp/cpp-adapter.cpp +271 -0
  7. package/android/src/main/include/rac/backends/rac_llm_llamacpp.h +218 -0
  8. package/android/src/main/include/rac/backends/rac_stt_onnx.h +99 -0
  9. package/android/src/main/include/rac/backends/rac_stt_whispercpp.h +153 -0
  10. package/android/src/main/include/rac/backends/rac_tts_onnx.h +71 -0
  11. package/android/src/main/include/rac/backends/rac_vad_onnx.h +84 -0
  12. package/android/src/main/include/rac/core/capabilities/rac_lifecycle.h +290 -0
  13. package/android/src/main/include/rac/core/rac_analytics_events.h +610 -0
  14. package/android/src/main/include/rac/core/rac_audio_utils.h +88 -0
  15. package/android/src/main/include/rac/core/rac_component_types.h +160 -0
  16. package/android/src/main/include/rac/core/rac_core.h +331 -0
  17. package/android/src/main/include/rac/core/rac_error.h +469 -0
  18. package/android/src/main/include/rac/core/rac_events.h +334 -0
  19. package/android/src/main/include/rac/core/rac_logger.h +416 -0
  20. package/android/src/main/include/rac/core/rac_platform_adapter.h +340 -0
  21. package/android/src/main/include/rac/core/rac_sdk_state.h +292 -0
  22. package/android/src/main/include/rac/core/rac_structured_error.h +594 -0
  23. package/android/src/main/include/rac/core/rac_types.h +264 -0
  24. package/android/src/main/include/rac/features/llm/rac_llm.h +17 -0
  25. package/android/src/main/include/rac/features/llm/rac_llm_analytics.h +188 -0
  26. package/android/src/main/include/rac/features/llm/rac_llm_component.h +228 -0
  27. package/android/src/main/include/rac/features/llm/rac_llm_events.h +215 -0
  28. package/android/src/main/include/rac/features/llm/rac_llm_metrics.h +402 -0
  29. package/android/src/main/include/rac/features/llm/rac_llm_service.h +163 -0
  30. package/android/src/main/include/rac/features/llm/rac_llm_structured_output.h +141 -0
  31. package/android/src/main/include/rac/features/llm/rac_llm_types.h +384 -0
  32. package/android/src/main/include/rac/features/platform/rac_llm_platform.h +204 -0
  33. package/android/src/main/include/rac/features/platform/rac_tts_platform.h +197 -0
  34. package/android/src/main/include/rac/features/stt/rac_stt.h +17 -0
  35. package/android/src/main/include/rac/features/stt/rac_stt_analytics.h +204 -0
  36. package/android/src/main/include/rac/features/stt/rac_stt_component.h +162 -0
  37. package/android/src/main/include/rac/features/stt/rac_stt_events.h +62 -0
  38. package/android/src/main/include/rac/features/stt/rac_stt_service.h +154 -0
  39. package/android/src/main/include/rac/features/stt/rac_stt_types.h +389 -0
  40. package/android/src/main/include/rac/features/tts/rac_tts.h +17 -0
  41. package/android/src/main/include/rac/features/tts/rac_tts_analytics.h +181 -0
  42. package/android/src/main/include/rac/features/tts/rac_tts_component.h +158 -0
  43. package/android/src/main/include/rac/features/tts/rac_tts_events.h +54 -0
  44. package/android/src/main/include/rac/features/tts/rac_tts_service.h +162 -0
  45. package/android/src/main/include/rac/features/tts/rac_tts_types.h +374 -0
  46. package/android/src/main/include/rac/features/vad/rac_vad.h +17 -0
  47. package/android/src/main/include/rac/features/vad/rac_vad_analytics.h +236 -0
  48. package/android/src/main/include/rac/features/vad/rac_vad_component.h +185 -0
  49. package/android/src/main/include/rac/features/vad/rac_vad_energy.h +443 -0
  50. package/android/src/main/include/rac/features/vad/rac_vad_events.h +76 -0
  51. package/android/src/main/include/rac/features/vad/rac_vad_service.h +167 -0
  52. package/android/src/main/include/rac/features/vad/rac_vad_types.h +244 -0
  53. package/android/src/main/include/rac/features/voice_agent/rac_voice_agent.h +612 -0
  54. package/android/src/main/include/rac/infrastructure/device/rac_device_manager.h +176 -0
  55. package/android/src/main/include/rac/infrastructure/download/rac_download.h +418 -0
  56. package/android/src/main/include/rac/infrastructure/events/rac_events.h +177 -0
  57. package/android/src/main/include/rac/infrastructure/model_management/rac_model_assignment.h +169 -0
  58. package/android/src/main/include/rac/infrastructure/model_management/rac_model_paths.h +258 -0
  59. package/android/src/main/include/rac/infrastructure/model_management/rac_model_registry.h +357 -0
  60. package/android/src/main/include/rac/infrastructure/model_management/rac_model_strategy.h +374 -0
  61. package/android/src/main/include/rac/infrastructure/model_management/rac_model_types.h +613 -0
  62. package/android/src/main/include/rac/infrastructure/network/rac_api_types.h +335 -0
  63. package/android/src/main/include/rac/infrastructure/network/rac_auth_manager.h +252 -0
  64. package/android/src/main/include/rac/infrastructure/network/rac_dev_config.h +85 -0
  65. package/android/src/main/include/rac/infrastructure/network/rac_endpoints.h +102 -0
  66. package/android/src/main/include/rac/infrastructure/network/rac_environment.h +220 -0
  67. package/android/src/main/include/rac/infrastructure/network/rac_http_client.h +233 -0
  68. package/android/src/main/include/rac/infrastructure/storage/rac_storage_analyzer.h +286 -0
  69. package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_manager.h +206 -0
  70. package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_types.h +234 -0
  71. package/android/src/main/java/com/margelo/nitro/runanywhere/ArchiveUtility.kt +308 -0
  72. package/android/src/main/java/com/margelo/nitro/runanywhere/HybridRunAnywhereDeviceInfo.kt +229 -0
  73. package/android/src/main/java/com/margelo/nitro/runanywhere/PlatformAdapterBridge.kt +392 -0
  74. package/android/src/main/java/com/margelo/nitro/runanywhere/RunAnywhereCorePackage.kt +28 -0
  75. package/android/src/main/java/com/margelo/nitro/runanywhere/SDKLogger.kt +357 -0
  76. package/android/src/main/java/com/margelo/nitro/runanywhere/SecureStorageManager.kt +147 -0
  77. package/android/src/main/jniLibs/arm64-v8a/libc++_shared.so +0 -0
  78. package/android/src/main/jniLibs/arm64-v8a/libomp.so +0 -0
  79. package/android/src/main/jniLibs/arm64-v8a/librac_commons.so +0 -0
  80. package/android/src/main/jniLibs/arm64-v8a/librunanywhere_jni.so +0 -0
  81. package/cpp/HybridRunAnywhereCore.cpp +2505 -0
  82. package/cpp/HybridRunAnywhereCore.hpp +271 -0
  83. package/cpp/bridges/AuthBridge.cpp +209 -0
  84. package/cpp/bridges/AuthBridge.hpp +157 -0
  85. package/cpp/bridges/DeviceBridge.cpp +257 -0
  86. package/cpp/bridges/DeviceBridge.hpp +155 -0
  87. package/cpp/bridges/DownloadBridge.cpp +299 -0
  88. package/cpp/bridges/DownloadBridge.hpp +197 -0
  89. package/cpp/bridges/EventBridge.cpp +125 -0
  90. package/cpp/bridges/EventBridge.hpp +139 -0
  91. package/cpp/bridges/HTTPBridge.cpp +96 -0
  92. package/cpp/bridges/HTTPBridge.hpp +144 -0
  93. package/cpp/bridges/InitBridge.cpp +1273 -0
  94. package/cpp/bridges/InitBridge.hpp +306 -0
  95. package/cpp/bridges/ModelRegistryBridge.cpp +394 -0
  96. package/cpp/bridges/ModelRegistryBridge.hpp +177 -0
  97. package/cpp/bridges/StorageBridge.cpp +269 -0
  98. package/cpp/bridges/StorageBridge.hpp +172 -0
  99. package/cpp/bridges/TelemetryBridge.cpp +352 -0
  100. package/cpp/bridges/TelemetryBridge.hpp +126 -0
  101. package/ios/.testlocal +0 -0
  102. package/ios/ArchiveUtility.swift +526 -0
  103. package/ios/ArchiveUtilityBridge.m +52 -0
  104. package/ios/AudioDecoder.h +38 -0
  105. package/ios/AudioDecoder.m +162 -0
  106. package/ios/Binaries/RACommons.xcframework/Info.plist +44 -0
  107. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/RACommons.h +67 -0
  108. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_analytics_events.h +610 -0
  109. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_api_types.h +335 -0
  110. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_audio_utils.h +88 -0
  111. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_auth_manager.h +252 -0
  112. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_component_types.h +160 -0
  113. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_core.h +331 -0
  114. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_dev_config.h +85 -0
  115. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_device_manager.h +176 -0
  116. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_download.h +418 -0
  117. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_endpoints.h +102 -0
  118. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_environment.h +220 -0
  119. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_error.h +469 -0
  120. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_events.h +177 -0
  121. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_http_client.h +233 -0
  122. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_lifecycle.h +290 -0
  123. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm.h +17 -0
  124. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_analytics.h +188 -0
  125. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_component.h +228 -0
  126. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_events.h +215 -0
  127. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_llamacpp.h +218 -0
  128. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_metrics.h +402 -0
  129. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_platform.h +204 -0
  130. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_service.h +163 -0
  131. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_structured_output.h +141 -0
  132. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_types.h +384 -0
  133. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_logger.h +416 -0
  134. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_assignment.h +169 -0
  135. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_paths.h +258 -0
  136. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_registry.h +357 -0
  137. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_strategy.h +374 -0
  138. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_types.h +613 -0
  139. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_platform_adapter.h +340 -0
  140. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_sdk_state.h +292 -0
  141. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_storage_analyzer.h +286 -0
  142. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_structured_error.h +594 -0
  143. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt.h +17 -0
  144. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_analytics.h +204 -0
  145. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_component.h +162 -0
  146. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_events.h +62 -0
  147. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_onnx.h +99 -0
  148. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_service.h +154 -0
  149. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_types.h +389 -0
  150. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_whispercpp.h +153 -0
  151. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_telemetry_manager.h +206 -0
  152. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_telemetry_types.h +234 -0
  153. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts.h +17 -0
  154. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_analytics.h +181 -0
  155. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_component.h +158 -0
  156. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_events.h +54 -0
  157. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_onnx.h +71 -0
  158. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_platform.h +197 -0
  159. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_service.h +162 -0
  160. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_types.h +374 -0
  161. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_types.h +264 -0
  162. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad.h +17 -0
  163. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_analytics.h +236 -0
  164. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_component.h +185 -0
  165. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_energy.h +443 -0
  166. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_events.h +76 -0
  167. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_onnx.h +84 -0
  168. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_service.h +167 -0
  169. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_types.h +244 -0
  170. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_voice_agent.h +612 -0
  171. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Info.plist +11 -0
  172. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Modules/module.modulemap +5 -0
  173. package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/RACommons +0 -0
  174. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/RACommons.h +67 -0
  175. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_analytics_events.h +610 -0
  176. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_api_types.h +335 -0
  177. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_audio_utils.h +88 -0
  178. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_auth_manager.h +252 -0
  179. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_component_types.h +160 -0
  180. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_core.h +331 -0
  181. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_dev_config.h +85 -0
  182. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_device_manager.h +176 -0
  183. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_download.h +418 -0
  184. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_endpoints.h +102 -0
  185. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_environment.h +220 -0
  186. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_error.h +469 -0
  187. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_events.h +177 -0
  188. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_http_client.h +233 -0
  189. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_lifecycle.h +290 -0
  190. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm.h +17 -0
  191. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_analytics.h +188 -0
  192. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_component.h +228 -0
  193. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_events.h +215 -0
  194. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_llamacpp.h +218 -0
  195. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_metrics.h +402 -0
  196. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_platform.h +204 -0
  197. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_service.h +163 -0
  198. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_structured_output.h +141 -0
  199. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_types.h +384 -0
  200. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_logger.h +416 -0
  201. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_assignment.h +169 -0
  202. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_paths.h +258 -0
  203. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_registry.h +357 -0
  204. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_strategy.h +374 -0
  205. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_types.h +613 -0
  206. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_platform_adapter.h +340 -0
  207. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_sdk_state.h +292 -0
  208. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_storage_analyzer.h +286 -0
  209. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_structured_error.h +594 -0
  210. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt.h +17 -0
  211. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_analytics.h +204 -0
  212. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_component.h +162 -0
  213. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_events.h +62 -0
  214. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_onnx.h +99 -0
  215. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_service.h +154 -0
  216. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_types.h +389 -0
  217. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_whispercpp.h +153 -0
  218. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_telemetry_manager.h +206 -0
  219. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_telemetry_types.h +234 -0
  220. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts.h +17 -0
  221. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_analytics.h +181 -0
  222. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_component.h +158 -0
  223. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_events.h +54 -0
  224. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_onnx.h +71 -0
  225. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_platform.h +197 -0
  226. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_service.h +162 -0
  227. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_types.h +374 -0
  228. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_types.h +264 -0
  229. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad.h +17 -0
  230. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_analytics.h +236 -0
  231. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_component.h +185 -0
  232. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_energy.h +443 -0
  233. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_events.h +76 -0
  234. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_onnx.h +84 -0
  235. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_service.h +167 -0
  236. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_types.h +244 -0
  237. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_voice_agent.h +612 -0
  238. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Info.plist +11 -0
  239. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Modules/module.modulemap +5 -0
  240. package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/RACommons +0 -0
  241. package/ios/HybridRunAnywhereDeviceInfo.swift +214 -0
  242. package/ios/KeychainManager.swift +116 -0
  243. package/ios/PlatformAdapter.swift +100 -0
  244. package/ios/PlatformAdapterBridge.h +152 -0
  245. package/ios/PlatformAdapterBridge.m +570 -0
  246. package/ios/RNSDKLoggerBridge.h +41 -0
  247. package/ios/RNSDKLoggerBridge.m +66 -0
  248. package/ios/SDKLogger.swift +329 -0
  249. package/nitro.json +20 -0
  250. package/nitrogen/generated/.gitattributes +1 -0
  251. package/nitrogen/generated/android/c++/JHybridRunAnywhereDeviceInfoSpec.cpp +257 -0
  252. package/nitrogen/generated/android/c++/JHybridRunAnywhereDeviceInfoSpec.hpp +77 -0
  253. package/nitrogen/generated/android/kotlin/com/margelo/nitro/runanywhere/HybridRunAnywhereDeviceInfoSpec.kt +106 -0
  254. package/nitrogen/generated/android/kotlin/com/margelo/nitro/runanywhere/runanywherecoreOnLoad.kt +35 -0
  255. package/nitrogen/generated/android/runanywherecore+autolinking.cmake +82 -0
  256. package/nitrogen/generated/android/runanywherecore+autolinking.gradle +27 -0
  257. package/nitrogen/generated/android/runanywherecoreOnLoad.cpp +54 -0
  258. package/nitrogen/generated/android/runanywherecoreOnLoad.hpp +25 -0
  259. package/nitrogen/generated/ios/RunAnywhereCore+autolinking.rb +60 -0
  260. package/nitrogen/generated/ios/RunAnywhereCore-Swift-Cxx-Bridge.cpp +65 -0
  261. package/nitrogen/generated/ios/RunAnywhereCore-Swift-Cxx-Bridge.hpp +197 -0
  262. package/nitrogen/generated/ios/RunAnywhereCore-Swift-Cxx-Umbrella.hpp +45 -0
  263. package/nitrogen/generated/ios/RunAnywhereCoreAutolinking.mm +43 -0
  264. package/nitrogen/generated/ios/RunAnywhereCoreAutolinking.swift +25 -0
  265. package/nitrogen/generated/ios/c++/HybridRunAnywhereDeviceInfoSpecSwift.cpp +11 -0
  266. package/nitrogen/generated/ios/c++/HybridRunAnywhereDeviceInfoSpecSwift.hpp +173 -0
  267. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  268. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  269. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  270. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  271. package/nitrogen/generated/ios/swift/HybridRunAnywhereDeviceInfoSpec.swift +68 -0
  272. package/nitrogen/generated/ios/swift/HybridRunAnywhereDeviceInfoSpec_cxx.swift +366 -0
  273. package/nitrogen/generated/shared/c++/HybridRunAnywhereCoreSpec.cpp +92 -0
  274. package/nitrogen/generated/shared/c++/HybridRunAnywhereCoreSpec.hpp +138 -0
  275. package/nitrogen/generated/shared/c++/HybridRunAnywhereDeviceInfoSpec.cpp +33 -0
  276. package/nitrogen/generated/shared/c++/HybridRunAnywhereDeviceInfoSpec.hpp +75 -0
  277. package/package.json +76 -0
  278. package/react-native.config.js +14 -0
  279. package/src/Features/VoiceSession/AudioCaptureManager.ts +286 -0
  280. package/src/Features/VoiceSession/AudioPlaybackManager.ts +300 -0
  281. package/src/Features/VoiceSession/VoiceSessionHandle.ts +530 -0
  282. package/src/Features/VoiceSession/index.ts +20 -0
  283. package/src/Features/index.ts +7 -0
  284. package/src/Foundation/Constants/SDKConstants.ts +47 -0
  285. package/src/Foundation/Constants/index.ts +8 -0
  286. package/src/Foundation/DependencyInjection/ServiceContainer.ts +154 -0
  287. package/src/Foundation/DependencyInjection/ServiceRegistry.ts +51 -0
  288. package/src/Foundation/DependencyInjection/index.ts +6 -0
  289. package/src/Foundation/ErrorTypes/ErrorCategory.ts +184 -0
  290. package/src/Foundation/ErrorTypes/ErrorCodes.ts +151 -0
  291. package/src/Foundation/ErrorTypes/ErrorContext.ts +201 -0
  292. package/src/Foundation/ErrorTypes/SDKError.ts +507 -0
  293. package/src/Foundation/ErrorTypes/index.ts +57 -0
  294. package/src/Foundation/Initialization/InitializationPhase.ts +85 -0
  295. package/src/Foundation/Initialization/InitializationState.ts +168 -0
  296. package/src/Foundation/Initialization/index.ts +26 -0
  297. package/src/Foundation/Logging/Destinations/NativeLogBridge.ts +147 -0
  298. package/src/Foundation/Logging/Destinations/SentryDestination.ts +209 -0
  299. package/src/Foundation/Logging/Logger/SDKLogger.ts +232 -0
  300. package/src/Foundation/Logging/Models/LogLevel.ts +36 -0
  301. package/src/Foundation/Logging/Models/LoggingConfiguration.ts +117 -0
  302. package/src/Foundation/Logging/Services/LoggingManager.ts +407 -0
  303. package/src/Foundation/Logging/index.ts +59 -0
  304. package/src/Foundation/Security/DeviceIdentity.ts +92 -0
  305. package/src/Foundation/Security/SecureStorageError.ts +132 -0
  306. package/src/Foundation/Security/SecureStorageKeys.ts +35 -0
  307. package/src/Foundation/Security/SecureStorageService.ts +449 -0
  308. package/src/Foundation/Security/index.ts +17 -0
  309. package/src/Foundation/index.ts +26 -0
  310. package/src/Infrastructure/Events/EventPublisher.ts +165 -0
  311. package/src/Infrastructure/Events/SDKEvent.ts +214 -0
  312. package/src/Infrastructure/Events/index.ts +15 -0
  313. package/src/Infrastructure/index.ts +9 -0
  314. package/src/Public/Events/EventBus.ts +488 -0
  315. package/src/Public/Events/index.ts +8 -0
  316. package/src/Public/Extensions/RunAnywhere+Logging.ts +51 -0
  317. package/src/Public/Extensions/RunAnywhere+Models.ts +392 -0
  318. package/src/Public/Extensions/RunAnywhere+STT.ts +424 -0
  319. package/src/Public/Extensions/RunAnywhere+Storage.ts +151 -0
  320. package/src/Public/Extensions/RunAnywhere+StructuredOutput.ts +316 -0
  321. package/src/Public/Extensions/RunAnywhere+TTS.ts +430 -0
  322. package/src/Public/Extensions/RunAnywhere+TextGeneration.ts +320 -0
  323. package/src/Public/Extensions/RunAnywhere+VAD.ts +359 -0
  324. package/src/Public/Extensions/RunAnywhere+VoiceAgent.ts +225 -0
  325. package/src/Public/Extensions/RunAnywhere+VoiceSession.ts +155 -0
  326. package/src/Public/Extensions/index.ts +126 -0
  327. package/src/Public/RunAnywhere.ts +695 -0
  328. package/src/index.ts +238 -0
  329. package/src/native/NativeRunAnywhereCore.ts +291 -0
  330. package/src/native/NativeRunAnywhereModule.ts +32 -0
  331. package/src/native/index.ts +21 -0
  332. package/src/services/DownloadService.ts +282 -0
  333. package/src/services/FileSystem.ts +810 -0
  334. package/src/services/ModelRegistry.ts +246 -0
  335. package/src/services/Network/APIEndpoints.ts +84 -0
  336. package/src/services/Network/HTTPService.ts +479 -0
  337. package/src/services/Network/NetworkConfiguration.ts +130 -0
  338. package/src/services/Network/TelemetryService.ts +318 -0
  339. package/src/services/Network/index.ts +29 -0
  340. package/src/services/SystemTTSService.ts +130 -0
  341. package/src/services/index.ts +66 -0
  342. package/src/specs/RunAnywhereCore.nitro.ts +627 -0
  343. package/src/specs/RunAnywhereDeviceInfo.nitro.ts +73 -0
  344. package/src/types/LLMTypes.ts +127 -0
  345. package/src/types/STTTypes.ts +124 -0
  346. package/src/types/StructuredOutputTypes.ts +156 -0
  347. package/src/types/TTSTypes.ts +126 -0
  348. package/src/types/VADTypes.ts +70 -0
  349. package/src/types/VoiceAgentTypes.ts +182 -0
  350. package/src/types/enums.ts +258 -0
  351. package/src/types/events.ts +337 -0
  352. package/src/types/external.d.ts +142 -0
  353. package/src/types/index.ts +146 -0
  354. package/src/types/models.ts +579 -0
@@ -0,0 +1,389 @@
1
+ /**
2
+ * @file rac_stt_types.h
3
+ * @brief RunAnywhere Commons - STT Types and Data Structures
4
+ *
5
+ * C port of Swift's STT Models from:
6
+ * Sources/RunAnywhere/Features/STT/Models/STTConfiguration.swift
7
+ * Sources/RunAnywhere/Features/STT/Models/STTOptions.swift
8
+ * Sources/RunAnywhere/Features/STT/Models/STTInput.swift
9
+ * Sources/RunAnywhere/Features/STT/Models/STTOutput.swift
10
+ * Sources/RunAnywhere/Features/STT/Models/STTTranscriptionResult.swift
11
+ *
12
+ * This header defines data structures only. For the service interface,
13
+ * see rac_stt_service.h.
14
+ */
15
+
16
+ #ifndef RAC_STT_TYPES_H
17
+ #define RAC_STT_TYPES_H
18
+
19
+ #include <RACommons/rac_types.h>
20
+
21
+ #ifdef __cplusplus
22
+ extern "C" {
23
+ #endif
24
+
25
+ // =============================================================================
26
+ // CONSTANTS - Single Source of Truth for STT
27
+ // Swift references these via CRACommons import
28
+ // =============================================================================
29
+
30
+ // Audio Format Constants
31
+ #define RAC_STT_DEFAULT_SAMPLE_RATE 16000
32
+ #define RAC_STT_MAX_SAMPLE_RATE 48000
33
+ #define RAC_STT_MIN_SAMPLE_RATE 8000
34
+ #define RAC_STT_BYTES_PER_SAMPLE 2
35
+ #define RAC_STT_CHANNELS 1
36
+
37
+ // Confidence Scores
38
+ #define RAC_STT_DEFAULT_CONFIDENCE 0.9f
39
+ #define RAC_STT_MIN_ACCEPTABLE_CONFIDENCE 0.5f
40
+
41
+ // Streaming Constants
42
+ #define RAC_STT_DEFAULT_STREAMING_CHUNK_MS 100
43
+ #define RAC_STT_MIN_STREAMING_CHUNK_MS 50
44
+ #define RAC_STT_MAX_STREAMING_CHUNK_MS 1000
45
+
46
+ // Language
47
+ #define RAC_STT_DEFAULT_LANGUAGE "en"
48
+
49
+ // =============================================================================
50
+ // AUDIO FORMAT - Mirrors Swift's AudioFormat
51
+ // =============================================================================
52
+
53
+ /**
54
+ * @brief Audio format enumeration
55
+ * Mirrors Swift's AudioFormat from AudioTypes.swift
56
+ */
57
+ typedef enum rac_audio_format_enum {
58
+ RAC_AUDIO_FORMAT_PCM = 0,
59
+ RAC_AUDIO_FORMAT_WAV = 1,
60
+ RAC_AUDIO_FORMAT_MP3 = 2,
61
+ RAC_AUDIO_FORMAT_OPUS = 3,
62
+ RAC_AUDIO_FORMAT_AAC = 4,
63
+ RAC_AUDIO_FORMAT_FLAC = 5
64
+ } rac_audio_format_enum_t;
65
+
66
+ // =============================================================================
67
+ // CONFIGURATION - Mirrors Swift's STTConfiguration
68
+ // =============================================================================
69
+
70
+ /**
71
+ * @brief STT component configuration
72
+ *
73
+ * Mirrors Swift's STTConfiguration struct exactly.
74
+ * See: Sources/RunAnywhere/Features/STT/Models/STTConfiguration.swift
75
+ */
76
+ typedef struct rac_stt_config {
77
+ /** Model ID (optional - uses default if NULL) */
78
+ const char* model_id;
79
+
80
+ /** Preferred framework for transcription (use -1 for auto) */
81
+ int32_t preferred_framework;
82
+
83
+ /** Language code for transcription (e.g., "en-US") */
84
+ const char* language;
85
+
86
+ /** Sample rate in Hz (default: 16000) */
87
+ int32_t sample_rate;
88
+
89
+ /** Enable automatic punctuation in transcription */
90
+ rac_bool_t enable_punctuation;
91
+
92
+ /** Enable speaker diarization */
93
+ rac_bool_t enable_diarization;
94
+
95
+ /** Vocabulary list for improved recognition (NULL-terminated array, can be NULL) */
96
+ const char* const* vocabulary_list;
97
+ size_t num_vocabulary;
98
+
99
+ /** Maximum number of alternative transcriptions (default: 1) */
100
+ int32_t max_alternatives;
101
+
102
+ /** Enable word-level timestamps */
103
+ rac_bool_t enable_timestamps;
104
+ } rac_stt_config_t;
105
+
106
+ /**
107
+ * @brief Default STT configuration
108
+ */
109
+ static const rac_stt_config_t RAC_STT_CONFIG_DEFAULT = {.model_id = RAC_NULL,
110
+ .preferred_framework = -1,
111
+ .language = "en-US",
112
+ .sample_rate = RAC_STT_DEFAULT_SAMPLE_RATE,
113
+ .enable_punctuation = RAC_TRUE,
114
+ .enable_diarization = RAC_FALSE,
115
+ .vocabulary_list = RAC_NULL,
116
+ .num_vocabulary = 0,
117
+ .max_alternatives = 1,
118
+ .enable_timestamps = RAC_TRUE};
119
+
120
+ // =============================================================================
121
+ // OPTIONS - Mirrors Swift's STTOptions
122
+ // =============================================================================
123
+
124
+ /**
125
+ * @brief STT transcription options
126
+ *
127
+ * Mirrors Swift's STTOptions struct.
128
+ * See: Sources/RunAnywhere/Features/STT/Models/STTOptions.swift
129
+ */
130
+ typedef struct rac_stt_options {
131
+ /** Language code for transcription (e.g., "en", "es", "fr") */
132
+ const char* language;
133
+
134
+ /** Whether to auto-detect the spoken language */
135
+ rac_bool_t detect_language;
136
+
137
+ /** Enable automatic punctuation in transcription */
138
+ rac_bool_t enable_punctuation;
139
+
140
+ /** Enable speaker diarization */
141
+ rac_bool_t enable_diarization;
142
+
143
+ /** Maximum number of speakers (0 = auto) */
144
+ int32_t max_speakers;
145
+
146
+ /** Enable word-level timestamps */
147
+ rac_bool_t enable_timestamps;
148
+
149
+ /** Audio format of input data */
150
+ rac_audio_format_enum_t audio_format;
151
+
152
+ /** Sample rate of input audio (default: 16000 Hz) */
153
+ int32_t sample_rate;
154
+ } rac_stt_options_t;
155
+
156
+ /**
157
+ * @brief Default STT options
158
+ */
159
+ static const rac_stt_options_t RAC_STT_OPTIONS_DEFAULT = {.language = "en",
160
+ .detect_language = RAC_FALSE,
161
+ .enable_punctuation = RAC_TRUE,
162
+ .enable_diarization = RAC_FALSE,
163
+ .max_speakers = 0,
164
+ .enable_timestamps = RAC_TRUE,
165
+ .audio_format = RAC_AUDIO_FORMAT_PCM,
166
+ .sample_rate = 16000};
167
+
168
+ // =============================================================================
169
+ // RESULT - Mirrors Swift's STTTranscriptionResult
170
+ // =============================================================================
171
+
172
+ /**
173
+ * @brief Word timestamp information
174
+ */
175
+ typedef struct rac_stt_word {
176
+ /** The word text */
177
+ const char* text;
178
+ /** Start time in milliseconds */
179
+ int64_t start_ms;
180
+ /** End time in milliseconds */
181
+ int64_t end_ms;
182
+ /** Confidence score (0.0 to 1.0) */
183
+ float confidence;
184
+ } rac_stt_word_t;
185
+
186
+ /**
187
+ * @brief STT transcription result
188
+ *
189
+ * Mirrors Swift's STTTranscriptionResult struct.
190
+ */
191
+ typedef struct rac_stt_result {
192
+ /** Full transcribed text (owned, must be freed with rac_free) */
193
+ char* text;
194
+
195
+ /** Detected language code (can be NULL) */
196
+ char* detected_language;
197
+
198
+ /** Word-level timestamps (can be NULL) */
199
+ rac_stt_word_t* words;
200
+ size_t num_words;
201
+
202
+ /** Overall confidence score (0.0 to 1.0) */
203
+ float confidence;
204
+
205
+ /** Processing time in milliseconds */
206
+ int64_t processing_time_ms;
207
+ } rac_stt_result_t;
208
+
209
+ // =============================================================================
210
+ // INFO - Mirrors Swift's STTService properties
211
+ // =============================================================================
212
+
213
+ /**
214
+ * @brief STT service info
215
+ */
216
+ typedef struct rac_stt_info {
217
+ /** Whether the service is ready */
218
+ rac_bool_t is_ready;
219
+
220
+ /** Current model identifier (can be NULL) */
221
+ const char* current_model;
222
+
223
+ /** Whether streaming is supported */
224
+ rac_bool_t supports_streaming;
225
+ } rac_stt_info_t;
226
+
227
+ // =============================================================================
228
+ // CALLBACKS
229
+ // =============================================================================
230
+
231
+ /**
232
+ * @brief STT streaming callback
233
+ *
234
+ * Called for partial transcription results during streaming.
235
+ *
236
+ * @param partial_text Partial transcription text
237
+ * @param is_final Whether this is a final result
238
+ * @param user_data User-provided context
239
+ */
240
+ typedef void (*rac_stt_stream_callback_t)(const char* partial_text, rac_bool_t is_final,
241
+ void* user_data);
242
+
243
+ // =============================================================================
244
+ // INPUT - Mirrors Swift's STTInput
245
+ // =============================================================================
246
+
247
+ /**
248
+ * @brief STT input data
249
+ *
250
+ * Mirrors Swift's STTInput struct.
251
+ * See: Sources/RunAnywhere/Features/STT/Models/STTInput.swift
252
+ */
253
+ typedef struct rac_stt_input {
254
+ /** Audio data bytes (raw audio data) */
255
+ const uint8_t* audio_data;
256
+ size_t audio_data_size;
257
+
258
+ /** Alternative: audio buffer (PCM float samples) */
259
+ const float* audio_samples;
260
+ size_t num_samples;
261
+
262
+ /** Audio format of input data */
263
+ rac_audio_format_enum_t format;
264
+
265
+ /** Language code override (can be NULL to use config default) */
266
+ const char* language;
267
+
268
+ /** Sample rate of the audio (default: 16000) */
269
+ int32_t sample_rate;
270
+
271
+ /** Custom options override (can be NULL) */
272
+ const rac_stt_options_t* options;
273
+ } rac_stt_input_t;
274
+
275
+ /**
276
+ * @brief Default STT input
277
+ */
278
+ static const rac_stt_input_t RAC_STT_INPUT_DEFAULT = {.audio_data = RAC_NULL,
279
+ .audio_data_size = 0,
280
+ .audio_samples = RAC_NULL,
281
+ .num_samples = 0,
282
+ .format = RAC_AUDIO_FORMAT_PCM,
283
+ .language = RAC_NULL,
284
+ .sample_rate = RAC_STT_DEFAULT_SAMPLE_RATE,
285
+ .options = RAC_NULL};
286
+
287
+ // =============================================================================
288
+ // TRANSCRIPTION METADATA - Mirrors Swift's TranscriptionMetadata
289
+ // =============================================================================
290
+
291
+ /**
292
+ * @brief Transcription metadata
293
+ *
294
+ * Mirrors Swift's TranscriptionMetadata struct.
295
+ * See: Sources/RunAnywhere/Features/STT/Models/STTOutput.swift
296
+ */
297
+ typedef struct rac_transcription_metadata {
298
+ /** Model ID used for transcription */
299
+ const char* model_id;
300
+
301
+ /** Processing time in milliseconds */
302
+ int64_t processing_time_ms;
303
+
304
+ /** Audio length in milliseconds */
305
+ int64_t audio_length_ms;
306
+
307
+ /** Real-time factor (processing_time / audio_length) */
308
+ float real_time_factor;
309
+ } rac_transcription_metadata_t;
310
+
311
+ // =============================================================================
312
+ // TRANSCRIPTION ALTERNATIVE - Mirrors Swift's TranscriptionAlternative
313
+ // =============================================================================
314
+
315
+ /**
316
+ * @brief Alternative transcription
317
+ *
318
+ * Mirrors Swift's TranscriptionAlternative struct.
319
+ */
320
+ typedef struct rac_transcription_alternative {
321
+ /** Alternative transcription text */
322
+ const char* text;
323
+
324
+ /** Confidence score (0.0 to 1.0) */
325
+ float confidence;
326
+ } rac_transcription_alternative_t;
327
+
328
+ // =============================================================================
329
+ // OUTPUT - Mirrors Swift's STTOutput
330
+ // =============================================================================
331
+
332
+ /**
333
+ * @brief STT output data
334
+ *
335
+ * Mirrors Swift's STTOutput struct.
336
+ * See: Sources/RunAnywhere/Features/STT/Models/STTOutput.swift
337
+ */
338
+ typedef struct rac_stt_output {
339
+ /** Transcribed text (owned, must be freed with rac_free) */
340
+ char* text;
341
+
342
+ /** Confidence score (0.0 to 1.0) */
343
+ float confidence;
344
+
345
+ /** Word-level timestamps (can be NULL) */
346
+ rac_stt_word_t* word_timestamps;
347
+ size_t num_word_timestamps;
348
+
349
+ /** Detected language if auto-detected (can be NULL) */
350
+ char* detected_language;
351
+
352
+ /** Alternative transcriptions (can be NULL) */
353
+ rac_transcription_alternative_t* alternatives;
354
+ size_t num_alternatives;
355
+
356
+ /** Processing metadata */
357
+ rac_transcription_metadata_t metadata;
358
+
359
+ /** Timestamp in milliseconds since epoch */
360
+ int64_t timestamp_ms;
361
+ } rac_stt_output_t;
362
+
363
+ // =============================================================================
364
+ // TRANSCRIPTION RESULT - Alias for compatibility
365
+ // =============================================================================
366
+
367
+ /**
368
+ * @brief STT transcription result (alias for rac_stt_output_t)
369
+ *
370
+ * For compatibility with existing code that uses "result" terminology.
371
+ */
372
+ typedef rac_stt_output_t rac_stt_transcription_result_t;
373
+
374
+ // =============================================================================
375
+ // MEMORY MANAGEMENT
376
+ // =============================================================================
377
+
378
+ /**
379
+ * @brief Free STT result resources
380
+ *
381
+ * @param result Result to free (can be NULL)
382
+ */
383
+ RAC_API void rac_stt_result_free(rac_stt_result_t* result);
384
+
385
+ #ifdef __cplusplus
386
+ }
387
+ #endif
388
+
389
+ #endif /* RAC_STT_TYPES_H */
@@ -0,0 +1,153 @@
1
+ /**
2
+ * @file rac_stt_whispercpp.h
3
+ * @brief RunAnywhere Core - WhisperCPP Backend for STT
4
+ *
5
+ * RAC API for WhisperCPP-based speech-to-text.
6
+ * Provides high-quality transcription using whisper.cpp.
7
+ *
8
+ * NOTE: WhisperCPP and LlamaCPP both use GGML, which can cause symbol
9
+ * conflicts if linked together. Use ONNX Whisper for STT when also
10
+ * using LlamaCPP for LLM, or build with symbol prefixing.
11
+ */
12
+
13
+ #ifndef RAC_STT_WHISPERCPP_H
14
+ #define RAC_STT_WHISPERCPP_H
15
+
16
+ #include <RACommons/rac_error.h>
17
+ #include <RACommons/rac_types.h>
18
+ #include <RACommons/rac_stt.h>
19
+
20
+ #ifdef __cplusplus
21
+ extern "C" {
22
+ #endif
23
+
24
+ // =============================================================================
25
+ // EXPORT MACRO
26
+ // =============================================================================
27
+
28
+ #if defined(RAC_WHISPERCPP_BUILDING)
29
+ #if defined(_WIN32)
30
+ #define RAC_WHISPERCPP_API __declspec(dllexport)
31
+ #elif defined(__GNUC__) || defined(__clang__)
32
+ #define RAC_WHISPERCPP_API __attribute__((visibility("default")))
33
+ #else
34
+ #define RAC_WHISPERCPP_API
35
+ #endif
36
+ #else
37
+ #define RAC_WHISPERCPP_API
38
+ #endif
39
+
40
+ // =============================================================================
41
+ // CONFIGURATION
42
+ // =============================================================================
43
+
44
+ /**
45
+ * WhisperCPP-specific configuration.
46
+ */
47
+ typedef struct rac_stt_whispercpp_config {
48
+ /** Number of threads (0 = auto) */
49
+ int32_t num_threads;
50
+
51
+ /** Enable GPU acceleration (Metal on Apple) */
52
+ rac_bool_t use_gpu;
53
+
54
+ /** Enable CoreML acceleration (Apple only) */
55
+ rac_bool_t use_coreml;
56
+
57
+ /** Language code for transcription (NULL = auto-detect) */
58
+ const char* language;
59
+
60
+ /** Translate to English (when source is non-English) */
61
+ rac_bool_t translate;
62
+ } rac_stt_whispercpp_config_t;
63
+
64
+ /**
65
+ * Default WhisperCPP configuration.
66
+ */
67
+ static const rac_stt_whispercpp_config_t RAC_STT_WHISPERCPP_CONFIG_DEFAULT = {
68
+ .num_threads = 0,
69
+ .use_gpu = RAC_TRUE,
70
+ .use_coreml = RAC_TRUE,
71
+ .language = NULL,
72
+ .translate = RAC_FALSE};
73
+
74
+ // =============================================================================
75
+ // WHISPERCPP STT API
76
+ // =============================================================================
77
+
78
+ /**
79
+ * Creates a WhisperCPP STT service.
80
+ *
81
+ * @param model_path Path to the Whisper GGML model file (.bin)
82
+ * @param config WhisperCPP-specific configuration (can be NULL for defaults)
83
+ * @param out_handle Output: Handle to the created service
84
+ * @return RAC_SUCCESS or error code
85
+ */
86
+ RAC_WHISPERCPP_API rac_result_t rac_stt_whispercpp_create(const char* model_path,
87
+ const rac_stt_whispercpp_config_t* config,
88
+ rac_handle_t* out_handle);
89
+
90
+ /**
91
+ * Transcribes audio data.
92
+ *
93
+ * @param handle Service handle
94
+ * @param audio_samples Float32 PCM samples (16kHz mono)
95
+ * @param num_samples Number of samples
96
+ * @param options STT options (can be NULL for defaults)
97
+ * @param out_result Output: Transcription result
98
+ * @return RAC_SUCCESS or error code
99
+ */
100
+ RAC_WHISPERCPP_API rac_result_t rac_stt_whispercpp_transcribe(rac_handle_t handle,
101
+ const float* audio_samples,
102
+ size_t num_samples,
103
+ const rac_stt_options_t* options,
104
+ rac_stt_result_t* out_result);
105
+
106
+ /**
107
+ * Gets detected language after transcription.
108
+ *
109
+ * @param handle Service handle
110
+ * @param out_language Output: Language code (caller must free)
111
+ * @return RAC_SUCCESS or error code
112
+ */
113
+ RAC_WHISPERCPP_API rac_result_t rac_stt_whispercpp_get_language(rac_handle_t handle,
114
+ char** out_language);
115
+
116
+ /**
117
+ * Checks if model is loaded and ready.
118
+ *
119
+ * @param handle Service handle
120
+ * @return RAC_TRUE if ready
121
+ */
122
+ RAC_WHISPERCPP_API rac_bool_t rac_stt_whispercpp_is_ready(rac_handle_t handle);
123
+
124
+ /**
125
+ * Destroys a WhisperCPP STT service.
126
+ *
127
+ * @param handle Service handle to destroy
128
+ */
129
+ RAC_WHISPERCPP_API void rac_stt_whispercpp_destroy(rac_handle_t handle);
130
+
131
+ // =============================================================================
132
+ // BACKEND REGISTRATION
133
+ // =============================================================================
134
+
135
+ /**
136
+ * Registers the WhisperCPP backend with the commons module and service registries.
137
+ *
138
+ * @return RAC_SUCCESS or error code
139
+ */
140
+ RAC_WHISPERCPP_API rac_result_t rac_backend_whispercpp_register(void);
141
+
142
+ /**
143
+ * Unregisters the WhisperCPP backend.
144
+ *
145
+ * @return RAC_SUCCESS or error code
146
+ */
147
+ RAC_WHISPERCPP_API rac_result_t rac_backend_whispercpp_unregister(void);
148
+
149
+ #ifdef __cplusplus
150
+ }
151
+ #endif
152
+
153
+ #endif /* RAC_STT_WHISPERCPP_H */