@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,264 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_types.h
|
|
3
|
+
* @brief RunAnywhere Commons - Common Types and Definitions
|
|
4
|
+
*
|
|
5
|
+
* This header defines common types, handle types, and macros used throughout
|
|
6
|
+
* the runanywhere-commons library. All types use the RAC_ prefix to distinguish
|
|
7
|
+
* from the underlying runanywhere-core (ra_*) types.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
#ifndef RAC_TYPES_H
|
|
11
|
+
#define RAC_TYPES_H
|
|
12
|
+
|
|
13
|
+
#include <stddef.h>
|
|
14
|
+
#include <stdint.h>
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Null pointer macro for use in static initializers.
|
|
18
|
+
* Uses nullptr in C++ (preferred by clang-tidy modernize-use-nullptr)
|
|
19
|
+
* and NULL in C for compatibility.
|
|
20
|
+
*/
|
|
21
|
+
#ifdef __cplusplus
|
|
22
|
+
#define RAC_NULL nullptr
|
|
23
|
+
#else
|
|
24
|
+
#define RAC_NULL NULL
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#ifdef __cplusplus
|
|
28
|
+
extern "C" {
|
|
29
|
+
#endif
|
|
30
|
+
|
|
31
|
+
// =============================================================================
|
|
32
|
+
// API VISIBILITY MACROS
|
|
33
|
+
// =============================================================================
|
|
34
|
+
//
|
|
35
|
+
// RAC_API marks functions that must be visible to FFI (dlsym).
|
|
36
|
+
//
|
|
37
|
+
// CRITICAL: For iOS/Android Flutter FFI, symbols MUST have public visibility
|
|
38
|
+
// even when statically linked. dlsym(RTLD_DEFAULT, ...) can only find symbols
|
|
39
|
+
// with "external" visibility, not "private external".
|
|
40
|
+
//
|
|
41
|
+
// Without visibility("default"), static library symbols get "private external"
|
|
42
|
+
// visibility (due to -fvisibility=hidden), which becomes "non-external" (local)
|
|
43
|
+
// in the final binary - breaking FFI symbol lookup.
|
|
44
|
+
// =============================================================================
|
|
45
|
+
|
|
46
|
+
#if defined(_WIN32)
|
|
47
|
+
#if defined(RAC_BUILDING_SHARED)
|
|
48
|
+
#define RAC_API __declspec(dllexport)
|
|
49
|
+
#elif defined(RAC_USING_SHARED)
|
|
50
|
+
#define RAC_API __declspec(dllimport)
|
|
51
|
+
#else
|
|
52
|
+
#define RAC_API
|
|
53
|
+
#endif
|
|
54
|
+
#elif defined(__GNUC__) || defined(__clang__)
|
|
55
|
+
// Always use default visibility for FFI compatibility
|
|
56
|
+
// This ensures dlsym() can find symbols even in static libraries
|
|
57
|
+
#define RAC_API __attribute__((visibility("default")))
|
|
58
|
+
#else
|
|
59
|
+
#define RAC_API
|
|
60
|
+
#endif
|
|
61
|
+
|
|
62
|
+
// =============================================================================
|
|
63
|
+
// RESULT TYPE
|
|
64
|
+
// =============================================================================
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Result type for all RAC functions.
|
|
68
|
+
* - 0 indicates success
|
|
69
|
+
* - Negative values indicate errors (see rac_error.h)
|
|
70
|
+
*
|
|
71
|
+
* Error code ranges:
|
|
72
|
+
* - runanywhere-core (ra_*): 0 to -99
|
|
73
|
+
* - runanywhere-commons (rac_*): -100 to -999
|
|
74
|
+
*/
|
|
75
|
+
typedef int32_t rac_result_t;
|
|
76
|
+
|
|
77
|
+
/** Success result */
|
|
78
|
+
#define RAC_SUCCESS ((rac_result_t)0)
|
|
79
|
+
|
|
80
|
+
// =============================================================================
|
|
81
|
+
// BOOLEAN TYPE
|
|
82
|
+
// =============================================================================
|
|
83
|
+
|
|
84
|
+
/** Boolean type for C compatibility */
|
|
85
|
+
typedef int32_t rac_bool_t;
|
|
86
|
+
|
|
87
|
+
#define RAC_TRUE ((rac_bool_t)1)
|
|
88
|
+
#define RAC_FALSE ((rac_bool_t)0)
|
|
89
|
+
|
|
90
|
+
// =============================================================================
|
|
91
|
+
// HANDLE TYPES
|
|
92
|
+
// =============================================================================
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Opaque handle for internal objects.
|
|
96
|
+
* Handles should be treated as opaque pointers.
|
|
97
|
+
*/
|
|
98
|
+
typedef void* rac_handle_t;
|
|
99
|
+
|
|
100
|
+
/** Invalid handle value */
|
|
101
|
+
#define RAC_INVALID_HANDLE ((rac_handle_t)NULL)
|
|
102
|
+
|
|
103
|
+
// =============================================================================
|
|
104
|
+
// STRING TYPES
|
|
105
|
+
// =============================================================================
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* String view (non-owning reference to a string).
|
|
109
|
+
* The string is NOT guaranteed to be null-terminated.
|
|
110
|
+
*/
|
|
111
|
+
typedef struct rac_string_view {
|
|
112
|
+
const char* data; /**< Pointer to string data */
|
|
113
|
+
size_t length; /**< Length in bytes (not including any null terminator) */
|
|
114
|
+
} rac_string_view_t;
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Creates a string view from a null-terminated C string.
|
|
118
|
+
*/
|
|
119
|
+
#define RAC_STRING_VIEW(s) ((rac_string_view_t){(s), (s) ? strlen(s) : 0})
|
|
120
|
+
|
|
121
|
+
// =============================================================================
|
|
122
|
+
// AUDIO TYPES
|
|
123
|
+
// =============================================================================
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Audio buffer for STT/VAD operations.
|
|
127
|
+
* Contains PCM float samples in the range [-1.0, 1.0].
|
|
128
|
+
*/
|
|
129
|
+
typedef struct rac_audio_buffer {
|
|
130
|
+
const float* samples; /**< PCM float samples */
|
|
131
|
+
size_t num_samples; /**< Number of samples */
|
|
132
|
+
int32_t sample_rate; /**< Sample rate in Hz (e.g., 16000) */
|
|
133
|
+
int32_t channels; /**< Number of channels (1 = mono, 2 = stereo) */
|
|
134
|
+
} rac_audio_buffer_t;
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Audio format specification.
|
|
138
|
+
*/
|
|
139
|
+
typedef struct rac_audio_format {
|
|
140
|
+
int32_t sample_rate; /**< Sample rate in Hz */
|
|
141
|
+
int32_t channels; /**< Number of channels */
|
|
142
|
+
int32_t bits_per_sample; /**< Bits per sample (16 or 32) */
|
|
143
|
+
} rac_audio_format_t;
|
|
144
|
+
|
|
145
|
+
// =============================================================================
|
|
146
|
+
// MEMORY INFO
|
|
147
|
+
// =============================================================================
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Memory information structure.
|
|
151
|
+
* Used by the platform adapter to report available memory.
|
|
152
|
+
*/
|
|
153
|
+
typedef struct rac_memory_info {
|
|
154
|
+
uint64_t total_bytes; /**< Total physical memory in bytes */
|
|
155
|
+
uint64_t available_bytes; /**< Available memory in bytes */
|
|
156
|
+
uint64_t used_bytes; /**< Used memory in bytes */
|
|
157
|
+
} rac_memory_info_t;
|
|
158
|
+
|
|
159
|
+
// =============================================================================
|
|
160
|
+
// CAPABILITY TYPES
|
|
161
|
+
// =============================================================================
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Capability types supported by backends.
|
|
165
|
+
* These match the capabilities defined in runanywhere-core.
|
|
166
|
+
*/
|
|
167
|
+
typedef enum rac_capability {
|
|
168
|
+
RAC_CAPABILITY_UNKNOWN = 0,
|
|
169
|
+
RAC_CAPABILITY_TEXT_GENERATION = 1, /**< LLM text generation */
|
|
170
|
+
RAC_CAPABILITY_EMBEDDINGS = 2, /**< Text embeddings */
|
|
171
|
+
RAC_CAPABILITY_STT = 3, /**< Speech-to-text */
|
|
172
|
+
RAC_CAPABILITY_TTS = 4, /**< Text-to-speech */
|
|
173
|
+
RAC_CAPABILITY_VAD = 5, /**< Voice activity detection */
|
|
174
|
+
RAC_CAPABILITY_DIARIZATION = 6, /**< Speaker diarization */
|
|
175
|
+
} rac_capability_t;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Device type for backend execution.
|
|
179
|
+
*/
|
|
180
|
+
typedef enum rac_device {
|
|
181
|
+
RAC_DEVICE_CPU = 0,
|
|
182
|
+
RAC_DEVICE_GPU = 1,
|
|
183
|
+
RAC_DEVICE_NPU = 2,
|
|
184
|
+
RAC_DEVICE_AUTO = 3,
|
|
185
|
+
} rac_device_t;
|
|
186
|
+
|
|
187
|
+
// =============================================================================
|
|
188
|
+
// LOG LEVELS
|
|
189
|
+
// =============================================================================
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Log level for the logging callback.
|
|
193
|
+
*/
|
|
194
|
+
typedef enum rac_log_level {
|
|
195
|
+
RAC_LOG_TRACE = 0,
|
|
196
|
+
RAC_LOG_DEBUG = 1,
|
|
197
|
+
RAC_LOG_INFO = 2,
|
|
198
|
+
RAC_LOG_WARNING = 3,
|
|
199
|
+
RAC_LOG_ERROR = 4,
|
|
200
|
+
RAC_LOG_FATAL = 5,
|
|
201
|
+
} rac_log_level_t;
|
|
202
|
+
|
|
203
|
+
// =============================================================================
|
|
204
|
+
// VERSION INFO
|
|
205
|
+
// =============================================================================
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Version information structure.
|
|
209
|
+
*/
|
|
210
|
+
typedef struct rac_version {
|
|
211
|
+
uint16_t major;
|
|
212
|
+
uint16_t minor;
|
|
213
|
+
uint16_t patch;
|
|
214
|
+
const char* string; /**< Version string (e.g., "1.0.0") */
|
|
215
|
+
} rac_version_t;
|
|
216
|
+
|
|
217
|
+
// =============================================================================
|
|
218
|
+
// UTILITY MACROS
|
|
219
|
+
// =============================================================================
|
|
220
|
+
|
|
221
|
+
/** Check if a result is a success */
|
|
222
|
+
#define RAC_SUCCEEDED(result) ((result) >= 0)
|
|
223
|
+
|
|
224
|
+
/** Check if a result is an error */
|
|
225
|
+
#define RAC_FAILED(result) ((result) < 0)
|
|
226
|
+
|
|
227
|
+
/** Check if a handle is valid */
|
|
228
|
+
#define RAC_IS_VALID_HANDLE(handle) ((handle) != RAC_INVALID_HANDLE)
|
|
229
|
+
|
|
230
|
+
// =============================================================================
|
|
231
|
+
// MEMORY MANAGEMENT
|
|
232
|
+
// =============================================================================
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Frees memory allocated by RAC functions.
|
|
236
|
+
*
|
|
237
|
+
* Use this to free strings and buffers returned by RAC functions that
|
|
238
|
+
* are marked as "must be freed with rac_free".
|
|
239
|
+
*
|
|
240
|
+
* @param ptr Pointer to memory to free (can be NULL)
|
|
241
|
+
*/
|
|
242
|
+
RAC_API void rac_free(void* ptr);
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Allocates memory using the RAC allocator.
|
|
246
|
+
*
|
|
247
|
+
* @param size Number of bytes to allocate
|
|
248
|
+
* @return Pointer to allocated memory, or NULL on failure
|
|
249
|
+
*/
|
|
250
|
+
RAC_API void* rac_alloc(size_t size);
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Duplicates a null-terminated string.
|
|
254
|
+
*
|
|
255
|
+
* @param str String to duplicate (can be NULL)
|
|
256
|
+
* @return Duplicated string (must be freed with rac_free), or NULL if str is NULL
|
|
257
|
+
*/
|
|
258
|
+
RAC_API char* rac_strdup(const char* str);
|
|
259
|
+
|
|
260
|
+
#ifdef __cplusplus
|
|
261
|
+
}
|
|
262
|
+
#endif
|
|
263
|
+
|
|
264
|
+
#endif /* RAC_TYPES_H */
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_llm.h
|
|
3
|
+
* @brief RunAnywhere Commons - LLM 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_llm_types.h for data structures only
|
|
8
|
+
* - rac_llm_service.h for the service interface
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#ifndef RAC_LLM_H
|
|
12
|
+
#define RAC_LLM_H
|
|
13
|
+
|
|
14
|
+
#include "rac/features/llm/rac_llm_service.h"
|
|
15
|
+
#include "rac/features/llm/rac_llm_types.h"
|
|
16
|
+
|
|
17
|
+
#endif /* RAC_LLM_H */
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_llm_analytics.h
|
|
3
|
+
* @brief LLM Generation analytics service - 1:1 port of GenerationAnalyticsService.swift
|
|
4
|
+
*
|
|
5
|
+
* Tracks generation operations and metrics.
|
|
6
|
+
* Lifecycle events are handled by the lifecycle manager.
|
|
7
|
+
*
|
|
8
|
+
* NOTE: Token estimation uses ~4 chars/token (approximation, not exact tokenizer count).
|
|
9
|
+
* Actual token counts may vary depending on the model's tokenizer and input content.
|
|
10
|
+
*
|
|
11
|
+
* Swift Source: Sources/RunAnywhere/Features/LLM/Analytics/GenerationAnalyticsService.swift
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
#ifndef RAC_LLM_ANALYTICS_H
|
|
15
|
+
#define RAC_LLM_ANALYTICS_H
|
|
16
|
+
|
|
17
|
+
#include "rac/core/rac_types.h"
|
|
18
|
+
#include "rac/features/llm/rac_llm_metrics.h"
|
|
19
|
+
#include "rac/features/llm/rac_llm_types.h"
|
|
20
|
+
#include "rac/infrastructure/model_management/rac_model_types.h"
|
|
21
|
+
|
|
22
|
+
#ifdef __cplusplus
|
|
23
|
+
extern "C" {
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
// =============================================================================
|
|
27
|
+
// TYPES
|
|
28
|
+
// =============================================================================
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* @brief Opaque handle for LLM analytics service
|
|
32
|
+
*/
|
|
33
|
+
typedef struct rac_llm_analytics_s* rac_llm_analytics_handle_t;
|
|
34
|
+
|
|
35
|
+
// Note: rac_generation_metrics_t is defined in rac_llm_metrics.h
|
|
36
|
+
|
|
37
|
+
// =============================================================================
|
|
38
|
+
// LIFECYCLE
|
|
39
|
+
// =============================================================================
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* @brief Create an LLM analytics service instance
|
|
43
|
+
*
|
|
44
|
+
* @param out_handle Output: Handle to the created service
|
|
45
|
+
* @return RAC_SUCCESS or error code
|
|
46
|
+
*/
|
|
47
|
+
RAC_API rac_result_t rac_llm_analytics_create(rac_llm_analytics_handle_t* out_handle);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @brief Destroy an LLM analytics service instance
|
|
51
|
+
*
|
|
52
|
+
* @param handle Handle to destroy
|
|
53
|
+
*/
|
|
54
|
+
RAC_API void rac_llm_analytics_destroy(rac_llm_analytics_handle_t handle);
|
|
55
|
+
|
|
56
|
+
// =============================================================================
|
|
57
|
+
// GENERATION TRACKING
|
|
58
|
+
// =============================================================================
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @brief Start tracking a non-streaming generation
|
|
62
|
+
*
|
|
63
|
+
* Mirrors Swift's startGeneration()
|
|
64
|
+
*
|
|
65
|
+
* @param handle Analytics service handle
|
|
66
|
+
* @param model_id The model ID being used
|
|
67
|
+
* @param framework The inference framework type (can be RAC_INFERENCE_FRAMEWORK_UNKNOWN)
|
|
68
|
+
* @param temperature Generation temperature (NULL for default)
|
|
69
|
+
* @param max_tokens Maximum tokens to generate (NULL for default)
|
|
70
|
+
* @param context_length Context window size (NULL for default)
|
|
71
|
+
* @param out_generation_id Output: Generated unique ID (owned, must be freed with rac_free)
|
|
72
|
+
* @return RAC_SUCCESS or error code
|
|
73
|
+
*/
|
|
74
|
+
RAC_API rac_result_t rac_llm_analytics_start_generation(
|
|
75
|
+
rac_llm_analytics_handle_t handle, const char* model_id, rac_inference_framework_t framework,
|
|
76
|
+
const float* temperature, const int32_t* max_tokens, const int32_t* context_length,
|
|
77
|
+
char** out_generation_id);
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @brief Start tracking a streaming generation
|
|
81
|
+
*
|
|
82
|
+
* Mirrors Swift's startStreamingGeneration()
|
|
83
|
+
*
|
|
84
|
+
* @param handle Analytics service handle
|
|
85
|
+
* @param model_id The model ID being used
|
|
86
|
+
* @param framework The inference framework type
|
|
87
|
+
* @param temperature Generation temperature (NULL for default)
|
|
88
|
+
* @param max_tokens Maximum tokens to generate (NULL for default)
|
|
89
|
+
* @param context_length Context window size (NULL for default)
|
|
90
|
+
* @param out_generation_id Output: Generated unique ID (owned, must be freed with rac_free)
|
|
91
|
+
* @return RAC_SUCCESS or error code
|
|
92
|
+
*/
|
|
93
|
+
RAC_API rac_result_t rac_llm_analytics_start_streaming_generation(
|
|
94
|
+
rac_llm_analytics_handle_t handle, const char* model_id, rac_inference_framework_t framework,
|
|
95
|
+
const float* temperature, const int32_t* max_tokens, const int32_t* context_length,
|
|
96
|
+
char** out_generation_id);
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @brief Track first token for streaming generation (TTFT metric)
|
|
100
|
+
*
|
|
101
|
+
* Only applicable for streaming generations. Call is ignored for non-streaming.
|
|
102
|
+
*
|
|
103
|
+
* @param handle Analytics service handle
|
|
104
|
+
* @param generation_id The generation ID from start_streaming_generation
|
|
105
|
+
* @return RAC_SUCCESS or error code
|
|
106
|
+
*/
|
|
107
|
+
RAC_API rac_result_t rac_llm_analytics_track_first_token(rac_llm_analytics_handle_t handle,
|
|
108
|
+
const char* generation_id);
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* @brief Track streaming update (analytics only)
|
|
112
|
+
*
|
|
113
|
+
* Only applicable for streaming generations.
|
|
114
|
+
*
|
|
115
|
+
* @param handle Analytics service handle
|
|
116
|
+
* @param generation_id The generation ID
|
|
117
|
+
* @param tokens_generated Number of tokens generated so far
|
|
118
|
+
* @return RAC_SUCCESS or error code
|
|
119
|
+
*/
|
|
120
|
+
RAC_API rac_result_t rac_llm_analytics_track_streaming_update(rac_llm_analytics_handle_t handle,
|
|
121
|
+
const char* generation_id,
|
|
122
|
+
int32_t tokens_generated);
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* @brief Complete a generation (works for both streaming and non-streaming)
|
|
126
|
+
*
|
|
127
|
+
* @param handle Analytics service handle
|
|
128
|
+
* @param generation_id The generation ID
|
|
129
|
+
* @param input_tokens Number of input tokens processed
|
|
130
|
+
* @param output_tokens Number of output tokens generated
|
|
131
|
+
* @param model_id The model ID used
|
|
132
|
+
* @return RAC_SUCCESS or error code
|
|
133
|
+
*/
|
|
134
|
+
RAC_API rac_result_t rac_llm_analytics_complete_generation(rac_llm_analytics_handle_t handle,
|
|
135
|
+
const char* generation_id,
|
|
136
|
+
int32_t input_tokens,
|
|
137
|
+
int32_t output_tokens,
|
|
138
|
+
const char* model_id);
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* @brief Track generation failure
|
|
142
|
+
*
|
|
143
|
+
* @param handle Analytics service handle
|
|
144
|
+
* @param generation_id The generation ID
|
|
145
|
+
* @param error_code Error code
|
|
146
|
+
* @param error_message Error message
|
|
147
|
+
* @return RAC_SUCCESS or error code
|
|
148
|
+
*/
|
|
149
|
+
RAC_API rac_result_t rac_llm_analytics_track_generation_failed(rac_llm_analytics_handle_t handle,
|
|
150
|
+
const char* generation_id,
|
|
151
|
+
rac_result_t error_code,
|
|
152
|
+
const char* error_message);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* @brief Track an error during LLM operations
|
|
156
|
+
*
|
|
157
|
+
* @param handle Analytics service handle
|
|
158
|
+
* @param error_code Error code
|
|
159
|
+
* @param error_message Error message
|
|
160
|
+
* @param operation Operation that failed
|
|
161
|
+
* @param model_id Model ID (can be NULL)
|
|
162
|
+
* @param generation_id Generation ID (can be NULL)
|
|
163
|
+
* @return RAC_SUCCESS or error code
|
|
164
|
+
*/
|
|
165
|
+
RAC_API rac_result_t rac_llm_analytics_track_error(rac_llm_analytics_handle_t handle,
|
|
166
|
+
rac_result_t error_code,
|
|
167
|
+
const char* error_message, const char* operation,
|
|
168
|
+
const char* model_id, const char* generation_id);
|
|
169
|
+
|
|
170
|
+
// =============================================================================
|
|
171
|
+
// METRICS
|
|
172
|
+
// =============================================================================
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* @brief Get current analytics metrics
|
|
176
|
+
*
|
|
177
|
+
* @param handle Analytics service handle
|
|
178
|
+
* @param out_metrics Output: Metrics structure
|
|
179
|
+
* @return RAC_SUCCESS or error code
|
|
180
|
+
*/
|
|
181
|
+
RAC_API rac_result_t rac_llm_analytics_get_metrics(rac_llm_analytics_handle_t handle,
|
|
182
|
+
rac_generation_metrics_t* out_metrics);
|
|
183
|
+
|
|
184
|
+
#ifdef __cplusplus
|
|
185
|
+
}
|
|
186
|
+
#endif
|
|
187
|
+
|
|
188
|
+
#endif /* RAC_LLM_ANALYTICS_H */
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_llm_component.h
|
|
3
|
+
* @brief RunAnywhere Commons - LLM Capability Component
|
|
4
|
+
*
|
|
5
|
+
* C port of Swift's LLMCapability.swift from:
|
|
6
|
+
* Sources/RunAnywhere/Features/LLM/LLMCapability.swift
|
|
7
|
+
*
|
|
8
|
+
* Actor-based LLM capability that owns model lifecycle and generation.
|
|
9
|
+
* Uses lifecycle manager for unified lifecycle + analytics handling.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
#ifndef RAC_LLM_COMPONENT_H
|
|
13
|
+
#define RAC_LLM_COMPONENT_H
|
|
14
|
+
|
|
15
|
+
#include "rac/core/capabilities/rac_lifecycle.h"
|
|
16
|
+
#include "rac/core/rac_error.h"
|
|
17
|
+
#include "rac/features/llm/rac_llm_types.h"
|
|
18
|
+
|
|
19
|
+
#ifdef __cplusplus
|
|
20
|
+
extern "C" {
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
// NOTE: rac_llm_config_t is defined in rac_llm_types.h (included above)
|
|
24
|
+
|
|
25
|
+
// =============================================================================
|
|
26
|
+
// STREAMING CALLBACKS - For component-level streaming
|
|
27
|
+
// =============================================================================
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @brief Streaming callback for token-by-token generation
|
|
31
|
+
*
|
|
32
|
+
* @param token The generated token
|
|
33
|
+
* @param user_data User-provided context
|
|
34
|
+
* @return RAC_TRUE to continue, RAC_FALSE to stop
|
|
35
|
+
*/
|
|
36
|
+
typedef rac_bool_t (*rac_llm_component_token_callback_fn)(const char* token, void* user_data);
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* @brief Streaming completion callback
|
|
40
|
+
*
|
|
41
|
+
* Called when streaming is complete with final metrics.
|
|
42
|
+
*
|
|
43
|
+
* @param result Final generation result with metrics
|
|
44
|
+
* @param user_data User-provided context
|
|
45
|
+
*/
|
|
46
|
+
typedef void (*rac_llm_component_complete_callback_fn)(const rac_llm_result_t* result,
|
|
47
|
+
void* user_data);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* @brief Streaming error callback
|
|
51
|
+
*
|
|
52
|
+
* Called if streaming fails.
|
|
53
|
+
*
|
|
54
|
+
* @param error_code Error code
|
|
55
|
+
* @param error_message Error message
|
|
56
|
+
* @param user_data User-provided context
|
|
57
|
+
*/
|
|
58
|
+
typedef void (*rac_llm_component_error_callback_fn)(rac_result_t error_code,
|
|
59
|
+
const char* error_message, void* user_data);
|
|
60
|
+
|
|
61
|
+
// =============================================================================
|
|
62
|
+
// LLM COMPONENT API - Mirrors Swift's LLMCapability
|
|
63
|
+
// =============================================================================
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* @brief Create an LLM capability component
|
|
67
|
+
*
|
|
68
|
+
* Mirrors Swift's LLMCapability.init()
|
|
69
|
+
*
|
|
70
|
+
* @param out_handle Output: Handle to the component
|
|
71
|
+
* @return RAC_SUCCESS or error code
|
|
72
|
+
*/
|
|
73
|
+
RAC_API rac_result_t rac_llm_component_create(rac_handle_t* out_handle);
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* @brief Configure the LLM component
|
|
77
|
+
*
|
|
78
|
+
* Mirrors Swift's LLMCapability.configure(_:)
|
|
79
|
+
*
|
|
80
|
+
* @param handle Component handle
|
|
81
|
+
* @param config Configuration
|
|
82
|
+
* @return RAC_SUCCESS or error code
|
|
83
|
+
*/
|
|
84
|
+
RAC_API rac_result_t rac_llm_component_configure(rac_handle_t handle,
|
|
85
|
+
const rac_llm_config_t* config);
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @brief Check if model is loaded
|
|
89
|
+
*
|
|
90
|
+
* Mirrors Swift's LLMCapability.isModelLoaded
|
|
91
|
+
*
|
|
92
|
+
* @param handle Component handle
|
|
93
|
+
* @return RAC_TRUE if loaded, RAC_FALSE otherwise
|
|
94
|
+
*/
|
|
95
|
+
RAC_API rac_bool_t rac_llm_component_is_loaded(rac_handle_t handle);
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* @brief Get current model ID
|
|
99
|
+
*
|
|
100
|
+
* Mirrors Swift's LLMCapability.currentModelId
|
|
101
|
+
*
|
|
102
|
+
* @param handle Component handle
|
|
103
|
+
* @return Current model ID (NULL if not loaded)
|
|
104
|
+
*/
|
|
105
|
+
RAC_API const char* rac_llm_component_get_model_id(rac_handle_t handle);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @brief Load a model
|
|
109
|
+
*
|
|
110
|
+
* Mirrors Swift's LLMCapability.loadModel(_:)
|
|
111
|
+
*
|
|
112
|
+
* @param handle Component handle
|
|
113
|
+
* @param model_path File path to the model (used for loading) - REQUIRED
|
|
114
|
+
* @param model_id Model identifier for telemetry (e.g., "smollm2-360m-q8_0")
|
|
115
|
+
* Optional: if NULL, defaults to model_path
|
|
116
|
+
* @param model_name Human-readable model name (e.g., "SmolLM2 360M Q8_0")
|
|
117
|
+
* Optional: if NULL, defaults to model_id
|
|
118
|
+
* @return RAC_SUCCESS or error code
|
|
119
|
+
*/
|
|
120
|
+
RAC_API rac_result_t rac_llm_component_load_model(rac_handle_t handle, const char* model_path,
|
|
121
|
+
const char* model_id, const char* model_name);
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @brief Unload the current model
|
|
125
|
+
*
|
|
126
|
+
* Mirrors Swift's LLMCapability.unload()
|
|
127
|
+
*
|
|
128
|
+
* @param handle Component handle
|
|
129
|
+
* @return RAC_SUCCESS or error code
|
|
130
|
+
*/
|
|
131
|
+
RAC_API rac_result_t rac_llm_component_unload(rac_handle_t handle);
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* @brief Cleanup and reset the component
|
|
135
|
+
*
|
|
136
|
+
* Mirrors Swift's LLMCapability.cleanup()
|
|
137
|
+
*
|
|
138
|
+
* @param handle Component handle
|
|
139
|
+
* @return RAC_SUCCESS or error code
|
|
140
|
+
*/
|
|
141
|
+
RAC_API rac_result_t rac_llm_component_cleanup(rac_handle_t handle);
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* @brief Cancel ongoing generation
|
|
145
|
+
*
|
|
146
|
+
* Mirrors Swift's LLMCapability.cancel()
|
|
147
|
+
* Best-effort cancellation.
|
|
148
|
+
*
|
|
149
|
+
* @param handle Component handle
|
|
150
|
+
* @return RAC_SUCCESS or error code
|
|
151
|
+
*/
|
|
152
|
+
RAC_API rac_result_t rac_llm_component_cancel(rac_handle_t handle);
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* @brief Generate text (non-streaming)
|
|
156
|
+
*
|
|
157
|
+
* Mirrors Swift's LLMCapability.generate(_:options:)
|
|
158
|
+
*
|
|
159
|
+
* @param handle Component handle
|
|
160
|
+
* @param prompt Input prompt
|
|
161
|
+
* @param options Generation options (can be NULL for defaults)
|
|
162
|
+
* @param out_result Output: Generation result
|
|
163
|
+
* @return RAC_SUCCESS or error code
|
|
164
|
+
*/
|
|
165
|
+
RAC_API rac_result_t rac_llm_component_generate(rac_handle_t handle, const char* prompt,
|
|
166
|
+
const rac_llm_options_t* options,
|
|
167
|
+
rac_llm_result_t* out_result);
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* @brief Check if streaming is supported
|
|
171
|
+
*
|
|
172
|
+
* Mirrors Swift's LLMCapability.supportsStreaming
|
|
173
|
+
*
|
|
174
|
+
* @param handle Component handle
|
|
175
|
+
* @return RAC_TRUE if streaming supported, RAC_FALSE otherwise
|
|
176
|
+
*/
|
|
177
|
+
RAC_API rac_bool_t rac_llm_component_supports_streaming(rac_handle_t handle);
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* @brief Generate text with streaming
|
|
181
|
+
*
|
|
182
|
+
* Mirrors Swift's LLMCapability.generateStream(_:options:)
|
|
183
|
+
*
|
|
184
|
+
* @param handle Component handle
|
|
185
|
+
* @param prompt Input prompt
|
|
186
|
+
* @param options Generation options (can be NULL for defaults)
|
|
187
|
+
* @param token_callback Called for each generated token
|
|
188
|
+
* @param complete_callback Called when generation completes
|
|
189
|
+
* @param error_callback Called on error
|
|
190
|
+
* @param user_data User context passed to callbacks
|
|
191
|
+
* @return RAC_SUCCESS or error code
|
|
192
|
+
*/
|
|
193
|
+
RAC_API rac_result_t rac_llm_component_generate_stream(
|
|
194
|
+
rac_handle_t handle, const char* prompt, const rac_llm_options_t* options,
|
|
195
|
+
rac_llm_component_token_callback_fn token_callback,
|
|
196
|
+
rac_llm_component_complete_callback_fn complete_callback,
|
|
197
|
+
rac_llm_component_error_callback_fn error_callback, void* user_data);
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* @brief Get lifecycle state
|
|
201
|
+
*
|
|
202
|
+
* @param handle Component handle
|
|
203
|
+
* @return Current lifecycle state
|
|
204
|
+
*/
|
|
205
|
+
RAC_API rac_lifecycle_state_t rac_llm_component_get_state(rac_handle_t handle);
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* @brief Get lifecycle metrics
|
|
209
|
+
*
|
|
210
|
+
* @param handle Component handle
|
|
211
|
+
* @param out_metrics Output: Lifecycle metrics
|
|
212
|
+
* @return RAC_SUCCESS or error code
|
|
213
|
+
*/
|
|
214
|
+
RAC_API rac_result_t rac_llm_component_get_metrics(rac_handle_t handle,
|
|
215
|
+
rac_lifecycle_metrics_t* out_metrics);
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* @brief Destroy the LLM component
|
|
219
|
+
*
|
|
220
|
+
* @param handle Component handle
|
|
221
|
+
*/
|
|
222
|
+
RAC_API void rac_llm_component_destroy(rac_handle_t handle);
|
|
223
|
+
|
|
224
|
+
#ifdef __cplusplus
|
|
225
|
+
}
|
|
226
|
+
#endif
|
|
227
|
+
|
|
228
|
+
#endif /* RAC_LLM_COMPONENT_H */
|