@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,374 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file rac_model_strategy.h
|
|
3
|
+
* @brief Model Storage and Download Strategy Protocols
|
|
4
|
+
*
|
|
5
|
+
* Defines callback-based protocols for backend-specific model handling:
|
|
6
|
+
* - Storage Strategy: How models are stored, detected, and validated
|
|
7
|
+
* - Download Strategy: How models are downloaded and post-processed
|
|
8
|
+
*
|
|
9
|
+
* Each backend (ONNX, LlamaCPP, etc.) registers its strategies during
|
|
10
|
+
* backend registration. The SDK uses these strategies for model management.
|
|
11
|
+
*
|
|
12
|
+
* Architecture:
|
|
13
|
+
* - Strategies are registered per-framework via rac_model_strategy_register()
|
|
14
|
+
* - Swift/platform code provides file system operations via callbacks
|
|
15
|
+
* - Business logic (path resolution, validation, extraction) lives in C++
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
#ifndef RAC_MODEL_STRATEGY_H
|
|
19
|
+
#define RAC_MODEL_STRATEGY_H
|
|
20
|
+
|
|
21
|
+
#include <stddef.h>
|
|
22
|
+
#include <stdint.h>
|
|
23
|
+
|
|
24
|
+
#include <RACommons/rac_error.h>
|
|
25
|
+
#include <RACommons/rac_types.h>
|
|
26
|
+
#include <RACommons/rac_model_types.h>
|
|
27
|
+
|
|
28
|
+
#ifdef __cplusplus
|
|
29
|
+
extern "C" {
|
|
30
|
+
#endif
|
|
31
|
+
|
|
32
|
+
// =============================================================================
|
|
33
|
+
// STORAGE STRATEGY - How models are stored and detected on disk
|
|
34
|
+
// =============================================================================
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @brief Model storage details returned by storage strategy
|
|
38
|
+
*/
|
|
39
|
+
typedef struct {
|
|
40
|
+
/** Model format detected */
|
|
41
|
+
rac_model_format_t format;
|
|
42
|
+
|
|
43
|
+
/** Total size on disk in bytes */
|
|
44
|
+
int64_t total_size;
|
|
45
|
+
|
|
46
|
+
/** Number of files in the model directory */
|
|
47
|
+
int file_count;
|
|
48
|
+
|
|
49
|
+
/** Primary model file name (e.g., "model.onnx") - owned, must free */
|
|
50
|
+
char* primary_file;
|
|
51
|
+
|
|
52
|
+
/** Whether this is a directory-based model (vs single file) */
|
|
53
|
+
rac_bool_t is_directory_based;
|
|
54
|
+
|
|
55
|
+
/** Whether the model storage is valid/complete */
|
|
56
|
+
rac_bool_t is_valid;
|
|
57
|
+
} rac_model_storage_details_t;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* @brief Free storage details resources
|
|
61
|
+
*/
|
|
62
|
+
RAC_API void rac_model_storage_details_free(rac_model_storage_details_t* details);
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* @brief Storage strategy callbacks - implemented by backend
|
|
66
|
+
*
|
|
67
|
+
* These callbacks define how a backend handles model storage detection.
|
|
68
|
+
* Each backend registers these during rac_backend_xxx_register().
|
|
69
|
+
*/
|
|
70
|
+
typedef struct {
|
|
71
|
+
/**
|
|
72
|
+
* @brief Find the primary model path within a model folder
|
|
73
|
+
*
|
|
74
|
+
* For single-file models: returns path to the model file
|
|
75
|
+
* For directory-based models: returns path to primary model file or directory
|
|
76
|
+
*
|
|
77
|
+
* @param model_id Model identifier
|
|
78
|
+
* @param model_folder Path to the model's folder
|
|
79
|
+
* @param out_path Output buffer for the resolved path
|
|
80
|
+
* @param path_size Size of output buffer
|
|
81
|
+
* @param user_data Backend-specific context
|
|
82
|
+
* @return RAC_SUCCESS if found, RAC_ERROR_NOT_FOUND otherwise
|
|
83
|
+
*/
|
|
84
|
+
rac_result_t (*find_model_path)(const char* model_id, const char* model_folder, char* out_path,
|
|
85
|
+
size_t path_size, void* user_data);
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* @brief Detect model format and size in a folder
|
|
89
|
+
*
|
|
90
|
+
* @param model_folder Path to check
|
|
91
|
+
* @param out_details Output storage details
|
|
92
|
+
* @param user_data Backend-specific context
|
|
93
|
+
* @return RAC_SUCCESS if model detected, RAC_ERROR_NOT_FOUND otherwise
|
|
94
|
+
*/
|
|
95
|
+
rac_result_t (*detect_model)(const char* model_folder, rac_model_storage_details_t* out_details,
|
|
96
|
+
void* user_data);
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @brief Validate that model storage is complete and usable
|
|
100
|
+
*
|
|
101
|
+
* @param model_folder Path to the model folder
|
|
102
|
+
* @param user_data Backend-specific context
|
|
103
|
+
* @return RAC_TRUE if valid, RAC_FALSE otherwise
|
|
104
|
+
*/
|
|
105
|
+
rac_bool_t (*is_valid_storage)(const char* model_folder, void* user_data);
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @brief Get list of expected file patterns for this backend
|
|
109
|
+
*
|
|
110
|
+
* @param out_patterns Output array of pattern strings (owned by backend)
|
|
111
|
+
* @param out_count Number of patterns
|
|
112
|
+
* @param user_data Backend-specific context
|
|
113
|
+
*/
|
|
114
|
+
void (*get_expected_patterns)(const char*** out_patterns, size_t* out_count, void* user_data);
|
|
115
|
+
|
|
116
|
+
/** Backend-specific context passed to all callbacks */
|
|
117
|
+
void* user_data;
|
|
118
|
+
|
|
119
|
+
/** Human-readable name for logging */
|
|
120
|
+
const char* name;
|
|
121
|
+
} rac_storage_strategy_t;
|
|
122
|
+
|
|
123
|
+
// =============================================================================
|
|
124
|
+
// DOWNLOAD STRATEGY - How models are downloaded and post-processed
|
|
125
|
+
// =============================================================================
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* @brief Model download task configuration (strategy-specific)
|
|
129
|
+
*
|
|
130
|
+
* Note: This is separate from rac_model_download_config_t in rac_download.h which
|
|
131
|
+
* is used for the download manager. This struct is strategy-specific.
|
|
132
|
+
*/
|
|
133
|
+
typedef struct rac_model_download_config {
|
|
134
|
+
/** Model ID being downloaded */
|
|
135
|
+
const char* model_id;
|
|
136
|
+
|
|
137
|
+
/** Source URL for download */
|
|
138
|
+
const char* source_url;
|
|
139
|
+
|
|
140
|
+
/** Destination folder path */
|
|
141
|
+
const char* destination_folder;
|
|
142
|
+
|
|
143
|
+
/** Expected archive type (or RAC_ARCHIVE_TYPE_NONE for direct files) */
|
|
144
|
+
rac_archive_type_t archive_type;
|
|
145
|
+
|
|
146
|
+
/** Expected total size in bytes (0 if unknown) */
|
|
147
|
+
int64_t expected_size;
|
|
148
|
+
|
|
149
|
+
/** Whether to resume partial downloads */
|
|
150
|
+
rac_bool_t allow_resume;
|
|
151
|
+
} rac_model_download_config_t;
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @brief Download result information
|
|
155
|
+
*/
|
|
156
|
+
typedef struct {
|
|
157
|
+
/** Final path to the downloaded/extracted model */
|
|
158
|
+
char* final_path;
|
|
159
|
+
|
|
160
|
+
/** Actual size downloaded in bytes */
|
|
161
|
+
int64_t downloaded_size;
|
|
162
|
+
|
|
163
|
+
/** Whether extraction was performed */
|
|
164
|
+
rac_bool_t was_extracted;
|
|
165
|
+
|
|
166
|
+
/** Number of files after extraction (1 for single file) */
|
|
167
|
+
int file_count;
|
|
168
|
+
} rac_download_result_t;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @brief Free download result resources
|
|
172
|
+
*/
|
|
173
|
+
RAC_API void rac_download_result_free(rac_download_result_t* result);
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* @brief Download strategy callbacks - implemented by backend
|
|
177
|
+
*
|
|
178
|
+
* These callbacks define how a backend handles model downloads.
|
|
179
|
+
* Actual HTTP transport is provided by platform (Swift/Kotlin).
|
|
180
|
+
*/
|
|
181
|
+
typedef struct {
|
|
182
|
+
/**
|
|
183
|
+
* @brief Prepare download - validate and configure
|
|
184
|
+
*
|
|
185
|
+
* Called before download starts to validate config and prepare destination.
|
|
186
|
+
*
|
|
187
|
+
* @param config Download configuration
|
|
188
|
+
* @param user_data Backend-specific context
|
|
189
|
+
* @return RAC_SUCCESS if ready to download
|
|
190
|
+
*/
|
|
191
|
+
rac_result_t (*prepare_download)(const rac_model_download_config_t* config, void* user_data);
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* @brief Get the destination file path for download
|
|
195
|
+
*
|
|
196
|
+
* @param config Download configuration
|
|
197
|
+
* @param out_path Output buffer for destination path
|
|
198
|
+
* @param path_size Size of output buffer
|
|
199
|
+
* @param user_data Backend-specific context
|
|
200
|
+
* @return RAC_SUCCESS on success
|
|
201
|
+
*/
|
|
202
|
+
rac_result_t (*get_destination_path)(const rac_model_download_config_t* config, char* out_path,
|
|
203
|
+
size_t path_size, void* user_data);
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* @brief Post-process after download (extraction, validation)
|
|
207
|
+
*
|
|
208
|
+
* Called after download completes. Handles extraction and validation.
|
|
209
|
+
*
|
|
210
|
+
* @param config Original download configuration
|
|
211
|
+
* @param downloaded_path Path to downloaded file
|
|
212
|
+
* @param out_result Output result information
|
|
213
|
+
* @param user_data Backend-specific context
|
|
214
|
+
* @return RAC_SUCCESS if post-processing succeeded
|
|
215
|
+
*/
|
|
216
|
+
rac_result_t (*post_process)(const rac_model_download_config_t* config,
|
|
217
|
+
const char* downloaded_path, rac_download_result_t* out_result,
|
|
218
|
+
void* user_data);
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* @brief Cleanup failed or cancelled download
|
|
222
|
+
*
|
|
223
|
+
* @param config Download configuration
|
|
224
|
+
* @param user_data Backend-specific context
|
|
225
|
+
*/
|
|
226
|
+
void (*cleanup)(const rac_model_download_config_t* config, void* user_data);
|
|
227
|
+
|
|
228
|
+
/** Backend-specific context passed to all callbacks */
|
|
229
|
+
void* user_data;
|
|
230
|
+
|
|
231
|
+
/** Human-readable name for logging */
|
|
232
|
+
const char* name;
|
|
233
|
+
} rac_download_strategy_t;
|
|
234
|
+
|
|
235
|
+
// =============================================================================
|
|
236
|
+
// STRATEGY REGISTRATION API
|
|
237
|
+
// =============================================================================
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* @brief Register storage strategy for a framework
|
|
241
|
+
*
|
|
242
|
+
* Called by backends during rac_backend_xxx_register().
|
|
243
|
+
*
|
|
244
|
+
* @param framework Framework this strategy applies to
|
|
245
|
+
* @param strategy Storage strategy callbacks
|
|
246
|
+
* @return RAC_SUCCESS on success
|
|
247
|
+
*/
|
|
248
|
+
RAC_API rac_result_t rac_storage_strategy_register(rac_inference_framework_t framework,
|
|
249
|
+
const rac_storage_strategy_t* strategy);
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* @brief Register download strategy for a framework
|
|
253
|
+
*
|
|
254
|
+
* Called by backends during rac_backend_xxx_register().
|
|
255
|
+
*
|
|
256
|
+
* @param framework Framework this strategy applies to
|
|
257
|
+
* @param strategy Download strategy callbacks
|
|
258
|
+
* @return RAC_SUCCESS on success
|
|
259
|
+
*/
|
|
260
|
+
RAC_API rac_result_t rac_download_strategy_register(rac_inference_framework_t framework,
|
|
261
|
+
const rac_download_strategy_t* strategy);
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* @brief Unregister strategies for a framework
|
|
265
|
+
*
|
|
266
|
+
* Called by backends during unregistration.
|
|
267
|
+
*
|
|
268
|
+
* @param framework Framework to unregister
|
|
269
|
+
*/
|
|
270
|
+
RAC_API void rac_model_strategy_unregister(rac_inference_framework_t framework);
|
|
271
|
+
|
|
272
|
+
// =============================================================================
|
|
273
|
+
// STRATEGY LOOKUP API - Used by SDK core
|
|
274
|
+
// =============================================================================
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* @brief Get storage strategy for a framework
|
|
278
|
+
*
|
|
279
|
+
* @param framework Framework to query
|
|
280
|
+
* @return Strategy pointer or NULL if not registered
|
|
281
|
+
*/
|
|
282
|
+
RAC_API const rac_storage_strategy_t* rac_storage_strategy_get(rac_inference_framework_t framework);
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* @brief Get download strategy for a framework
|
|
286
|
+
*
|
|
287
|
+
* @param framework Framework to query
|
|
288
|
+
* @return Strategy pointer or NULL if not registered
|
|
289
|
+
*/
|
|
290
|
+
RAC_API const rac_download_strategy_t*
|
|
291
|
+
rac_download_strategy_get(rac_inference_framework_t framework);
|
|
292
|
+
|
|
293
|
+
// =============================================================================
|
|
294
|
+
// CONVENIENCE API - High-level operations using registered strategies
|
|
295
|
+
// =============================================================================
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* @brief Find model path using framework's storage strategy
|
|
299
|
+
*
|
|
300
|
+
* @param framework Inference framework
|
|
301
|
+
* @param model_id Model identifier
|
|
302
|
+
* @param model_folder Model folder path
|
|
303
|
+
* @param out_path Output buffer for resolved path
|
|
304
|
+
* @param path_size Size of output buffer
|
|
305
|
+
* @return RAC_SUCCESS if found
|
|
306
|
+
*/
|
|
307
|
+
RAC_API rac_result_t rac_model_strategy_find_path(rac_inference_framework_t framework,
|
|
308
|
+
const char* model_id, const char* model_folder,
|
|
309
|
+
char* out_path, size_t path_size);
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* @brief Detect model using framework's storage strategy
|
|
313
|
+
*
|
|
314
|
+
* @param framework Inference framework
|
|
315
|
+
* @param model_folder Model folder path
|
|
316
|
+
* @param out_details Output storage details
|
|
317
|
+
* @return RAC_SUCCESS if model detected
|
|
318
|
+
*/
|
|
319
|
+
RAC_API rac_result_t rac_model_strategy_detect(rac_inference_framework_t framework,
|
|
320
|
+
const char* model_folder,
|
|
321
|
+
rac_model_storage_details_t* out_details);
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* @brief Validate model storage using framework's strategy
|
|
325
|
+
*
|
|
326
|
+
* @param framework Inference framework
|
|
327
|
+
* @param model_folder Model folder path
|
|
328
|
+
* @return RAC_TRUE if valid
|
|
329
|
+
*/
|
|
330
|
+
RAC_API rac_bool_t rac_model_strategy_is_valid(rac_inference_framework_t framework,
|
|
331
|
+
const char* model_folder);
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* @brief Prepare download using framework's strategy
|
|
335
|
+
*
|
|
336
|
+
* @param framework Inference framework
|
|
337
|
+
* @param config Download configuration
|
|
338
|
+
* @return RAC_SUCCESS if ready
|
|
339
|
+
*/
|
|
340
|
+
RAC_API rac_result_t rac_model_strategy_prepare_download(rac_inference_framework_t framework,
|
|
341
|
+
const rac_model_download_config_t* config);
|
|
342
|
+
|
|
343
|
+
/**
|
|
344
|
+
* @brief Get download destination using framework's strategy
|
|
345
|
+
*
|
|
346
|
+
* @param framework Inference framework
|
|
347
|
+
* @param config Download configuration
|
|
348
|
+
* @param out_path Output buffer for path
|
|
349
|
+
* @param path_size Size of output buffer
|
|
350
|
+
* @return RAC_SUCCESS on success
|
|
351
|
+
*/
|
|
352
|
+
RAC_API rac_result_t rac_model_strategy_get_download_dest(rac_inference_framework_t framework,
|
|
353
|
+
const rac_model_download_config_t* config,
|
|
354
|
+
char* out_path, size_t path_size);
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* @brief Post-process download using framework's strategy
|
|
358
|
+
*
|
|
359
|
+
* @param framework Inference framework
|
|
360
|
+
* @param config Download configuration
|
|
361
|
+
* @param downloaded_path Path to downloaded file
|
|
362
|
+
* @param out_result Output result
|
|
363
|
+
* @return RAC_SUCCESS if successful
|
|
364
|
+
*/
|
|
365
|
+
RAC_API rac_result_t rac_model_strategy_post_process(rac_inference_framework_t framework,
|
|
366
|
+
const rac_model_download_config_t* config,
|
|
367
|
+
const char* downloaded_path,
|
|
368
|
+
rac_download_result_t* out_result);
|
|
369
|
+
|
|
370
|
+
#ifdef __cplusplus
|
|
371
|
+
}
|
|
372
|
+
#endif
|
|
373
|
+
|
|
374
|
+
#endif // RAC_MODEL_STRATEGY_H
|