@runanywhere/llamacpp 0.18.1 → 0.19.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/README.md +85 -413
  2. package/RunAnywhereLlama.podspec +27 -13
  3. package/android/CMakeLists.txt +37 -20
  4. package/android/build.gradle +83 -8
  5. package/cpp/HybridRunAnywhereLlama.cpp +26 -269
  6. package/cpp/HybridRunAnywhereLlama.hpp +2 -58
  7. package/ios/{Frameworks → Binaries}/RABackendLLAMACPP.xcframework/Info.plist +8 -9
  8. package/ios/{Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/RABackendLLAMACPP → Binaries/RABackendLLAMACPP.xcframework/ios-arm64/librac_backend_llamacpp.a} +0 -0
  9. package/ios/{Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/RABackendLLAMACPP → Binaries/RABackendLLAMACPP.xcframework/ios-arm64-simulator/librac_backend_llamacpp.a} +0 -0
  10. package/nitrogen/generated/android/kotlin/com/margelo/nitro/runanywhere/llama/runanywherellamaOnLoad.kt +1 -1
  11. package/nitrogen/generated/android/runanywherellama+autolinking.cmake +2 -2
  12. package/nitrogen/generated/android/runanywherellama+autolinking.gradle +1 -1
  13. package/nitrogen/generated/android/runanywherellamaOnLoad.cpp +23 -18
  14. package/nitrogen/generated/android/runanywherellamaOnLoad.hpp +14 -5
  15. package/nitrogen/generated/ios/RunAnywhereLlama+autolinking.rb +4 -2
  16. package/nitrogen/generated/ios/RunAnywhereLlama-Swift-Cxx-Bridge.cpp +2 -2
  17. package/nitrogen/generated/ios/RunAnywhereLlama-Swift-Cxx-Bridge.hpp +2 -2
  18. package/nitrogen/generated/ios/RunAnywhereLlama-Swift-Cxx-Umbrella.hpp +1 -1
  19. package/nitrogen/generated/ios/RunAnywhereLlamaAutolinking.mm +1 -1
  20. package/nitrogen/generated/ios/RunAnywhereLlamaAutolinking.swift +6 -2
  21. package/nitrogen/generated/shared/c++/HybridRunAnywhereLlamaSpec.cpp +1 -11
  22. package/nitrogen/generated/shared/c++/HybridRunAnywhereLlamaSpec.hpp +2 -15
  23. package/package.json +13 -10
  24. package/react-native.config.js +1 -3
  25. package/src/LlamaCPP.ts +32 -160
  26. package/src/LlamaCppProvider.ts +32 -36
  27. package/src/index.ts +18 -23
  28. package/src/native/NativeRunAnywhereLlama.ts +19 -5
  29. package/src/specs/RunAnywhereLlama.nitro.ts +17 -126
  30. package/android/src/main/AndroidManifest.xml +0 -3
  31. package/android/src/main/cpp/cpp-adapter.cpp +0 -14
  32. package/android/src/main/include/rac/backends/rac_llm_llamacpp.h +0 -218
  33. package/android/src/main/include/rac/backends/rac_stt_onnx.h +0 -99
  34. package/android/src/main/include/rac/backends/rac_stt_whispercpp.h +0 -153
  35. package/android/src/main/include/rac/backends/rac_tts_onnx.h +0 -71
  36. package/android/src/main/include/rac/backends/rac_vad_onnx.h +0 -84
  37. package/android/src/main/include/rac/core/capabilities/rac_lifecycle.h +0 -290
  38. package/android/src/main/include/rac/core/rac_analytics_events.h +0 -610
  39. package/android/src/main/include/rac/core/rac_audio_utils.h +0 -88
  40. package/android/src/main/include/rac/core/rac_component_types.h +0 -160
  41. package/android/src/main/include/rac/core/rac_core.h +0 -331
  42. package/android/src/main/include/rac/core/rac_error.h +0 -469
  43. package/android/src/main/include/rac/core/rac_events.h +0 -334
  44. package/android/src/main/include/rac/core/rac_logger.h +0 -416
  45. package/android/src/main/include/rac/core/rac_platform_adapter.h +0 -340
  46. package/android/src/main/include/rac/core/rac_sdk_state.h +0 -292
  47. package/android/src/main/include/rac/core/rac_structured_error.h +0 -594
  48. package/android/src/main/include/rac/core/rac_types.h +0 -264
  49. package/android/src/main/include/rac/features/llm/rac_llm.h +0 -17
  50. package/android/src/main/include/rac/features/llm/rac_llm_analytics.h +0 -188
  51. package/android/src/main/include/rac/features/llm/rac_llm_component.h +0 -228
  52. package/android/src/main/include/rac/features/llm/rac_llm_events.h +0 -215
  53. package/android/src/main/include/rac/features/llm/rac_llm_metrics.h +0 -402
  54. package/android/src/main/include/rac/features/llm/rac_llm_service.h +0 -163
  55. package/android/src/main/include/rac/features/llm/rac_llm_structured_output.h +0 -141
  56. package/android/src/main/include/rac/features/llm/rac_llm_types.h +0 -384
  57. package/android/src/main/include/rac/features/platform/rac_llm_platform.h +0 -204
  58. package/android/src/main/include/rac/features/platform/rac_tts_platform.h +0 -197
  59. package/android/src/main/include/rac/features/stt/rac_stt.h +0 -17
  60. package/android/src/main/include/rac/features/stt/rac_stt_analytics.h +0 -204
  61. package/android/src/main/include/rac/features/stt/rac_stt_component.h +0 -162
  62. package/android/src/main/include/rac/features/stt/rac_stt_events.h +0 -62
  63. package/android/src/main/include/rac/features/stt/rac_stt_service.h +0 -154
  64. package/android/src/main/include/rac/features/stt/rac_stt_types.h +0 -389
  65. package/android/src/main/include/rac/features/tts/rac_tts.h +0 -17
  66. package/android/src/main/include/rac/features/tts/rac_tts_analytics.h +0 -181
  67. package/android/src/main/include/rac/features/tts/rac_tts_component.h +0 -158
  68. package/android/src/main/include/rac/features/tts/rac_tts_events.h +0 -54
  69. package/android/src/main/include/rac/features/tts/rac_tts_service.h +0 -162
  70. package/android/src/main/include/rac/features/tts/rac_tts_types.h +0 -374
  71. package/android/src/main/include/rac/features/vad/rac_vad.h +0 -17
  72. package/android/src/main/include/rac/features/vad/rac_vad_analytics.h +0 -236
  73. package/android/src/main/include/rac/features/vad/rac_vad_component.h +0 -185
  74. package/android/src/main/include/rac/features/vad/rac_vad_energy.h +0 -443
  75. package/android/src/main/include/rac/features/vad/rac_vad_events.h +0 -76
  76. package/android/src/main/include/rac/features/vad/rac_vad_service.h +0 -167
  77. package/android/src/main/include/rac/features/vad/rac_vad_types.h +0 -244
  78. package/android/src/main/include/rac/features/voice_agent/rac_voice_agent.h +0 -612
  79. package/android/src/main/include/rac/infrastructure/device/rac_device_manager.h +0 -176
  80. package/android/src/main/include/rac/infrastructure/download/rac_download.h +0 -418
  81. package/android/src/main/include/rac/infrastructure/events/rac_events.h +0 -177
  82. package/android/src/main/include/rac/infrastructure/model_management/rac_model_assignment.h +0 -169
  83. package/android/src/main/include/rac/infrastructure/model_management/rac_model_paths.h +0 -258
  84. package/android/src/main/include/rac/infrastructure/model_management/rac_model_registry.h +0 -357
  85. package/android/src/main/include/rac/infrastructure/model_management/rac_model_strategy.h +0 -374
  86. package/android/src/main/include/rac/infrastructure/model_management/rac_model_types.h +0 -613
  87. package/android/src/main/include/rac/infrastructure/network/rac_api_types.h +0 -335
  88. package/android/src/main/include/rac/infrastructure/network/rac_auth_manager.h +0 -252
  89. package/android/src/main/include/rac/infrastructure/network/rac_dev_config.h +0 -85
  90. package/android/src/main/include/rac/infrastructure/network/rac_endpoints.h +0 -102
  91. package/android/src/main/include/rac/infrastructure/network/rac_environment.h +0 -220
  92. package/android/src/main/include/rac/infrastructure/network/rac_http_client.h +0 -233
  93. package/android/src/main/include/rac/infrastructure/storage/rac_storage_analyzer.h +0 -286
  94. package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_manager.h +0 -206
  95. package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_types.h +0 -234
  96. package/android/src/main/java/com/margelo/nitro/runanywhere/llama/RunAnywhereLlamaPackage.kt +0 -35
  97. package/android/src/main/jniLibs/arm64-v8a/libomp.so +0 -0
  98. package/android/src/main/jniLibs/arm64-v8a/librac_backend_llamacpp.so +0 -0
  99. package/android/src/main/jniLibs/arm64-v8a/librac_backend_llamacpp_jni.so +0 -0
  100. package/android/src/main/jniLibs/arm64-v8a/librac_commons.so +0 -0
  101. package/android/src/main/jniLibs/x86_64/libomp.so +0 -0
  102. package/android/src/main/jniLibs/x86_64/librac_backend_llamacpp.so +0 -0
  103. package/android/src/main/jniLibs/x86_64/librac_backend_llamacpp_jni.so +0 -0
  104. package/android/src/main/jniLibs/x86_64/librac_commons.so +0 -0
  105. package/cpp/bridges/LLMBridge.cpp +0 -209
  106. package/cpp/bridges/LLMBridge.hpp +0 -109
  107. package/cpp/bridges/StructuredOutputBridge.cpp +0 -151
  108. package/cpp/bridges/StructuredOutputBridge.hpp +0 -66
  109. package/cpp/rac_llm_llamacpp.h +0 -34
  110. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +0 -2
  111. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Info.plist +0 -11
  112. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Modules/module.modulemap +0 -5
  113. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +0 -2
  114. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Info.plist +0 -11
  115. package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Modules/module.modulemap +0 -5
  116. package/ios/LlamaCPPBackend.podspec +0 -127
