@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,329 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SDKLogger.swift
|
|
3
|
+
*
|
|
4
|
+
* iOS native logging implementation for React Native SDK.
|
|
5
|
+
* Provides structured logging with category-based filtering.
|
|
6
|
+
*
|
|
7
|
+
* Matches:
|
|
8
|
+
* - iOS SDK: sdk/runanywhere-swift/Sources/RunAnywhere/Infrastructure/Logging/SDKLogger.swift
|
|
9
|
+
* - TypeScript: packages/core/src/Foundation/Logging/Logger/SDKLogger.ts
|
|
10
|
+
*
|
|
11
|
+
* Usage:
|
|
12
|
+
* SDKLogger.shared.info("SDK initialized")
|
|
13
|
+
* SDKLogger.download.debug("Starting download: \(url)")
|
|
14
|
+
* SDKLogger.llm.error("Generation failed", metadata: ["modelId": "llama-3.2"])
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import Foundation
|
|
18
|
+
import os
|
|
19
|
+
|
|
20
|
+
// MARK: - LogLevel
|
|
21
|
+
|
|
22
|
+
/// Log severity levels matching TypeScript LogLevel enum
|
|
23
|
+
@objc public enum RNLogLevel: Int, Comparable {
|
|
24
|
+
case debug = 0
|
|
25
|
+
case info = 1
|
|
26
|
+
case warning = 2
|
|
27
|
+
case error = 3
|
|
28
|
+
case fault = 4
|
|
29
|
+
|
|
30
|
+
public static func < (lhs: RNLogLevel, rhs: RNLogLevel) -> Bool {
|
|
31
|
+
lhs.rawValue < rhs.rawValue
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
public var description: String {
|
|
35
|
+
switch self {
|
|
36
|
+
case .debug: return "DEBUG"
|
|
37
|
+
case .info: return "INFO"
|
|
38
|
+
case .warning: return "WARN"
|
|
39
|
+
case .error: return "ERROR"
|
|
40
|
+
case .fault: return "FAULT"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// MARK: - SDKLogger
|
|
46
|
+
|
|
47
|
+
// MARK: - Log Entry (for forwarding to TypeScript)
|
|
48
|
+
|
|
49
|
+
/// Log entry structure for forwarding to TypeScript
|
|
50
|
+
/// Matches TypeScript: LogEntry interface
|
|
51
|
+
@objc public class NativeLogEntry: NSObject {
|
|
52
|
+
@objc public let level: Int
|
|
53
|
+
@objc public let category: String
|
|
54
|
+
@objc public let message: String
|
|
55
|
+
@objc public let metadata: [String: Any]?
|
|
56
|
+
@objc public let timestamp: Date
|
|
57
|
+
|
|
58
|
+
@objc public init(level: RNLogLevel, category: String, message: String, metadata: [String: Any]?, timestamp: Date) {
|
|
59
|
+
self.level = level.rawValue
|
|
60
|
+
self.category = category
|
|
61
|
+
self.message = message
|
|
62
|
+
self.metadata = metadata
|
|
63
|
+
self.timestamp = timestamp
|
|
64
|
+
super.init()
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// Convert to dictionary for JSON serialization
|
|
68
|
+
@objc public func toDictionary() -> [String: Any] {
|
|
69
|
+
var dict: [String: Any] = [
|
|
70
|
+
"level": level,
|
|
71
|
+
"category": category,
|
|
72
|
+
"message": message,
|
|
73
|
+
"timestamp": ISO8601DateFormatter().string(from: timestamp)
|
|
74
|
+
]
|
|
75
|
+
if let metadata = metadata {
|
|
76
|
+
// Convert metadata to JSON-safe types
|
|
77
|
+
dict["metadata"] = metadata.mapValues { value -> Any in
|
|
78
|
+
if let stringValue = value as? String { return stringValue }
|
|
79
|
+
if let numberValue = value as? NSNumber { return numberValue }
|
|
80
|
+
return String(describing: value)
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return dict
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// MARK: - Log Forwarder Protocol
|
|
88
|
+
|
|
89
|
+
/// Protocol for forwarding logs to TypeScript
|
|
90
|
+
@objc public protocol NativeLogForwarder {
|
|
91
|
+
func forwardLog(_ entry: NativeLogEntry)
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/// Simple logger for SDK components with category-based filtering.
|
|
95
|
+
/// Thread-safe and easy to use. Supports forwarding to TypeScript.
|
|
96
|
+
@objc public final class SDKLogger: NSObject {
|
|
97
|
+
|
|
98
|
+
// MARK: - Properties
|
|
99
|
+
|
|
100
|
+
/// Logger category (e.g., "LLM", "Download", "Models")
|
|
101
|
+
public let category: String
|
|
102
|
+
|
|
103
|
+
/// Minimum log level (logs below this level are ignored)
|
|
104
|
+
private static var minLogLevel: RNLogLevel = .debug
|
|
105
|
+
|
|
106
|
+
/// Whether local console logging is enabled
|
|
107
|
+
private static var localLoggingEnabled = true
|
|
108
|
+
|
|
109
|
+
/// Whether to forward logs to TypeScript
|
|
110
|
+
private static var forwardingEnabled = true
|
|
111
|
+
|
|
112
|
+
/// Log forwarder for TypeScript bridge
|
|
113
|
+
private static var logForwarder: NativeLogForwarder?
|
|
114
|
+
|
|
115
|
+
/// OSLog instance for this category
|
|
116
|
+
private lazy var osLog: OSLog = {
|
|
117
|
+
OSLog(subsystem: "com.runanywhere.reactnative", category: category)
|
|
118
|
+
}()
|
|
119
|
+
|
|
120
|
+
// MARK: - Initialization
|
|
121
|
+
|
|
122
|
+
/// Create a new logger with the specified category.
|
|
123
|
+
/// - Parameter category: Category name for log filtering
|
|
124
|
+
@objc public init(category: String = "SDK") {
|
|
125
|
+
self.category = category
|
|
126
|
+
super.init()
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// MARK: - Configuration
|
|
130
|
+
|
|
131
|
+
/// Set the minimum log level.
|
|
132
|
+
/// - Parameter level: Minimum level to log
|
|
133
|
+
@objc public static func setMinLogLevel(_ level: RNLogLevel) {
|
|
134
|
+
minLogLevel = level
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/// Get the current minimum log level.
|
|
138
|
+
@objc public static func getMinLogLevel() -> RNLogLevel {
|
|
139
|
+
return minLogLevel
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/// Enable or disable local console logging.
|
|
143
|
+
/// - Parameter enabled: Whether to log to console
|
|
144
|
+
@objc public static func setLocalLoggingEnabled(_ enabled: Bool) {
|
|
145
|
+
localLoggingEnabled = enabled
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
/// Enable or disable log forwarding to TypeScript.
|
|
149
|
+
/// - Parameter enabled: Whether to forward logs
|
|
150
|
+
@objc public static func setForwardingEnabled(_ enabled: Bool) {
|
|
151
|
+
forwardingEnabled = enabled
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/// Set the log forwarder for TypeScript bridge.
|
|
155
|
+
/// - Parameter forwarder: Log forwarder implementation
|
|
156
|
+
@objc public static func setLogForwarder(_ forwarder: NativeLogForwarder?) {
|
|
157
|
+
logForwarder = forwarder
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/// Check if log forwarding is configured
|
|
161
|
+
@objc public static func isForwardingConfigured() -> Bool {
|
|
162
|
+
return logForwarder != nil && forwardingEnabled
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// MARK: - Logging Methods
|
|
166
|
+
|
|
167
|
+
/// Log a debug message.
|
|
168
|
+
/// - Parameters:
|
|
169
|
+
/// - message: Log message
|
|
170
|
+
/// - metadata: Optional metadata dictionary
|
|
171
|
+
@objc public func debug(_ message: String, metadata: [String: Any]? = nil) {
|
|
172
|
+
log(level: .debug, message: message, metadata: metadata)
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/// Log an info message.
|
|
176
|
+
/// - Parameters:
|
|
177
|
+
/// - message: Log message
|
|
178
|
+
/// - metadata: Optional metadata dictionary
|
|
179
|
+
@objc public func info(_ message: String, metadata: [String: Any]? = nil) {
|
|
180
|
+
log(level: .info, message: message, metadata: metadata)
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
/// Log a warning message.
|
|
184
|
+
/// - Parameters:
|
|
185
|
+
/// - message: Log message
|
|
186
|
+
/// - metadata: Optional metadata dictionary
|
|
187
|
+
@objc public func warning(_ message: String, metadata: [String: Any]? = nil) {
|
|
188
|
+
log(level: .warning, message: message, metadata: metadata)
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
/// Log an error message.
|
|
192
|
+
/// - Parameters:
|
|
193
|
+
/// - message: Log message
|
|
194
|
+
/// - metadata: Optional metadata dictionary
|
|
195
|
+
@objc public func error(_ message: String, metadata: [String: Any]? = nil) {
|
|
196
|
+
log(level: .error, message: message, metadata: metadata)
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/// Log a fault/critical message.
|
|
200
|
+
/// - Parameters:
|
|
201
|
+
/// - message: Log message
|
|
202
|
+
/// - metadata: Optional metadata dictionary
|
|
203
|
+
@objc public func fault(_ message: String, metadata: [String: Any]? = nil) {
|
|
204
|
+
log(level: .fault, message: message, metadata: metadata)
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
// MARK: - Error Logging
|
|
208
|
+
|
|
209
|
+
/// Log an Error with full context.
|
|
210
|
+
/// - Parameters:
|
|
211
|
+
/// - error: Error to log
|
|
212
|
+
/// - additionalInfo: Optional additional context
|
|
213
|
+
@objc public func logError(_ error: Error, additionalInfo: String? = nil) {
|
|
214
|
+
let nsError = error as NSError
|
|
215
|
+
var message = error.localizedDescription
|
|
216
|
+
if let info = additionalInfo {
|
|
217
|
+
message += " | Context: \(info)"
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
var metadata: [String: Any] = [
|
|
221
|
+
"error_domain": nsError.domain,
|
|
222
|
+
"error_code": nsError.code
|
|
223
|
+
]
|
|
224
|
+
|
|
225
|
+
if !nsError.userInfo.isEmpty {
|
|
226
|
+
metadata["error_userInfo"] = nsError.userInfo.description
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
log(level: .error, message: message, metadata: metadata)
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
// MARK: - Core Logging
|
|
233
|
+
|
|
234
|
+
/// Log a message with the specified level.
|
|
235
|
+
/// - Parameters:
|
|
236
|
+
/// - level: Log level
|
|
237
|
+
/// - message: Log message
|
|
238
|
+
/// - metadata: Optional metadata dictionary
|
|
239
|
+
public func log(level: RNLogLevel, message: String, metadata: [String: Any]? = nil) {
|
|
240
|
+
guard level >= Self.minLogLevel else { return }
|
|
241
|
+
|
|
242
|
+
let timestamp = Date()
|
|
243
|
+
|
|
244
|
+
// Build formatted message
|
|
245
|
+
var output = "[\(category)] \(message)"
|
|
246
|
+
if let metadata = metadata, !metadata.isEmpty {
|
|
247
|
+
let metaStr = metadata.map { "\($0.key)=\($0.value)" }.joined(separator: ", ")
|
|
248
|
+
output += " | \(metaStr)"
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
// Log to OSLog (always, for system log capture)
|
|
252
|
+
switch level {
|
|
253
|
+
case .debug:
|
|
254
|
+
os_log(.debug, log: osLog, "%{public}@", output)
|
|
255
|
+
case .info:
|
|
256
|
+
os_log(.info, log: osLog, "%{public}@", output)
|
|
257
|
+
case .warning:
|
|
258
|
+
os_log(.default, log: osLog, "[WARN] %{public}@", output)
|
|
259
|
+
case .error:
|
|
260
|
+
os_log(.error, log: osLog, "%{public}@", output)
|
|
261
|
+
case .fault:
|
|
262
|
+
os_log(.fault, log: osLog, "%{public}@", output)
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
// Also log to console if enabled
|
|
266
|
+
if Self.localLoggingEnabled {
|
|
267
|
+
let emoji: String
|
|
268
|
+
switch level {
|
|
269
|
+
case .debug: emoji = "[DEBUG]"
|
|
270
|
+
case .info: emoji = "[INFO]"
|
|
271
|
+
case .warning: emoji = "[WARN]"
|
|
272
|
+
case .error: emoji = "[ERROR]"
|
|
273
|
+
case .fault: emoji = "[FAULT]"
|
|
274
|
+
}
|
|
275
|
+
// swiftlint:disable:next no_print_statements
|
|
276
|
+
NSLog("%@ %@", emoji, output)
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
// Forward to TypeScript if enabled
|
|
280
|
+
if Self.forwardingEnabled, let forwarder = Self.logForwarder {
|
|
281
|
+
let entry = NativeLogEntry(
|
|
282
|
+
level: level,
|
|
283
|
+
category: category,
|
|
284
|
+
message: message,
|
|
285
|
+
metadata: metadata,
|
|
286
|
+
timestamp: timestamp
|
|
287
|
+
)
|
|
288
|
+
forwarder.forwardLog(entry)
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// MARK: - Convenience Loggers (Static)
|
|
293
|
+
|
|
294
|
+
/// Shared logger for general SDK operations. Category: "RunAnywhere"
|
|
295
|
+
@objc public static let shared = SDKLogger(category: "RunAnywhere")
|
|
296
|
+
|
|
297
|
+
/// Logger for LLM operations. Category: "LLM"
|
|
298
|
+
@objc public static let llm = SDKLogger(category: "LLM")
|
|
299
|
+
|
|
300
|
+
/// Logger for STT (Speech-to-Text) operations. Category: "STT"
|
|
301
|
+
@objc public static let stt = SDKLogger(category: "STT")
|
|
302
|
+
|
|
303
|
+
/// Logger for TTS (Text-to-Speech) operations. Category: "TTS"
|
|
304
|
+
@objc public static let tts = SDKLogger(category: "TTS")
|
|
305
|
+
|
|
306
|
+
/// Logger for download operations. Category: "Download"
|
|
307
|
+
@objc public static let download = SDKLogger(category: "Download")
|
|
308
|
+
|
|
309
|
+
/// Logger for model operations. Category: "Models"
|
|
310
|
+
@objc public static let models = SDKLogger(category: "Models")
|
|
311
|
+
|
|
312
|
+
/// Logger for core SDK operations. Category: "Core"
|
|
313
|
+
@objc public static let core = SDKLogger(category: "Core")
|
|
314
|
+
|
|
315
|
+
/// Logger for VAD operations. Category: "VAD"
|
|
316
|
+
@objc public static let vad = SDKLogger(category: "VAD")
|
|
317
|
+
|
|
318
|
+
/// Logger for network operations. Category: "Network"
|
|
319
|
+
@objc public static let network = SDKLogger(category: "Network")
|
|
320
|
+
|
|
321
|
+
/// Logger for events. Category: "Events"
|
|
322
|
+
@objc public static let events = SDKLogger(category: "Events")
|
|
323
|
+
|
|
324
|
+
/// Logger for archive/extraction operations. Category: "Archive"
|
|
325
|
+
@objc public static let archive = SDKLogger(category: "Archive")
|
|
326
|
+
|
|
327
|
+
/// Logger for audio decoding operations. Category: "AudioDecoder"
|
|
328
|
+
@objc public static let audioDecoder = SDKLogger(category: "AudioDecoder")
|
|
329
|
+
}
|
package/nitro.json
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cxxNamespace": ["runanywhere"],
|
|
3
|
+
"ios": {
|
|
4
|
+
"iosModuleName": "RunAnywhereCore"
|
|
5
|
+
},
|
|
6
|
+
"android": {
|
|
7
|
+
"androidNamespace": ["runanywhere"],
|
|
8
|
+
"androidCxxLibName": "runanywherecore"
|
|
9
|
+
},
|
|
10
|
+
"autolinking": {
|
|
11
|
+
"RunAnywhereCore": {
|
|
12
|
+
"cpp": "HybridRunAnywhereCore"
|
|
13
|
+
},
|
|
14
|
+
"RunAnywhereDeviceInfo": {
|
|
15
|
+
"kotlin": "HybridRunAnywhereDeviceInfo",
|
|
16
|
+
"swift": "HybridRunAnywhereDeviceInfo"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"ignorePaths": ["node_modules", "lib", "example"]
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
** linguist-generated=true
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JHybridRunAnywhereDeviceInfoSpec.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include "JHybridRunAnywhereDeviceInfoSpec.hpp"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
#include <string>
|
|
13
|
+
#include <NitroModules/Promise.hpp>
|
|
14
|
+
#include <NitroModules/JPromise.hpp>
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::runanywhere {
|
|
17
|
+
|
|
18
|
+
jni::local_ref<JHybridRunAnywhereDeviceInfoSpec::jhybriddata> JHybridRunAnywhereDeviceInfoSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
19
|
+
return makeCxxInstance(jThis);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
void JHybridRunAnywhereDeviceInfoSpec::registerNatives() {
|
|
23
|
+
registerHybrid({
|
|
24
|
+
makeNativeMethod("initHybrid", JHybridRunAnywhereDeviceInfoSpec::initHybrid),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
size_t JHybridRunAnywhereDeviceInfoSpec::getExternalMemorySize() noexcept {
|
|
29
|
+
static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
|
|
30
|
+
return method(_javaPart);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
void JHybridRunAnywhereDeviceInfoSpec::dispose() noexcept {
|
|
34
|
+
static const auto method = javaClassStatic()->getMethod<void()>("dispose");
|
|
35
|
+
method(_javaPart);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
std::string JHybridRunAnywhereDeviceInfoSpec::toString() {
|
|
39
|
+
static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
|
|
40
|
+
auto javaString = method(_javaPart);
|
|
41
|
+
return javaString->toStdString();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Properties
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
// Methods
|
|
48
|
+
std::shared_ptr<Promise<std::string>> JHybridRunAnywhereDeviceInfoSpec::getDeviceModel() {
|
|
49
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getDeviceModel");
|
|
50
|
+
auto __result = method(_javaPart);
|
|
51
|
+
return [&]() {
|
|
52
|
+
auto __promise = Promise<std::string>::create();
|
|
53
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
54
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
55
|
+
__promise->resolve(__result->toStdString());
|
|
56
|
+
});
|
|
57
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
58
|
+
jni::JniException __jniError(__throwable);
|
|
59
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
60
|
+
});
|
|
61
|
+
return __promise;
|
|
62
|
+
}();
|
|
63
|
+
}
|
|
64
|
+
std::shared_ptr<Promise<std::string>> JHybridRunAnywhereDeviceInfoSpec::getOSVersion() {
|
|
65
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getOSVersion");
|
|
66
|
+
auto __result = method(_javaPart);
|
|
67
|
+
return [&]() {
|
|
68
|
+
auto __promise = Promise<std::string>::create();
|
|
69
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
70
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
71
|
+
__promise->resolve(__result->toStdString());
|
|
72
|
+
});
|
|
73
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
74
|
+
jni::JniException __jniError(__throwable);
|
|
75
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
76
|
+
});
|
|
77
|
+
return __promise;
|
|
78
|
+
}();
|
|
79
|
+
}
|
|
80
|
+
std::shared_ptr<Promise<std::string>> JHybridRunAnywhereDeviceInfoSpec::getPlatform() {
|
|
81
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getPlatform");
|
|
82
|
+
auto __result = method(_javaPart);
|
|
83
|
+
return [&]() {
|
|
84
|
+
auto __promise = Promise<std::string>::create();
|
|
85
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
86
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
87
|
+
__promise->resolve(__result->toStdString());
|
|
88
|
+
});
|
|
89
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
90
|
+
jni::JniException __jniError(__throwable);
|
|
91
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
92
|
+
});
|
|
93
|
+
return __promise;
|
|
94
|
+
}();
|
|
95
|
+
}
|
|
96
|
+
std::shared_ptr<Promise<double>> JHybridRunAnywhereDeviceInfoSpec::getTotalRAM() {
|
|
97
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getTotalRAM");
|
|
98
|
+
auto __result = method(_javaPart);
|
|
99
|
+
return [&]() {
|
|
100
|
+
auto __promise = Promise<double>::create();
|
|
101
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
102
|
+
auto __result = jni::static_ref_cast<jni::JDouble>(__boxedResult);
|
|
103
|
+
__promise->resolve(__result->value());
|
|
104
|
+
});
|
|
105
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
106
|
+
jni::JniException __jniError(__throwable);
|
|
107
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
108
|
+
});
|
|
109
|
+
return __promise;
|
|
110
|
+
}();
|
|
111
|
+
}
|
|
112
|
+
std::shared_ptr<Promise<double>> JHybridRunAnywhereDeviceInfoSpec::getAvailableRAM() {
|
|
113
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getAvailableRAM");
|
|
114
|
+
auto __result = method(_javaPart);
|
|
115
|
+
return [&]() {
|
|
116
|
+
auto __promise = Promise<double>::create();
|
|
117
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
118
|
+
auto __result = jni::static_ref_cast<jni::JDouble>(__boxedResult);
|
|
119
|
+
__promise->resolve(__result->value());
|
|
120
|
+
});
|
|
121
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
122
|
+
jni::JniException __jniError(__throwable);
|
|
123
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
124
|
+
});
|
|
125
|
+
return __promise;
|
|
126
|
+
}();
|
|
127
|
+
}
|
|
128
|
+
std::shared_ptr<Promise<double>> JHybridRunAnywhereDeviceInfoSpec::getCPUCores() {
|
|
129
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getCPUCores");
|
|
130
|
+
auto __result = method(_javaPart);
|
|
131
|
+
return [&]() {
|
|
132
|
+
auto __promise = Promise<double>::create();
|
|
133
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
134
|
+
auto __result = jni::static_ref_cast<jni::JDouble>(__boxedResult);
|
|
135
|
+
__promise->resolve(__result->value());
|
|
136
|
+
});
|
|
137
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
138
|
+
jni::JniException __jniError(__throwable);
|
|
139
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
140
|
+
});
|
|
141
|
+
return __promise;
|
|
142
|
+
}();
|
|
143
|
+
}
|
|
144
|
+
std::shared_ptr<Promise<bool>> JHybridRunAnywhereDeviceInfoSpec::hasGPU() {
|
|
145
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("hasGPU");
|
|
146
|
+
auto __result = method(_javaPart);
|
|
147
|
+
return [&]() {
|
|
148
|
+
auto __promise = Promise<bool>::create();
|
|
149
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
150
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
151
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
152
|
+
});
|
|
153
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
154
|
+
jni::JniException __jniError(__throwable);
|
|
155
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
156
|
+
});
|
|
157
|
+
return __promise;
|
|
158
|
+
}();
|
|
159
|
+
}
|
|
160
|
+
std::shared_ptr<Promise<bool>> JHybridRunAnywhereDeviceInfoSpec::hasNPU() {
|
|
161
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("hasNPU");
|
|
162
|
+
auto __result = method(_javaPart);
|
|
163
|
+
return [&]() {
|
|
164
|
+
auto __promise = Promise<bool>::create();
|
|
165
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
166
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
167
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
168
|
+
});
|
|
169
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
170
|
+
jni::JniException __jniError(__throwable);
|
|
171
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
172
|
+
});
|
|
173
|
+
return __promise;
|
|
174
|
+
}();
|
|
175
|
+
}
|
|
176
|
+
std::shared_ptr<Promise<std::string>> JHybridRunAnywhereDeviceInfoSpec::getChipName() {
|
|
177
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getChipName");
|
|
178
|
+
auto __result = method(_javaPart);
|
|
179
|
+
return [&]() {
|
|
180
|
+
auto __promise = Promise<std::string>::create();
|
|
181
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
182
|
+
auto __result = jni::static_ref_cast<jni::JString>(__boxedResult);
|
|
183
|
+
__promise->resolve(__result->toStdString());
|
|
184
|
+
});
|
|
185
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
186
|
+
jni::JniException __jniError(__throwable);
|
|
187
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
188
|
+
});
|
|
189
|
+
return __promise;
|
|
190
|
+
}();
|
|
191
|
+
}
|
|
192
|
+
std::shared_ptr<Promise<double>> JHybridRunAnywhereDeviceInfoSpec::getThermalState() {
|
|
193
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getThermalState");
|
|
194
|
+
auto __result = method(_javaPart);
|
|
195
|
+
return [&]() {
|
|
196
|
+
auto __promise = Promise<double>::create();
|
|
197
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
198
|
+
auto __result = jni::static_ref_cast<jni::JDouble>(__boxedResult);
|
|
199
|
+
__promise->resolve(__result->value());
|
|
200
|
+
});
|
|
201
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
202
|
+
jni::JniException __jniError(__throwable);
|
|
203
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
204
|
+
});
|
|
205
|
+
return __promise;
|
|
206
|
+
}();
|
|
207
|
+
}
|
|
208
|
+
std::shared_ptr<Promise<double>> JHybridRunAnywhereDeviceInfoSpec::getBatteryLevel() {
|
|
209
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getBatteryLevel");
|
|
210
|
+
auto __result = method(_javaPart);
|
|
211
|
+
return [&]() {
|
|
212
|
+
auto __promise = Promise<double>::create();
|
|
213
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
214
|
+
auto __result = jni::static_ref_cast<jni::JDouble>(__boxedResult);
|
|
215
|
+
__promise->resolve(__result->value());
|
|
216
|
+
});
|
|
217
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
218
|
+
jni::JniException __jniError(__throwable);
|
|
219
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
220
|
+
});
|
|
221
|
+
return __promise;
|
|
222
|
+
}();
|
|
223
|
+
}
|
|
224
|
+
std::shared_ptr<Promise<bool>> JHybridRunAnywhereDeviceInfoSpec::isCharging() {
|
|
225
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("isCharging");
|
|
226
|
+
auto __result = method(_javaPart);
|
|
227
|
+
return [&]() {
|
|
228
|
+
auto __promise = Promise<bool>::create();
|
|
229
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
230
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
231
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
232
|
+
});
|
|
233
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
234
|
+
jni::JniException __jniError(__throwable);
|
|
235
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
236
|
+
});
|
|
237
|
+
return __promise;
|
|
238
|
+
}();
|
|
239
|
+
}
|
|
240
|
+
std::shared_ptr<Promise<bool>> JHybridRunAnywhereDeviceInfoSpec::isLowPowerMode() {
|
|
241
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("isLowPowerMode");
|
|
242
|
+
auto __result = method(_javaPart);
|
|
243
|
+
return [&]() {
|
|
244
|
+
auto __promise = Promise<bool>::create();
|
|
245
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
246
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
247
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
248
|
+
});
|
|
249
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
250
|
+
jni::JniException __jniError(__throwable);
|
|
251
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
252
|
+
});
|
|
253
|
+
return __promise;
|
|
254
|
+
}();
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
} // namespace margelo::nitro::runanywhere
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// HybridRunAnywhereDeviceInfoSpec.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2026 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <NitroModules/JHybridObject.hpp>
|
|
11
|
+
#include <fbjni/fbjni.h>
|
|
12
|
+
#include "HybridRunAnywhereDeviceInfoSpec.hpp"
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::runanywhere {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
class JHybridRunAnywhereDeviceInfoSpec: public jni::HybridClass<JHybridRunAnywhereDeviceInfoSpec, JHybridObject>,
|
|
22
|
+
public virtual HybridRunAnywhereDeviceInfoSpec {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/runanywhere/HybridRunAnywhereDeviceInfoSpec;";
|
|
25
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
26
|
+
static void registerNatives();
|
|
27
|
+
|
|
28
|
+
protected:
|
|
29
|
+
// C++ constructor (called from Java via `initHybrid()`)
|
|
30
|
+
explicit JHybridRunAnywhereDeviceInfoSpec(jni::alias_ref<jhybridobject> jThis) :
|
|
31
|
+
HybridObject(HybridRunAnywhereDeviceInfoSpec::TAG),
|
|
32
|
+
HybridBase(jThis),
|
|
33
|
+
_javaPart(jni::make_global(jThis)) {}
|
|
34
|
+
|
|
35
|
+
public:
|
|
36
|
+
~JHybridRunAnywhereDeviceInfoSpec() override {
|
|
37
|
+
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
|
+
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
size_t getExternalMemorySize() noexcept override;
|
|
43
|
+
void dispose() noexcept override;
|
|
44
|
+
std::string toString() override;
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
inline const jni::global_ref<JHybridRunAnywhereDeviceInfoSpec::javaobject>& getJavaPart() const noexcept {
|
|
48
|
+
return _javaPart;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public:
|
|
52
|
+
// Properties
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
public:
|
|
56
|
+
// Methods
|
|
57
|
+
std::shared_ptr<Promise<std::string>> getDeviceModel() override;
|
|
58
|
+
std::shared_ptr<Promise<std::string>> getOSVersion() override;
|
|
59
|
+
std::shared_ptr<Promise<std::string>> getPlatform() override;
|
|
60
|
+
std::shared_ptr<Promise<double>> getTotalRAM() override;
|
|
61
|
+
std::shared_ptr<Promise<double>> getAvailableRAM() override;
|
|
62
|
+
std::shared_ptr<Promise<double>> getCPUCores() override;
|
|
63
|
+
std::shared_ptr<Promise<bool>> hasGPU() override;
|
|
64
|
+
std::shared_ptr<Promise<bool>> hasNPU() override;
|
|
65
|
+
std::shared_ptr<Promise<std::string>> getChipName() override;
|
|
66
|
+
std::shared_ptr<Promise<double>> getThermalState() override;
|
|
67
|
+
std::shared_ptr<Promise<double>> getBatteryLevel() override;
|
|
68
|
+
std::shared_ptr<Promise<bool>> isCharging() override;
|
|
69
|
+
std::shared_ptr<Promise<bool>> isLowPowerMode() override;
|
|
70
|
+
|
|
71
|
+
private:
|
|
72
|
+
friend HybridBase;
|
|
73
|
+
using HybridBase::HybridBase;
|
|
74
|
+
jni::global_ref<JHybridRunAnywhereDeviceInfoSpec::javaobject> _javaPart;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
} // namespace margelo::nitro::runanywhere
|