@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.
- package/RunAnywhereCore.podspec +130 -0
- package/android/CMakeLists.txt +92 -0
- package/android/build.gradle +321 -0
- package/android/consumer-rules.pro +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/cpp/cpp-adapter.cpp +271 -0
- package/android/src/main/include/rac/backends/rac_llm_llamacpp.h +218 -0
- package/android/src/main/include/rac/backends/rac_stt_onnx.h +99 -0
- package/android/src/main/include/rac/backends/rac_stt_whispercpp.h +153 -0
- package/android/src/main/include/rac/backends/rac_tts_onnx.h +71 -0
- package/android/src/main/include/rac/backends/rac_vad_onnx.h +84 -0
- package/android/src/main/include/rac/core/capabilities/rac_lifecycle.h +290 -0
- package/android/src/main/include/rac/core/rac_analytics_events.h +610 -0
- package/android/src/main/include/rac/core/rac_audio_utils.h +88 -0
- package/android/src/main/include/rac/core/rac_component_types.h +160 -0
- package/android/src/main/include/rac/core/rac_core.h +331 -0
- package/android/src/main/include/rac/core/rac_error.h +469 -0
- package/android/src/main/include/rac/core/rac_events.h +334 -0
- package/android/src/main/include/rac/core/rac_logger.h +416 -0
- package/android/src/main/include/rac/core/rac_platform_adapter.h +340 -0
- package/android/src/main/include/rac/core/rac_sdk_state.h +292 -0
- package/android/src/main/include/rac/core/rac_structured_error.h +594 -0
- package/android/src/main/include/rac/core/rac_types.h +264 -0
- package/android/src/main/include/rac/features/llm/rac_llm.h +17 -0
- package/android/src/main/include/rac/features/llm/rac_llm_analytics.h +188 -0
- package/android/src/main/include/rac/features/llm/rac_llm_component.h +228 -0
- package/android/src/main/include/rac/features/llm/rac_llm_events.h +215 -0
- package/android/src/main/include/rac/features/llm/rac_llm_metrics.h +402 -0
- package/android/src/main/include/rac/features/llm/rac_llm_service.h +163 -0
- package/android/src/main/include/rac/features/llm/rac_llm_structured_output.h +141 -0
- package/android/src/main/include/rac/features/llm/rac_llm_types.h +384 -0
- package/android/src/main/include/rac/features/platform/rac_llm_platform.h +204 -0
- package/android/src/main/include/rac/features/platform/rac_tts_platform.h +197 -0
- package/android/src/main/include/rac/features/stt/rac_stt.h +17 -0
- package/android/src/main/include/rac/features/stt/rac_stt_analytics.h +204 -0
- package/android/src/main/include/rac/features/stt/rac_stt_component.h +162 -0
- package/android/src/main/include/rac/features/stt/rac_stt_events.h +62 -0
- package/android/src/main/include/rac/features/stt/rac_stt_service.h +154 -0
- package/android/src/main/include/rac/features/stt/rac_stt_types.h +389 -0
- package/android/src/main/include/rac/features/tts/rac_tts.h +17 -0
- package/android/src/main/include/rac/features/tts/rac_tts_analytics.h +181 -0
- package/android/src/main/include/rac/features/tts/rac_tts_component.h +158 -0
- package/android/src/main/include/rac/features/tts/rac_tts_events.h +54 -0
- package/android/src/main/include/rac/features/tts/rac_tts_service.h +162 -0
- package/android/src/main/include/rac/features/tts/rac_tts_types.h +374 -0
- package/android/src/main/include/rac/features/vad/rac_vad.h +17 -0
- package/android/src/main/include/rac/features/vad/rac_vad_analytics.h +236 -0
- package/android/src/main/include/rac/features/vad/rac_vad_component.h +185 -0
- package/android/src/main/include/rac/features/vad/rac_vad_energy.h +443 -0
- package/android/src/main/include/rac/features/vad/rac_vad_events.h +76 -0
- package/android/src/main/include/rac/features/vad/rac_vad_service.h +167 -0
- package/android/src/main/include/rac/features/vad/rac_vad_types.h +244 -0
- package/android/src/main/include/rac/features/voice_agent/rac_voice_agent.h +612 -0
- package/android/src/main/include/rac/infrastructure/device/rac_device_manager.h +176 -0
- package/android/src/main/include/rac/infrastructure/download/rac_download.h +418 -0
- package/android/src/main/include/rac/infrastructure/events/rac_events.h +177 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_assignment.h +169 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_paths.h +258 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_registry.h +357 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_strategy.h +374 -0
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_types.h +613 -0
- package/android/src/main/include/rac/infrastructure/network/rac_api_types.h +335 -0
- package/android/src/main/include/rac/infrastructure/network/rac_auth_manager.h +252 -0
- package/android/src/main/include/rac/infrastructure/network/rac_dev_config.h +85 -0
- package/android/src/main/include/rac/infrastructure/network/rac_endpoints.h +102 -0
- package/android/src/main/include/rac/infrastructure/network/rac_environment.h +220 -0
- package/android/src/main/include/rac/infrastructure/network/rac_http_client.h +233 -0
- package/android/src/main/include/rac/infrastructure/storage/rac_storage_analyzer.h +286 -0
- package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_manager.h +206 -0
- package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_types.h +234 -0
- package/android/src/main/java/com/margelo/nitro/runanywhere/ArchiveUtility.kt +308 -0
- package/android/src/main/java/com/margelo/nitro/runanywhere/HybridRunAnywhereDeviceInfo.kt +229 -0
- package/android/src/main/java/com/margelo/nitro/runanywhere/PlatformAdapterBridge.kt +392 -0
- package/android/src/main/java/com/margelo/nitro/runanywhere/RunAnywhereCorePackage.kt +28 -0
- package/android/src/main/java/com/margelo/nitro/runanywhere/SDKLogger.kt +357 -0
- package/android/src/main/java/com/margelo/nitro/runanywhere/SecureStorageManager.kt +147 -0
- package/android/src/main/jniLibs/arm64-v8a/libc++_shared.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/libomp.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librac_commons.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librunanywhere_jni.so +0 -0
- package/cpp/HybridRunAnywhereCore.cpp +2505 -0
- package/cpp/HybridRunAnywhereCore.hpp +271 -0
- package/cpp/bridges/AuthBridge.cpp +209 -0
- package/cpp/bridges/AuthBridge.hpp +157 -0
- package/cpp/bridges/DeviceBridge.cpp +257 -0
- package/cpp/bridges/DeviceBridge.hpp +155 -0
- package/cpp/bridges/DownloadBridge.cpp +299 -0
- package/cpp/bridges/DownloadBridge.hpp +197 -0
- package/cpp/bridges/EventBridge.cpp +125 -0
- package/cpp/bridges/EventBridge.hpp +139 -0
- package/cpp/bridges/HTTPBridge.cpp +96 -0
- package/cpp/bridges/HTTPBridge.hpp +144 -0
- package/cpp/bridges/InitBridge.cpp +1273 -0
- package/cpp/bridges/InitBridge.hpp +306 -0
- package/cpp/bridges/ModelRegistryBridge.cpp +394 -0
- package/cpp/bridges/ModelRegistryBridge.hpp +177 -0
- package/cpp/bridges/StorageBridge.cpp +269 -0
- package/cpp/bridges/StorageBridge.hpp +172 -0
- package/cpp/bridges/TelemetryBridge.cpp +352 -0
- package/cpp/bridges/TelemetryBridge.hpp +126 -0
- package/ios/.testlocal +0 -0
- package/ios/ArchiveUtility.swift +526 -0
- package/ios/ArchiveUtilityBridge.m +52 -0
- package/ios/AudioDecoder.h +38 -0
- package/ios/AudioDecoder.m +162 -0
- package/ios/Binaries/RACommons.xcframework/Info.plist +44 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/RACommons.h +67 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_analytics_events.h +610 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_api_types.h +335 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_audio_utils.h +88 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_auth_manager.h +252 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_component_types.h +160 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_core.h +331 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_dev_config.h +85 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_device_manager.h +176 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_download.h +418 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_endpoints.h +102 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_environment.h +220 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_error.h +469 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_events.h +177 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_http_client.h +233 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_lifecycle.h +290 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_analytics.h +188 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_component.h +228 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_events.h +215 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_llamacpp.h +218 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_metrics.h +402 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_platform.h +204 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_service.h +163 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_structured_output.h +141 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_llm_types.h +384 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_logger.h +416 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_assignment.h +169 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_paths.h +258 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_registry.h +357 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_strategy.h +374 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_model_types.h +613 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_platform_adapter.h +340 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_sdk_state.h +292 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_storage_analyzer.h +286 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_structured_error.h +594 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_analytics.h +204 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_component.h +162 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_events.h +62 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_onnx.h +99 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_service.h +154 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_types.h +389 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_stt_whispercpp.h +153 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_telemetry_manager.h +206 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_telemetry_types.h +234 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_analytics.h +181 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_component.h +158 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_events.h +54 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_onnx.h +71 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_platform.h +197 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_service.h +162 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_types.h +374 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_types.h +264 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_analytics.h +236 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_component.h +185 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_energy.h +443 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_events.h +76 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_onnx.h +84 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_service.h +167 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_vad_types.h +244 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_voice_agent.h +612 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Info.plist +11 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Modules/module.modulemap +5 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/RACommons +0 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/RACommons.h +67 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_analytics_events.h +610 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_api_types.h +335 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_audio_utils.h +88 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_auth_manager.h +252 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_component_types.h +160 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_core.h +331 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_dev_config.h +85 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_device_manager.h +176 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_download.h +418 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_endpoints.h +102 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_environment.h +220 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_error.h +469 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_events.h +177 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_http_client.h +233 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_lifecycle.h +290 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_analytics.h +188 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_component.h +228 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_events.h +215 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_llamacpp.h +218 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_metrics.h +402 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_platform.h +204 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_service.h +163 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_structured_output.h +141 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_llm_types.h +384 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_logger.h +416 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_assignment.h +169 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_paths.h +258 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_registry.h +357 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_strategy.h +374 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_model_types.h +613 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_platform_adapter.h +340 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_sdk_state.h +292 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_storage_analyzer.h +286 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_structured_error.h +594 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_analytics.h +204 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_component.h +162 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_events.h +62 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_onnx.h +99 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_service.h +154 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_types.h +389 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_stt_whispercpp.h +153 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_telemetry_manager.h +206 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_telemetry_types.h +234 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_analytics.h +181 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_component.h +158 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_events.h +54 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_onnx.h +71 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_platform.h +197 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_service.h +162 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_tts_types.h +374 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_types.h +264 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad.h +17 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_analytics.h +236 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_component.h +185 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_energy.h +443 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_events.h +76 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_onnx.h +84 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_service.h +167 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_vad_types.h +244 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Headers/rac_voice_agent.h +612 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Info.plist +11 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/Modules/module.modulemap +5 -0
- package/ios/Binaries/RACommons.xcframework/ios-arm64_x86_64-simulator/RACommons.framework/RACommons +0 -0
- package/ios/HybridRunAnywhereDeviceInfo.swift +214 -0
- package/ios/KeychainManager.swift +116 -0
- package/ios/PlatformAdapter.swift +100 -0
- package/ios/PlatformAdapterBridge.h +152 -0
- package/ios/PlatformAdapterBridge.m +570 -0
- package/ios/RNSDKLoggerBridge.h +41 -0
- package/ios/RNSDKLoggerBridge.m +66 -0
- package/ios/SDKLogger.swift +329 -0
- package/nitro.json +20 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/c++/JHybridRunAnywhereDeviceInfoSpec.cpp +257 -0
- package/nitrogen/generated/android/c++/JHybridRunAnywhereDeviceInfoSpec.hpp +77 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/runanywhere/HybridRunAnywhereDeviceInfoSpec.kt +106 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/runanywhere/runanywherecoreOnLoad.kt +35 -0
- package/nitrogen/generated/android/runanywherecore+autolinking.cmake +82 -0
- package/nitrogen/generated/android/runanywherecore+autolinking.gradle +27 -0
- package/nitrogen/generated/android/runanywherecoreOnLoad.cpp +54 -0
- package/nitrogen/generated/android/runanywherecoreOnLoad.hpp +25 -0
- package/nitrogen/generated/ios/RunAnywhereCore+autolinking.rb +60 -0
- package/nitrogen/generated/ios/RunAnywhereCore-Swift-Cxx-Bridge.cpp +65 -0
- package/nitrogen/generated/ios/RunAnywhereCore-Swift-Cxx-Bridge.hpp +197 -0
- package/nitrogen/generated/ios/RunAnywhereCore-Swift-Cxx-Umbrella.hpp +45 -0
- package/nitrogen/generated/ios/RunAnywhereCoreAutolinking.mm +43 -0
- package/nitrogen/generated/ios/RunAnywhereCoreAutolinking.swift +25 -0
- package/nitrogen/generated/ios/c++/HybridRunAnywhereDeviceInfoSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridRunAnywhereDeviceInfoSpecSwift.hpp +173 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRunAnywhereDeviceInfoSpec.swift +68 -0
- package/nitrogen/generated/ios/swift/HybridRunAnywhereDeviceInfoSpec_cxx.swift +366 -0
- package/nitrogen/generated/shared/c++/HybridRunAnywhereCoreSpec.cpp +92 -0
- package/nitrogen/generated/shared/c++/HybridRunAnywhereCoreSpec.hpp +138 -0
- package/nitrogen/generated/shared/c++/HybridRunAnywhereDeviceInfoSpec.cpp +33 -0
- package/nitrogen/generated/shared/c++/HybridRunAnywhereDeviceInfoSpec.hpp +75 -0
- package/package.json +76 -0
- package/react-native.config.js +14 -0
- package/src/Features/VoiceSession/AudioCaptureManager.ts +286 -0
- package/src/Features/VoiceSession/AudioPlaybackManager.ts +300 -0
- package/src/Features/VoiceSession/VoiceSessionHandle.ts +530 -0
- package/src/Features/VoiceSession/index.ts +20 -0
- package/src/Features/index.ts +7 -0
- package/src/Foundation/Constants/SDKConstants.ts +47 -0
- package/src/Foundation/Constants/index.ts +8 -0
- package/src/Foundation/DependencyInjection/ServiceContainer.ts +154 -0
- package/src/Foundation/DependencyInjection/ServiceRegistry.ts +51 -0
- package/src/Foundation/DependencyInjection/index.ts +6 -0
- package/src/Foundation/ErrorTypes/ErrorCategory.ts +184 -0
- package/src/Foundation/ErrorTypes/ErrorCodes.ts +151 -0
- package/src/Foundation/ErrorTypes/ErrorContext.ts +201 -0
- package/src/Foundation/ErrorTypes/SDKError.ts +507 -0
- package/src/Foundation/ErrorTypes/index.ts +57 -0
- package/src/Foundation/Initialization/InitializationPhase.ts +85 -0
- package/src/Foundation/Initialization/InitializationState.ts +168 -0
- package/src/Foundation/Initialization/index.ts +26 -0
- package/src/Foundation/Logging/Destinations/NativeLogBridge.ts +147 -0
- package/src/Foundation/Logging/Destinations/SentryDestination.ts +209 -0
- package/src/Foundation/Logging/Logger/SDKLogger.ts +232 -0
- package/src/Foundation/Logging/Models/LogLevel.ts +36 -0
- package/src/Foundation/Logging/Models/LoggingConfiguration.ts +117 -0
- package/src/Foundation/Logging/Services/LoggingManager.ts +407 -0
- package/src/Foundation/Logging/index.ts +59 -0
- package/src/Foundation/Security/DeviceIdentity.ts +92 -0
- package/src/Foundation/Security/SecureStorageError.ts +132 -0
- package/src/Foundation/Security/SecureStorageKeys.ts +35 -0
- package/src/Foundation/Security/SecureStorageService.ts +449 -0
- package/src/Foundation/Security/index.ts +17 -0
- package/src/Foundation/index.ts +26 -0
- package/src/Infrastructure/Events/EventPublisher.ts +165 -0
- package/src/Infrastructure/Events/SDKEvent.ts +214 -0
- package/src/Infrastructure/Events/index.ts +15 -0
- package/src/Infrastructure/index.ts +9 -0
- package/src/Public/Events/EventBus.ts +488 -0
- package/src/Public/Events/index.ts +8 -0
- package/src/Public/Extensions/RunAnywhere+Logging.ts +51 -0
- package/src/Public/Extensions/RunAnywhere+Models.ts +392 -0
- package/src/Public/Extensions/RunAnywhere+STT.ts +424 -0
- package/src/Public/Extensions/RunAnywhere+Storage.ts +151 -0
- package/src/Public/Extensions/RunAnywhere+StructuredOutput.ts +316 -0
- package/src/Public/Extensions/RunAnywhere+TTS.ts +430 -0
- package/src/Public/Extensions/RunAnywhere+TextGeneration.ts +320 -0
- package/src/Public/Extensions/RunAnywhere+VAD.ts +359 -0
- package/src/Public/Extensions/RunAnywhere+VoiceAgent.ts +225 -0
- package/src/Public/Extensions/RunAnywhere+VoiceSession.ts +155 -0
- package/src/Public/Extensions/index.ts +126 -0
- package/src/Public/RunAnywhere.ts +695 -0
- package/src/index.ts +238 -0
- package/src/native/NativeRunAnywhereCore.ts +291 -0
- package/src/native/NativeRunAnywhereModule.ts +32 -0
- package/src/native/index.ts +21 -0
- package/src/services/DownloadService.ts +282 -0
- package/src/services/FileSystem.ts +810 -0
- package/src/services/ModelRegistry.ts +246 -0
- package/src/services/Network/APIEndpoints.ts +84 -0
- package/src/services/Network/HTTPService.ts +479 -0
- package/src/services/Network/NetworkConfiguration.ts +130 -0
- package/src/services/Network/TelemetryService.ts +318 -0
- package/src/services/Network/index.ts +29 -0
- package/src/services/SystemTTSService.ts +130 -0
- package/src/services/index.ts +66 -0
- package/src/specs/RunAnywhereCore.nitro.ts +627 -0
- package/src/specs/RunAnywhereDeviceInfo.nitro.ts +73 -0
- package/src/types/LLMTypes.ts +127 -0
- package/src/types/STTTypes.ts +124 -0
- package/src/types/StructuredOutputTypes.ts +156 -0
- package/src/types/TTSTypes.ts +126 -0
- package/src/types/VADTypes.ts +70 -0
- package/src/types/VoiceAgentTypes.ts +182 -0
- package/src/types/enums.ts +258 -0
- package/src/types/events.ts +337 -0
- package/src/types/external.d.ts +142 -0
- package/src/types/index.ts +146 -0
- package/src/types/models.ts +579 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_telemetry_manager.h
|
|
3
|
+
* @brief Telemetry manager - handles event queuing, batching, and serialization
|
|
4
|
+
*
|
|
5
|
+
* C++ handles all telemetry logic:
|
|
6
|
+
* - Convert analytics events to telemetry payloads
|
|
7
|
+
* - Queue and batch events
|
|
8
|
+
* - Group by modality for production
|
|
9
|
+
* - Serialize to JSON (environment-aware)
|
|
10
|
+
* - Callback to platform SDK for HTTP calls
|
|
11
|
+
*
|
|
12
|
+
* Platform SDKs only need to:
|
|
13
|
+
* - Provide device info
|
|
14
|
+
* - Make HTTP calls when callback is invoked
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
#ifndef RAC_TELEMETRY_MANAGER_H
|
|
18
|
+
#define RAC_TELEMETRY_MANAGER_H
|
|
19
|
+
|
|
20
|
+
#include <RACommons/rac_analytics_events.h>
|
|
21
|
+
#include <RACommons/rac_types.h>
|
|
22
|
+
#include <RACommons/rac_environment.h>
|
|
23
|
+
#include <RACommons/rac_telemetry_types.h>
|
|
24
|
+
|
|
25
|
+
#ifdef __cplusplus
|
|
26
|
+
extern "C" {
|
|
27
|
+
#endif
|
|
28
|
+
|
|
29
|
+
// =============================================================================
|
|
30
|
+
// TELEMETRY MANAGER
|
|
31
|
+
// =============================================================================
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* @brief Opaque telemetry manager handle
|
|
35
|
+
*/
|
|
36
|
+
typedef struct rac_telemetry_manager rac_telemetry_manager_t;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @brief HTTP request callback from C++ to platform SDK
|
|
40
|
+
*
|
|
41
|
+
* C++ builds the JSON and determines the endpoint.
|
|
42
|
+
* Platform SDK just makes the HTTP call.
|
|
43
|
+
*
|
|
44
|
+
* @param user_data User data provided at registration
|
|
45
|
+
* @param endpoint The API endpoint path (e.g., "/api/v1/sdk/telemetry")
|
|
46
|
+
* @param json_body The JSON request body (null-terminated string)
|
|
47
|
+
* @param json_length Length of JSON body
|
|
48
|
+
* @param requires_auth Whether request needs authentication
|
|
49
|
+
*/
|
|
50
|
+
typedef void (*rac_telemetry_http_callback_t)(void* user_data, const char* endpoint,
|
|
51
|
+
const char* json_body, size_t json_length,
|
|
52
|
+
rac_bool_t requires_auth);
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* @brief HTTP response callback from platform SDK to C++
|
|
56
|
+
*
|
|
57
|
+
* Platform SDK calls this after HTTP completes.
|
|
58
|
+
*
|
|
59
|
+
* @param manager The telemetry manager
|
|
60
|
+
* @param success Whether HTTP call succeeded
|
|
61
|
+
* @param response_json Response JSON (can be NULL on failure)
|
|
62
|
+
* @param error_message Error message if failed (can be NULL)
|
|
63
|
+
*/
|
|
64
|
+
RAC_API void rac_telemetry_manager_http_complete(rac_telemetry_manager_t* manager,
|
|
65
|
+
rac_bool_t success, const char* response_json,
|
|
66
|
+
const char* error_message);
|
|
67
|
+
|
|
68
|
+
// =============================================================================
|
|
69
|
+
// LIFECYCLE
|
|
70
|
+
// =============================================================================
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* @brief Create telemetry manager
|
|
74
|
+
*
|
|
75
|
+
* @param env SDK environment (determines endpoint and encoding)
|
|
76
|
+
* @param device_id Persistent device UUID (from Keychain)
|
|
77
|
+
* @param platform Platform string ("ios", "android", etc.)
|
|
78
|
+
* @param sdk_version SDK version string
|
|
79
|
+
* @return Manager handle or NULL on failure
|
|
80
|
+
*/
|
|
81
|
+
RAC_API rac_telemetry_manager_t* rac_telemetry_manager_create(rac_environment_t env,
|
|
82
|
+
const char* device_id,
|
|
83
|
+
const char* platform,
|
|
84
|
+
const char* sdk_version);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* @brief Destroy telemetry manager
|
|
88
|
+
*/
|
|
89
|
+
RAC_API void rac_telemetry_manager_destroy(rac_telemetry_manager_t* manager);
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* @brief Set device info for telemetry payloads
|
|
93
|
+
*
|
|
94
|
+
* Call this after creating the manager to set device details.
|
|
95
|
+
*/
|
|
96
|
+
RAC_API void rac_telemetry_manager_set_device_info(rac_telemetry_manager_t* manager,
|
|
97
|
+
const char* device_model,
|
|
98
|
+
const char* os_version);
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* @brief Register HTTP callback
|
|
102
|
+
*
|
|
103
|
+
* Platform SDK must register this to receive HTTP requests.
|
|
104
|
+
*/
|
|
105
|
+
RAC_API void rac_telemetry_manager_set_http_callback(rac_telemetry_manager_t* manager,
|
|
106
|
+
rac_telemetry_http_callback_t callback,
|
|
107
|
+
void* user_data);
|
|
108
|
+
|
|
109
|
+
// =============================================================================
|
|
110
|
+
// EVENT TRACKING
|
|
111
|
+
// =============================================================================
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* @brief Track a telemetry payload directly
|
|
115
|
+
*
|
|
116
|
+
* Queues the payload for batching and sending.
|
|
117
|
+
*/
|
|
118
|
+
RAC_API rac_result_t rac_telemetry_manager_track(rac_telemetry_manager_t* manager,
|
|
119
|
+
const rac_telemetry_payload_t* payload);
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* @brief Track from analytics event data
|
|
123
|
+
*
|
|
124
|
+
* Converts analytics event to telemetry payload and queues it.
|
|
125
|
+
*/
|
|
126
|
+
RAC_API rac_result_t rac_telemetry_manager_track_analytics(rac_telemetry_manager_t* manager,
|
|
127
|
+
rac_event_type_t event_type,
|
|
128
|
+
const rac_analytics_event_data_t* data);
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* @brief Flush queued events immediately
|
|
132
|
+
*
|
|
133
|
+
* Sends all queued events to the backend.
|
|
134
|
+
*/
|
|
135
|
+
RAC_API rac_result_t rac_telemetry_manager_flush(rac_telemetry_manager_t* manager);
|
|
136
|
+
|
|
137
|
+
// =============================================================================
|
|
138
|
+
// JSON SERIALIZATION
|
|
139
|
+
// =============================================================================
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* @brief Serialize telemetry payload to JSON
|
|
143
|
+
*
|
|
144
|
+
* @param payload The payload to serialize
|
|
145
|
+
* @param env Environment (affects field names and which fields to include)
|
|
146
|
+
* @param out_json Output: JSON string (caller must free with rac_free)
|
|
147
|
+
* @param out_length Output: Length of JSON string
|
|
148
|
+
* @return RAC_SUCCESS or error code
|
|
149
|
+
*/
|
|
150
|
+
RAC_API rac_result_t rac_telemetry_manager_payload_to_json(const rac_telemetry_payload_t* payload,
|
|
151
|
+
rac_environment_t env, char** out_json,
|
|
152
|
+
size_t* out_length);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* @brief Serialize batch request to JSON
|
|
156
|
+
*
|
|
157
|
+
* @param request The batch request
|
|
158
|
+
* @param env Environment
|
|
159
|
+
* @param out_json Output: JSON string (caller must free with rac_free)
|
|
160
|
+
* @param out_length Output: Length of JSON string
|
|
161
|
+
* @return RAC_SUCCESS or error code
|
|
162
|
+
*/
|
|
163
|
+
RAC_API rac_result_t
|
|
164
|
+
rac_telemetry_manager_batch_to_json(const rac_telemetry_batch_request_t* request,
|
|
165
|
+
rac_environment_t env, char** out_json, size_t* out_length);
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* @brief Parse batch response from JSON
|
|
169
|
+
*
|
|
170
|
+
* @param json JSON response string
|
|
171
|
+
* @param out_response Output: Parsed response (caller must free)
|
|
172
|
+
* @return RAC_SUCCESS or error code
|
|
173
|
+
*/
|
|
174
|
+
RAC_API rac_result_t rac_telemetry_manager_parse_response(
|
|
175
|
+
const char* json, rac_telemetry_batch_response_t* out_response);
|
|
176
|
+
|
|
177
|
+
// =============================================================================
|
|
178
|
+
// DEVICE REGISTRATION
|
|
179
|
+
// =============================================================================
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* @brief Serialize device registration request to JSON
|
|
183
|
+
*
|
|
184
|
+
* @param request The registration request
|
|
185
|
+
* @param env Environment
|
|
186
|
+
* @param out_json Output: JSON string (caller must free with rac_free)
|
|
187
|
+
* @param out_length Output: Length of JSON string
|
|
188
|
+
* @return RAC_SUCCESS or error code
|
|
189
|
+
*/
|
|
190
|
+
RAC_API rac_result_t
|
|
191
|
+
rac_device_registration_to_json(const rac_device_registration_request_t* request,
|
|
192
|
+
rac_environment_t env, char** out_json, size_t* out_length);
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* @brief Get device registration endpoint for environment
|
|
196
|
+
*
|
|
197
|
+
* @param env Environment
|
|
198
|
+
* @return Endpoint path string (static, do not free)
|
|
199
|
+
*/
|
|
200
|
+
RAC_API const char* rac_device_registration_endpoint(rac_environment_t env);
|
|
201
|
+
|
|
202
|
+
#ifdef __cplusplus
|
|
203
|
+
}
|
|
204
|
+
#endif
|
|
205
|
+
|
|
206
|
+
#endif // RAC_TELEMETRY_MANAGER_H
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_telemetry_types.h
|
|
3
|
+
* @brief Telemetry data structures - canonical source of truth
|
|
4
|
+
*
|
|
5
|
+
* All telemetry payloads are defined here. Platform SDKs (Swift, Kotlin, Flutter)
|
|
6
|
+
* use these types directly or create thin wrappers.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors Swift's TelemetryEventPayload.swift structure.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#ifndef RAC_TELEMETRY_TYPES_H
|
|
12
|
+
#define RAC_TELEMETRY_TYPES_H
|
|
13
|
+
|
|
14
|
+
#include <RACommons/rac_types.h>
|
|
15
|
+
#include <RACommons/rac_environment.h>
|
|
16
|
+
|
|
17
|
+
#ifdef __cplusplus
|
|
18
|
+
extern "C" {
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
// =============================================================================
|
|
22
|
+
// TELEMETRY EVENT PAYLOAD
|
|
23
|
+
// =============================================================================
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @brief Complete telemetry event payload
|
|
27
|
+
*
|
|
28
|
+
* Maps to backend SDKTelemetryEvent schema with all fields for:
|
|
29
|
+
* - LLM events (tokens, generation times, etc.)
|
|
30
|
+
* - STT events (audio duration, word count, etc.)
|
|
31
|
+
* - TTS events (character count, audio size, etc.)
|
|
32
|
+
* - VAD events (speech duration)
|
|
33
|
+
* - Model lifecycle events (size, archive type)
|
|
34
|
+
* - SDK lifecycle events (count)
|
|
35
|
+
* - Storage events (freed bytes)
|
|
36
|
+
* - Network events (online status)
|
|
37
|
+
*/
|
|
38
|
+
typedef struct rac_telemetry_payload {
|
|
39
|
+
// Required fields
|
|
40
|
+
const char* id; // Unique event ID (UUID)
|
|
41
|
+
const char* event_type; // Event type string
|
|
42
|
+
int64_t timestamp_ms; // Unix timestamp in milliseconds
|
|
43
|
+
int64_t created_at_ms; // When payload was created
|
|
44
|
+
|
|
45
|
+
// Event classification
|
|
46
|
+
const char* modality; // "llm", "stt", "tts", "model", "system"
|
|
47
|
+
|
|
48
|
+
// Device identification
|
|
49
|
+
const char* device_id; // Persistent device UUID
|
|
50
|
+
const char* session_id; // Optional session ID
|
|
51
|
+
|
|
52
|
+
// Model info
|
|
53
|
+
const char* model_id;
|
|
54
|
+
const char* model_name;
|
|
55
|
+
const char* framework; // "llamacpp", "onnx", "mlx", etc.
|
|
56
|
+
|
|
57
|
+
// Device info
|
|
58
|
+
const char* device; // Device model (e.g., "iPhone15,2")
|
|
59
|
+
const char* os_version; // OS version (e.g., "17.0")
|
|
60
|
+
const char* platform; // "ios", "android", "flutter"
|
|
61
|
+
const char* sdk_version; // SDK version string
|
|
62
|
+
|
|
63
|
+
// Common performance metrics
|
|
64
|
+
double processing_time_ms;
|
|
65
|
+
rac_bool_t success;
|
|
66
|
+
rac_bool_t has_success; // Whether success field is set
|
|
67
|
+
const char* error_message;
|
|
68
|
+
const char* error_code;
|
|
69
|
+
|
|
70
|
+
// LLM-specific fields
|
|
71
|
+
int32_t input_tokens;
|
|
72
|
+
int32_t output_tokens;
|
|
73
|
+
int32_t total_tokens;
|
|
74
|
+
double tokens_per_second;
|
|
75
|
+
double time_to_first_token_ms;
|
|
76
|
+
double prompt_eval_time_ms;
|
|
77
|
+
double generation_time_ms;
|
|
78
|
+
int32_t context_length;
|
|
79
|
+
double temperature;
|
|
80
|
+
int32_t max_tokens;
|
|
81
|
+
|
|
82
|
+
// STT-specific fields
|
|
83
|
+
double audio_duration_ms;
|
|
84
|
+
double real_time_factor;
|
|
85
|
+
int32_t word_count;
|
|
86
|
+
double confidence;
|
|
87
|
+
const char* language;
|
|
88
|
+
rac_bool_t is_streaming;
|
|
89
|
+
rac_bool_t has_is_streaming;
|
|
90
|
+
int32_t segment_index;
|
|
91
|
+
|
|
92
|
+
// TTS-specific fields
|
|
93
|
+
int32_t character_count;
|
|
94
|
+
double characters_per_second;
|
|
95
|
+
int32_t audio_size_bytes;
|
|
96
|
+
int32_t sample_rate;
|
|
97
|
+
const char* voice;
|
|
98
|
+
double output_duration_ms;
|
|
99
|
+
|
|
100
|
+
// Model lifecycle fields
|
|
101
|
+
int64_t model_size_bytes;
|
|
102
|
+
const char* archive_type;
|
|
103
|
+
|
|
104
|
+
// VAD fields
|
|
105
|
+
double speech_duration_ms;
|
|
106
|
+
|
|
107
|
+
// SDK lifecycle fields
|
|
108
|
+
int32_t count;
|
|
109
|
+
|
|
110
|
+
// Storage fields
|
|
111
|
+
int64_t freed_bytes;
|
|
112
|
+
|
|
113
|
+
// Network fields
|
|
114
|
+
rac_bool_t is_online;
|
|
115
|
+
rac_bool_t has_is_online;
|
|
116
|
+
} rac_telemetry_payload_t;
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* @brief Default/empty telemetry payload
|
|
120
|
+
*/
|
|
121
|
+
RAC_API rac_telemetry_payload_t rac_telemetry_payload_default(void);
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @brief Free any allocated strings in a telemetry payload
|
|
125
|
+
*/
|
|
126
|
+
RAC_API void rac_telemetry_payload_free(rac_telemetry_payload_t* payload);
|
|
127
|
+
|
|
128
|
+
// =============================================================================
|
|
129
|
+
// TELEMETRY BATCH REQUEST
|
|
130
|
+
// =============================================================================
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* @brief Batch telemetry request for API
|
|
134
|
+
*
|
|
135
|
+
* Supports both V1 and V2 storage paths:
|
|
136
|
+
* - V1 (legacy): modality = NULL → stores in sdk_telemetry_events table
|
|
137
|
+
* - V2 (normalized): modality = "llm"/"stt"/"tts"/"model" → normalized tables
|
|
138
|
+
*/
|
|
139
|
+
typedef struct rac_telemetry_batch_request {
|
|
140
|
+
rac_telemetry_payload_t* events;
|
|
141
|
+
size_t events_count;
|
|
142
|
+
const char* device_id;
|
|
143
|
+
int64_t timestamp_ms;
|
|
144
|
+
const char* modality; // NULL for V1, "llm"/"stt"/"tts"/"model" for V2
|
|
145
|
+
} rac_telemetry_batch_request_t;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* @brief Batch telemetry response from API
|
|
149
|
+
*/
|
|
150
|
+
typedef struct rac_telemetry_batch_response {
|
|
151
|
+
rac_bool_t success;
|
|
152
|
+
int32_t events_received;
|
|
153
|
+
int32_t events_stored;
|
|
154
|
+
int32_t events_skipped; // Duplicates skipped
|
|
155
|
+
const char** errors; // Array of error messages
|
|
156
|
+
size_t errors_count;
|
|
157
|
+
const char* storage_version; // "V1" or "V2"
|
|
158
|
+
} rac_telemetry_batch_response_t;
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* @brief Free batch response
|
|
162
|
+
*/
|
|
163
|
+
RAC_API void rac_telemetry_batch_response_free(rac_telemetry_batch_response_t* response);
|
|
164
|
+
|
|
165
|
+
// =============================================================================
|
|
166
|
+
// DEVICE REGISTRATION TYPES
|
|
167
|
+
// =============================================================================
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* @brief Device information for registration (telemetry-specific)
|
|
171
|
+
*
|
|
172
|
+
* Platform-specific values are passed in from Swift/Kotlin.
|
|
173
|
+
* Matches backend schemas/device.py DeviceInfo schema.
|
|
174
|
+
* Note: Named differently from rac_device_info_t to avoid conflict.
|
|
175
|
+
*/
|
|
176
|
+
typedef struct rac_device_registration_info {
|
|
177
|
+
// Required fields (backend schema)
|
|
178
|
+
const char* device_id; // Persistent UUID from Keychain/secure storage
|
|
179
|
+
const char* device_model; // "iPhone 16 Pro Max", "Pixel 7", etc.
|
|
180
|
+
const char* device_name; // User-assigned device name
|
|
181
|
+
const char* platform; // "ios", "android"
|
|
182
|
+
const char* os_version; // "17.0", "14"
|
|
183
|
+
const char* form_factor; // "phone", "tablet", "laptop", etc.
|
|
184
|
+
const char* architecture; // "arm64", "x86_64", etc.
|
|
185
|
+
const char* chip_name; // "A18 Pro", "Snapdragon 888", etc.
|
|
186
|
+
int64_t total_memory; // Total RAM in bytes
|
|
187
|
+
int64_t available_memory; // Available RAM in bytes
|
|
188
|
+
rac_bool_t has_neural_engine; // true if device has Neural Engine / NPU
|
|
189
|
+
int32_t neural_engine_cores; // Number of Neural Engine cores (0 if none)
|
|
190
|
+
const char* gpu_family; // "apple", "adreno", etc.
|
|
191
|
+
double battery_level; // 0.0-1.0, negative if unavailable
|
|
192
|
+
const char* battery_state; // "charging", "full", "unplugged", NULL if unavailable
|
|
193
|
+
rac_bool_t is_low_power_mode; // Low power mode enabled
|
|
194
|
+
int32_t core_count; // Total CPU cores
|
|
195
|
+
int32_t performance_cores; // Performance (P) cores
|
|
196
|
+
int32_t efficiency_cores; // Efficiency (E) cores
|
|
197
|
+
const char* device_fingerprint; // Unique device fingerprint (may be same as device_id)
|
|
198
|
+
|
|
199
|
+
// Legacy fields (for backward compatibility)
|
|
200
|
+
const char* device_type; // "smartphone", "tablet", etc. (deprecated - use form_factor)
|
|
201
|
+
const char* os_name; // "iOS", "Android" (deprecated - use platform)
|
|
202
|
+
int64_t total_disk_bytes;
|
|
203
|
+
int64_t available_disk_bytes;
|
|
204
|
+
const char* processor_info;
|
|
205
|
+
int32_t processor_count; // Deprecated - use core_count
|
|
206
|
+
rac_bool_t is_simulator;
|
|
207
|
+
const char* locale;
|
|
208
|
+
const char* timezone;
|
|
209
|
+
} rac_device_registration_info_t;
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* @brief Device registration request
|
|
213
|
+
*/
|
|
214
|
+
typedef struct rac_device_registration_request {
|
|
215
|
+
rac_device_registration_info_t device_info;
|
|
216
|
+
const char* sdk_version;
|
|
217
|
+
const char* build_token; // For development mode
|
|
218
|
+
int64_t last_seen_at_ms;
|
|
219
|
+
} rac_device_registration_request_t;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @brief Device registration response
|
|
223
|
+
*/
|
|
224
|
+
typedef struct rac_device_registration_response {
|
|
225
|
+
const char* device_id;
|
|
226
|
+
const char* status; // "registered" or "updated"
|
|
227
|
+
const char* sync_status; // "synced" or "pending"
|
|
228
|
+
} rac_device_registration_response_t;
|
|
229
|
+
|
|
230
|
+
#ifdef __cplusplus
|
|
231
|
+
}
|
|
232
|
+
#endif
|
|
233
|
+
|
|
234
|
+
#endif // RAC_TELEMETRY_TYPES_H
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_tts.h
|
|
3
|
+
* @brief RunAnywhere Commons - TTS API (Convenience Header)
|
|
4
|
+
*
|
|
5
|
+
* This header includes both types and service interface for convenience.
|
|
6
|
+
* For better separation of concerns, prefer including:
|
|
7
|
+
* - rac_tts_types.h for data structures only
|
|
8
|
+
* - rac_tts_service.h for the service interface
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#ifndef RAC_TTS_H
|
|
12
|
+
#define RAC_TTS_H
|
|
13
|
+
|
|
14
|
+
#include <RACommons/rac_tts_service.h>
|
|
15
|
+
#include <RACommons/rac_tts_types.h>
|
|
16
|
+
|
|
17
|
+
#endif /* RAC_TTS_H */
|
package/ios/Binaries/RACommons.xcframework/ios-arm64/RACommons.framework/Headers/rac_tts_analytics.h
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_tts_analytics.h
|
|
3
|
+
* @brief TTS analytics service - 1:1 port of TTSAnalyticsService.swift
|
|
4
|
+
*
|
|
5
|
+
* Tracks synthesis operations and metrics.
|
|
6
|
+
* Lifecycle events are handled by the lifecycle manager.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: Audio duration estimation assumes 16-bit PCM @ 22050Hz (standard for TTS).
|
|
9
|
+
* Formula: audioDurationMs = (bytes / 2) / 22050 * 1000
|
|
10
|
+
*
|
|
11
|
+
* Swift Source: Sources/RunAnywhere/Features/TTS/Analytics/TTSAnalyticsService.swift
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
#ifndef RAC_TTS_ANALYTICS_H
|
|
15
|
+
#define RAC_TTS_ANALYTICS_H
|
|
16
|
+
|
|
17
|
+
#include <RACommons/rac_types.h>
|
|
18
|
+
#include <RACommons/rac_tts_types.h>
|
|
19
|
+
#include <RACommons/rac_model_types.h>
|
|
20
|
+
|
|
21
|
+
#ifdef __cplusplus
|
|
22
|
+
extern "C" {
|
|
23
|
+
#endif
|
|
24
|
+
|
|
25
|
+
// =============================================================================
|
|
26
|
+
// TYPES
|
|
27
|
+
// =============================================================================
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @brief Opaque handle for TTS analytics service
|
|
31
|
+
*/
|
|
32
|
+
typedef struct rac_tts_analytics_s* rac_tts_analytics_handle_t;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* @brief TTS metrics structure
|
|
36
|
+
* Mirrors Swift's TTSMetrics struct
|
|
37
|
+
*/
|
|
38
|
+
typedef struct rac_tts_metrics {
|
|
39
|
+
/** Total number of events tracked */
|
|
40
|
+
int32_t total_events;
|
|
41
|
+
|
|
42
|
+
/** Start time (milliseconds since epoch) */
|
|
43
|
+
int64_t start_time_ms;
|
|
44
|
+
|
|
45
|
+
/** Last event time (milliseconds since epoch, 0 if no events) */
|
|
46
|
+
int64_t last_event_time_ms;
|
|
47
|
+
|
|
48
|
+
/** Total number of syntheses */
|
|
49
|
+
int32_t total_syntheses;
|
|
50
|
+
|
|
51
|
+
/** Average synthesis speed (characters processed per second) */
|
|
52
|
+
double average_characters_per_second;
|
|
53
|
+
|
|
54
|
+
/** Average processing time in milliseconds */
|
|
55
|
+
double average_processing_time_ms;
|
|
56
|
+
|
|
57
|
+
/** Average audio duration in milliseconds */
|
|
58
|
+
double average_audio_duration_ms;
|
|
59
|
+
|
|
60
|
+
/** Total characters processed across all syntheses */
|
|
61
|
+
int32_t total_characters_processed;
|
|
62
|
+
|
|
63
|
+
/** Total audio size generated in bytes */
|
|
64
|
+
int64_t total_audio_size_bytes;
|
|
65
|
+
} rac_tts_metrics_t;
|
|
66
|
+
|
|
67
|
+
// =============================================================================
|
|
68
|
+
// LIFECYCLE
|
|
69
|
+
// =============================================================================
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* @brief Create a TTS analytics service instance
|
|
73
|
+
*
|
|
74
|
+
* @param out_handle Output: Handle to the created service
|
|
75
|
+
* @return RAC_SUCCESS or error code
|
|
76
|
+
*/
|
|
77
|
+
RAC_API rac_result_t rac_tts_analytics_create(rac_tts_analytics_handle_t* out_handle);
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @brief Destroy a TTS analytics service instance
|
|
81
|
+
*
|
|
82
|
+
* @param handle Handle to destroy
|
|
83
|
+
*/
|
|
84
|
+
RAC_API void rac_tts_analytics_destroy(rac_tts_analytics_handle_t handle);
|
|
85
|
+
|
|
86
|
+
// =============================================================================
|
|
87
|
+
// SYNTHESIS TRACKING
|
|
88
|
+
// =============================================================================
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @brief Start tracking a synthesis
|
|
92
|
+
*
|
|
93
|
+
* @param handle Analytics service handle
|
|
94
|
+
* @param text The text to synthesize
|
|
95
|
+
* @param voice The voice ID being used
|
|
96
|
+
* @param sample_rate Audio sample rate in Hz (default: 22050)
|
|
97
|
+
* @param framework The inference framework being used
|
|
98
|
+
* @param out_synthesis_id Output: Generated unique ID (owned, must be freed with rac_free)
|
|
99
|
+
* @return RAC_SUCCESS or error code
|
|
100
|
+
*/
|
|
101
|
+
RAC_API rac_result_t rac_tts_analytics_start_synthesis(rac_tts_analytics_handle_t handle,
|
|
102
|
+
const char* text, const char* voice,
|
|
103
|
+
int32_t sample_rate,
|
|
104
|
+
rac_inference_framework_t framework,
|
|
105
|
+
char** out_synthesis_id);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @brief Track synthesis chunk (for streaming synthesis)
|
|
109
|
+
*
|
|
110
|
+
* @param handle Analytics service handle
|
|
111
|
+
* @param synthesis_id The synthesis ID
|
|
112
|
+
* @param chunk_size Size of the chunk in bytes
|
|
113
|
+
* @return RAC_SUCCESS or error code
|
|
114
|
+
*/
|
|
115
|
+
RAC_API rac_result_t rac_tts_analytics_track_synthesis_chunk(rac_tts_analytics_handle_t handle,
|
|
116
|
+
const char* synthesis_id,
|
|
117
|
+
int32_t chunk_size);
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* @brief Complete a synthesis
|
|
121
|
+
*
|
|
122
|
+
* @param handle Analytics service handle
|
|
123
|
+
* @param synthesis_id The synthesis ID
|
|
124
|
+
* @param audio_duration_ms Duration of the generated audio in milliseconds
|
|
125
|
+
* @param audio_size_bytes Size of the generated audio in bytes
|
|
126
|
+
* @return RAC_SUCCESS or error code
|
|
127
|
+
*/
|
|
128
|
+
RAC_API rac_result_t rac_tts_analytics_complete_synthesis(rac_tts_analytics_handle_t handle,
|
|
129
|
+
const char* synthesis_id,
|
|
130
|
+
double audio_duration_ms,
|
|
131
|
+
int32_t audio_size_bytes);
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* @brief Track synthesis failure
|
|
135
|
+
*
|
|
136
|
+
* @param handle Analytics service handle
|
|
137
|
+
* @param synthesis_id The synthesis ID
|
|
138
|
+
* @param error_code Error code
|
|
139
|
+
* @param error_message Error message
|
|
140
|
+
* @return RAC_SUCCESS or error code
|
|
141
|
+
*/
|
|
142
|
+
RAC_API rac_result_t rac_tts_analytics_track_synthesis_failed(rac_tts_analytics_handle_t handle,
|
|
143
|
+
const char* synthesis_id,
|
|
144
|
+
rac_result_t error_code,
|
|
145
|
+
const char* error_message);
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* @brief Track an error during TTS operations
|
|
149
|
+
*
|
|
150
|
+
* @param handle Analytics service handle
|
|
151
|
+
* @param error_code Error code
|
|
152
|
+
* @param error_message Error message
|
|
153
|
+
* @param operation Operation that failed
|
|
154
|
+
* @param model_id Model ID (can be NULL)
|
|
155
|
+
* @param synthesis_id Synthesis ID (can be NULL)
|
|
156
|
+
* @return RAC_SUCCESS or error code
|
|
157
|
+
*/
|
|
158
|
+
RAC_API rac_result_t rac_tts_analytics_track_error(rac_tts_analytics_handle_t handle,
|
|
159
|
+
rac_result_t error_code,
|
|
160
|
+
const char* error_message, const char* operation,
|
|
161
|
+
const char* model_id, const char* synthesis_id);
|
|
162
|
+
|
|
163
|
+
// =============================================================================
|
|
164
|
+
// METRICS
|
|
165
|
+
// =============================================================================
|
|
166
|
+
|
|
167
|
+
/**
|
|
168
|
+
* @brief Get current analytics metrics
|
|
169
|
+
*
|
|
170
|
+
* @param handle Analytics service handle
|
|
171
|
+
* @param out_metrics Output: Metrics structure
|
|
172
|
+
* @return RAC_SUCCESS or error code
|
|
173
|
+
*/
|
|
174
|
+
RAC_API rac_result_t rac_tts_analytics_get_metrics(rac_tts_analytics_handle_t handle,
|
|
175
|
+
rac_tts_metrics_t* out_metrics);
|
|
176
|
+
|
|
177
|
+
#ifdef __cplusplus
|
|
178
|
+
}
|
|
179
|
+
#endif
|
|
180
|
+
|
|
181
|
+
#endif /* RAC_TTS_ANALYTICS_H */
|