@@ -5,10 +5,7 @@
5
5
  * This single C++ file works on both iOS and Android.
6
6
  *
7
7
  * Llama-specific implementation:
8
- * - Backend Registration
9
- * - Model Loading/Unloading
10
- * - Text Generation (streaming and non-streaming)
11
- * - Structured Output (JSON schema generation)
8
+ * - Backend registration hook (single call covers both LLM and VLM modalities)
12
9
  *
13
10
  * Matches Swift SDK: LlamaCPPRuntime/LlamaCPP.swift
14
11
  *
@@ -26,16 +23,13 @@
26
23
  #include "../nitrogen/generated/shared/c++/HybridRunAnywhereLlamaSpec.hpp"
27
24
  #endif
28
25
 
29
- #include <mutex>
30
- #include <string>
31
-
32
26
  namespace margelo::nitro::runanywhere::llama {
33
27
 
34
28
  /**
35
29
  * HybridRunAnywhereLlama - Llama backend native implementation
36
30
  *
37
31
  * Implements the RunAnywhereLlama interface defined in RunAnywhereLlama.nitro.ts
38
- * Delegates to LLMBridge and StructuredOutputBridge for actual inference.
32
+ * Registers native providers only. Core owns lifecycle and inference.
39
33
  */
40
34
  class HybridRunAnywhereLlama : public HybridRunAnywhereLlamaSpec {
41
35
  public:
@@ -50,58 +44,8 @@ public:
50
44
  std::shared_ptr<Promise<bool>> unregisterBackend() override;
51
45
  std::shared_ptr<Promise<bool>> isBackendRegistered() override;
52
46
 
53
- // ============================================================================
54
- // Model Loading
55
- // ============================================================================
56
-
57
- std::shared_ptr<Promise<bool>> loadModel(
58
- const std::string& path,
59
- const std::optional<std::string>& modelId,
60
- const std::optional<std::string>& modelName,
61
- const std::optional<std::string>& configJson) override;
62
- std::shared_ptr<Promise<bool>> isModelLoaded() override;
63
- std::shared_ptr<Promise<bool>> unloadModel() override;
64
- std::shared_ptr<Promise<std::string>> getModelInfo() override;
65
-
66
- // ============================================================================
67
- // Text Generation
68
- // ============================================================================
69
-
70
- std::shared_ptr<Promise<std::string>> generate(
71
- const std::string& prompt,
72
- const std::optional<std::string>& optionsJson) override;
73
- std::shared_ptr<Promise<std::string>> generateStream(
74
- const std::string& prompt,
75
- const std::string& optionsJson,
76
- const std::function<void(const std::string&, bool)>& callback) override;
77
- std::shared_ptr<Promise<bool>> cancelGeneration() override;
78
-
79
- // ============================================================================
80
- // Structured Output
81
- // ============================================================================
82
-
83
- std::shared_ptr<Promise<std::string>> generateStructured(
84
- const std::string& prompt,
85
- const std::string& schema,
86
- const std::optional<std::string>& optionsJson) override;
87
-
88
- // ============================================================================
89
- // Utilities
90
- // ============================================================================
91
-
92
- std::shared_ptr<Promise<std::string>> getLastError() override;
93
- std::shared_ptr<Promise<double>> getMemoryUsage() override;
94
-
95
47
  private:
96
- // Thread safety
97
- std::mutex modelMutex_;
98
-
99
- // State tracking
100
- std::string lastError_;
101
48
  bool isRegistered_ = false;
102
-
103
- // Helper methods
104
- void setLastError(const std::string& error);
105
49
  };
106
50
 
107
51
  } // namespace margelo::nitro::runanywhere::llama
@@ -6,34 +6,33 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>BinaryPath</key>
9
- <string>RABackendLLAMACPP.framework/RABackendLLAMACPP</string>
9
+ <string>librac_backend_llamacpp.a</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64_x86_64-simulator</string>
11
+ <string>ios-arm64</string>
12
12
  <key>LibraryPath</key>
13
- <string>RABackendLLAMACPP.framework</string>
13
+ <string>librac_backend_llamacpp.a</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
- <string>x86_64</string>
18
17
  </array>
19
18
  <key>SupportedPlatform</key>
20
19
  <string>ios</string>
21
- <key>SupportedPlatformVariant</key>
22
- <string>simulator</string>
23
20
  </dict>
24
21
  <dict>
25
22
  <key>BinaryPath</key>
26
- <string>RABackendLLAMACPP.framework/RABackendLLAMACPP</string>
23
+ <string>librac_backend_llamacpp.a</string>
27
24
  <key>LibraryIdentifier</key>
28
- <string>ios-arm64</string>
25
+ <string>ios-arm64-simulator</string>
29
26
  <key>LibraryPath</key>
30
- <string>RABackendLLAMACPP.framework</string>
27
+ <string>librac_backend_llamacpp.a</string>
31
28
  <key>SupportedArchitectures</key>
32
29
  <array>
33
30
  <string>arm64</string>
34
31
  </array>
35
32
  <key>SupportedPlatform</key>
36
33
  <string>ios</string>
34
+ <key>SupportedPlatformVariant</key>
35
+ <string>simulator</string>
37
36
  </dict>
38
37
  </array>
39
38
  <key>CFBundlePackageType</key>
@@ -2,7 +2,7 @@
2
2
  /// runanywherellamaOnLoad.kt
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  package com.margelo.nitro.runanywhere.llama
@@ -2,7 +2,7 @@
2
2
  # runanywherellama+autolinking.cmake
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2026 Marc Rousavy @ Margelo
5
+ # Copyright © Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a CMake file that adds all files generated by Nitrogen
@@ -35,7 +35,7 @@ target_sources(
35
35
  # Shared Nitrogen C++ sources
36
36
  ../nitrogen/generated/shared/c++/HybridRunAnywhereLlamaSpec.cpp
37
37
  # Android-specific Nitrogen C++ sources
38
-
38
+
39
39
  )
40
40
 
41
41
  # From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
@@ -2,7 +2,7 @@
2
2
  /// runanywherellama+autolinking.gradle
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  /// This is a Gradle file that adds all files generated by Nitrogen
@@ -2,7 +2,7 @@
2
2
  /// runanywherellamaOnLoad.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #ifndef BUILDING_RUNANYWHERELLAMA_WITH_GENERATED_CMAKE_PROJECT
@@ -20,25 +20,30 @@
20
20
  namespace margelo::nitro::runanywhere::llama {
21
21
 
22
22
  int initialize(JavaVM* vm) {
23
+ return facebook::jni::initialize(vm, []() {
24
+ ::margelo::nitro::runanywhere::llama::registerAllNatives();
25
+ });
26
+ }
27
+
28
+
29
+
30
+ void registerAllNatives() {
23
31
  using namespace margelo::nitro;
24
32
  using namespace margelo::nitro::runanywhere::llama;
25
- using namespace facebook;
26
-
27
- return facebook::jni::initialize(vm, [] {
28
- // Register native JNI methods
29
-
30
-
31
- // Register Nitro Hybrid Objects
32
- HybridObjectRegistry::registerHybridObjectConstructor(
33
- "RunAnywhereLlama",
34
- []() -> std::shared_ptr<HybridObject> {
35
- static_assert(std::is_default_constructible_v<HybridRunAnywhereLlama>,
36
- "The HybridObject \"HybridRunAnywhereLlama\" is not default-constructible! "
37
- "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
38
- return std::make_shared<HybridRunAnywhereLlama>();
39
- }
40
- );
41
- });
33
+
34
+ // Register native JNI methods
35
+
36
+
37
+ // Register Nitro Hybrid Objects
38
+ HybridObjectRegistry::registerHybridObjectConstructor(
39
+ "RunAnywhereLlama",
40
+ []() -> std::shared_ptr<HybridObject> {
41
+ static_assert(std::is_default_constructible_v<HybridRunAnywhereLlama>,
42
+ "The HybridObject \"HybridRunAnywhereLlama\" is not default-constructible! "
43
+ "Create a public constructor that takes zero arguments to be able to autolink this HybridObject.");
44
+ return std::make_shared<HybridRunAnywhereLlama>();
45
+ }
46
+ );
42
47
  }
43
48
 
44
49
  } // namespace margelo::nitro::runanywhere::llama
@@ -2,24 +2,33 @@
2
2
  /// runanywherellamaOnLoad.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include <jni.h>
9
+ #include <functional>
9
10
  #include <NitroModules/NitroDefines.hpp>
10
11
 
11
12
  namespace margelo::nitro::runanywhere::llama {
12
13
 
14
+ [[deprecated("Use registerNatives() instead.")]]
15
+ int initialize(JavaVM* vm);
16
+
13
17
  /**
14
- * Initializes the native (C++) part of runanywherellama, and autolinks all Hybrid Objects.
15
- * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
18
+ * Register the native (C++) part of runanywherellama, and autolinks all Hybrid Objects.
19
+ * Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`),
20
+ * inside a `facebook::jni::initialize(vm, ...)` call.
16
21
  * Example:
17
22
  * ```cpp (cpp-adapter.cpp)
18
23
  * JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
19
- * return margelo::nitro::runanywhere::llama::initialize(vm);
24
+ * return facebook::jni::initialize(vm, []() {
25
+ * // register all runanywherellama HybridObjects
26
+ * margelo::nitro::runanywhere::llama::registerNatives();
27
+ * // any other custom registrations go here.
28
+ * });
20
29
  * }
21
30
  * ```
22
31
  */
23
- int initialize(JavaVM* vm);
32
+ void registerAllNatives();
24
33
 
25
34
  } // namespace margelo::nitro::runanywhere::llama
@@ -2,7 +2,7 @@
2
2
  # RunAnywhereLlama+autolinking.rb
3
3
  # This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  # https://github.com/mrousavy/nitro
5
- # Copyright © 2026 Marc Rousavy @ Margelo
5
+ # Copyright © Marc Rousavy @ Margelo
6
6
  #
7
7
 
8
8
  # This is a Ruby script that adds all files generated by Nitrogen
@@ -52,9 +52,11 @@ def add_nitrogen_files(spec)
52
52
  spec.pod_target_xcconfig = current_pod_target_xcconfig.merge({
53
53
  # Use C++ 20
54
54
  "CLANG_CXX_LANGUAGE_STANDARD" => "c++20",
55
- # Enables C++ <-> Swift interop (by default it's only C)
55
+ # Enables C++ <-> Swift interop (by default it's only ObjC)
56
56
  "SWIFT_OBJC_INTEROP_MODE" => "objcxx",
57
57
  # Enables stricter modular headers
58
58
  "DEFINES_MODULE" => "YES",
59
+ # Disable auto-generated ObjC header for Swift (Static linkage on Xcode 26.4 breaks here)
60
+ "SWIFT_INSTALL_OBJC_HEADER" => "NO",
59
61
  })
60
62
  end
@@ -2,7 +2,7 @@
2
2
  /// RunAnywhereLlama-Swift-Cxx-Bridge.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "RunAnywhereLlama-Swift-Cxx-Bridge.hpp"
@@ -12,6 +12,6 @@
12
12
 
13
13
  namespace margelo::nitro::runanywhere::llama::bridge::swift {
14
14
 
15
-
15
+
16
16
 
17
17
  } // namespace margelo::nitro::runanywhere::llama::bridge::swift
@@ -2,7 +2,7 @@
2
2
  /// RunAnywhereLlama-Swift-Cxx-Bridge.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -22,6 +22,6 @@
22
22
  */
23
23
  namespace margelo::nitro::runanywhere::llama::bridge::swift {
24
24
 
25
-
25
+
26
26
 
27
27
  } // namespace margelo::nitro::runanywhere::llama::bridge::swift
@@ -2,7 +2,7 @@
2
2
  /// RunAnywhereLlama-Swift-Cxx-Umbrella.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// RunAnywhereLlamaAutolinking.mm
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #import <Foundation/Foundation.h>
@@ -2,11 +2,15 @@
2
2
  /// RunAnywhereLlamaAutolinking.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import NitroModules
9
+
10
+ // TODO: Use empty enums once Swift supports exporting them as namespaces
11
+ // See: https://github.com/swiftlang/swift/pull/83616
8
12
  public final class RunAnywhereLlamaAutolinking {
9
13
  public typealias bridge = margelo.nitro.runanywhere.llama.bridge.swift
10
14
 
11
-
15
+
12
16
  }
@@ -2,7 +2,7 @@
2
2
  /// HybridRunAnywhereLlamaSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridRunAnywhereLlamaSpec.hpp"
@@ -17,16 +17,6 @@ namespace margelo::nitro::runanywhere::llama {
17
17
  prototype.registerHybridMethod("registerBackend", &HybridRunAnywhereLlamaSpec::registerBackend);
18
18
  prototype.registerHybridMethod("unregisterBackend", &HybridRunAnywhereLlamaSpec::unregisterBackend);
19
19
  prototype.registerHybridMethod("isBackendRegistered", &HybridRunAnywhereLlamaSpec::isBackendRegistered);
20
- prototype.registerHybridMethod("loadModel", &HybridRunAnywhereLlamaSpec::loadModel);
21
- prototype.registerHybridMethod("isModelLoaded", &HybridRunAnywhereLlamaSpec::isModelLoaded);
22
- prototype.registerHybridMethod("unloadModel", &HybridRunAnywhereLlamaSpec::unloadModel);
23
- prototype.registerHybridMethod("getModelInfo", &HybridRunAnywhereLlamaSpec::getModelInfo);
24
- prototype.registerHybridMethod("generate", &HybridRunAnywhereLlamaSpec::generate);
25
- prototype.registerHybridMethod("generateStream", &HybridRunAnywhereLlamaSpec::generateStream);
26
- prototype.registerHybridMethod("cancelGeneration", &HybridRunAnywhereLlamaSpec::cancelGeneration);
27
- prototype.registerHybridMethod("generateStructured", &HybridRunAnywhereLlamaSpec::generateStructured);
28
- prototype.registerHybridMethod("getLastError", &HybridRunAnywhereLlamaSpec::getLastError);
29
- prototype.registerHybridMethod("getMemoryUsage", &HybridRunAnywhereLlamaSpec::getMemoryUsage);
30
20
  });
31
21
  }
32
22
 
@@ -2,7 +2,7 @@
2
2
  /// HybridRunAnywhereLlamaSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -16,9 +16,6 @@
16
16
 
17
17
 
18
18
  #include <NitroModules/Promise.hpp>
19
- #include <string>
20
- #include <optional>
21
- #include <functional>
22
19
 
23
20
  namespace margelo::nitro::runanywhere::llama {
24
21
 
@@ -47,23 +44,13 @@ namespace margelo::nitro::runanywhere::llama {
47
44
 
48
45
  public:
49
46
  // Properties
50
-
47
+
51
48
 
52
49
  public:
53
50
  // Methods
54
51
  virtual std::shared_ptr<Promise<bool>> registerBackend() = 0;
55
52
  virtual std::shared_ptr<Promise<bool>> unregisterBackend() = 0;
56
53
  virtual std::shared_ptr<Promise<bool>> isBackendRegistered() = 0;
57
- virtual std::shared_ptr<Promise<bool>> loadModel(const std::string& path, const std::optional<std::string>& modelId, const std::optional<std::string>& modelName, const std::optional<std::string>& configJson) = 0;
58
- virtual std::shared_ptr<Promise<bool>> isModelLoaded() = 0;
59
- virtual std::shared_ptr<Promise<bool>> unloadModel() = 0;
60
- virtual std::shared_ptr<Promise<std::string>> getModelInfo() = 0;
61
- virtual std::shared_ptr<Promise<std::string>> generate(const std::string& prompt, const std::optional<std::string>& optionsJson) = 0;
62
- virtual std::shared_ptr<Promise<std::string>> generateStream(const std::string& prompt, const std::string& optionsJson, const std::function<void(const std::string& /* token */, bool /* isComplete */)>& callback) = 0;
63
- virtual std::shared_ptr<Promise<bool>> cancelGeneration() = 0;
64
- virtual std::shared_ptr<Promise<std::string>> generateStructured(const std::string& prompt, const std::string& schema, const std::optional<std::string>& optionsJson) = 0;
65
- virtual std::shared_ptr<Promise<std::string>> getLastError() = 0;
66
- virtual std::shared_ptr<Promise<double>> getMemoryUsage() = 0;
67
54
 
68
55
  protected:
69
56
  // Hybrid Setup
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runanywhere/llamacpp",
3
- "version": "0.18.1",
3
+ "version": "0.19.13",
4
4
  "description": "LlamaCpp backend for RunAnywhere React Native SDK - GGUF model support for on-device LLM",
5
5
  "main": "src/index.ts",
6
6
  "types": "src/index.ts",
@@ -32,7 +32,7 @@
32
32
  "lint": "eslint \"src/**/*.ts\"",
33
33
  "lint:fix": "eslint \"src/**/*.ts\" --fix",
34
34
  "nitrogen": "nitrogen",
35
- "prepare": "nitrogen"
35
+ "prepublishOnly": "npm run typecheck && npm run lint"
36
36
  },
37
37
  "keywords": [
38
38
  "react-native",
@@ -46,19 +46,22 @@
46
46
  "expo"
47
47
  ],
48
48
  "license": "MIT",
49
+ "dependencies": {
50
+ "@runanywhere/proto-ts": "0.19.13"
51
+ },
49
52
  "peerDependencies": {
50
- "@runanywhere/core": ">=0.16.0",
51
- "react": ">=18.0.0",
52
- "react-native": ">=0.74.0",
53
- "react-native-nitro-modules": ">=0.31.3"
53
+ "@runanywhere/core": ">=0.19.13",
54
+ "react": ">=19.0.0",
55
+ "react-native": ">=0.83.1",
56
+ "react-native-nitro-modules": "^0.33.9"
54
57
  },
55
58
  "devDependencies": {
56
- "nitrogen": "^0.31.10",
57
- "react-native-nitro-modules": "^0.31.10",
58
- "typescript": "~5.9.2"
59
+ "nitrogen": "^0.34.1",
60
+ "react-native-nitro-modules": "^0.33.9",
61
+ "typescript": "^5.9.3"
59
62
  },
60
63
  "create-react-native-library": {
61
64
  "languages": "kotlin-swift",
62
65
  "type": "nitro-module"
63
66
  }
64
- }
67
+ }
@@ -6,9 +6,7 @@ module.exports = {
6
6
  packageImportPath: 'import com.margelo.nitro.runanywhere.llama.RunAnywhereLlamaPackage;',
7
7
  packageInstance: 'new RunAnywhereLlamaPackage()',
8
8
  },
9
- ios: {
10
- podspecPath: './RunAnywhereLlama.podspec',
11
- },
9
+ ios: {},
12
10
  },
13
11
  },
14
12
  };