@runanywhere/llamacpp 0.18.0 → 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.
- package/README.md +85 -413
- package/RunAnywhereLlama.podspec +27 -13
- package/android/CMakeLists.txt +37 -20
- package/android/build.gradle +83 -8
- package/cpp/HybridRunAnywhereLlama.cpp +26 -269
- package/cpp/HybridRunAnywhereLlama.hpp +2 -58
- package/ios/{Frameworks → Binaries}/RABackendLLAMACPP.xcframework/Info.plist +8 -9
- package/ios/{Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/RABackendLLAMACPP → Binaries/RABackendLLAMACPP.xcframework/ios-arm64/librac_backend_llamacpp.a} +0 -0
- 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
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/runanywhere/llama/runanywherellamaOnLoad.kt +1 -1
- package/nitrogen/generated/android/runanywherellama+autolinking.cmake +2 -2
- package/nitrogen/generated/android/runanywherellama+autolinking.gradle +1 -1
- package/nitrogen/generated/android/runanywherellamaOnLoad.cpp +23 -18
- package/nitrogen/generated/android/runanywherellamaOnLoad.hpp +14 -5
- package/nitrogen/generated/ios/RunAnywhereLlama+autolinking.rb +4 -2
- package/nitrogen/generated/ios/RunAnywhereLlama-Swift-Cxx-Bridge.cpp +2 -2
- package/nitrogen/generated/ios/RunAnywhereLlama-Swift-Cxx-Bridge.hpp +2 -2
- package/nitrogen/generated/ios/RunAnywhereLlama-Swift-Cxx-Umbrella.hpp +1 -1
- package/nitrogen/generated/ios/RunAnywhereLlamaAutolinking.mm +1 -1
- package/nitrogen/generated/ios/RunAnywhereLlamaAutolinking.swift +6 -2
- package/nitrogen/generated/shared/c++/HybridRunAnywhereLlamaSpec.cpp +1 -11
- package/nitrogen/generated/shared/c++/HybridRunAnywhereLlamaSpec.hpp +2 -15
- package/package.json +13 -10
- package/react-native.config.js +1 -3
- package/src/LlamaCPP.ts +32 -160
- package/src/LlamaCppProvider.ts +32 -36
- package/src/index.ts +18 -23
- package/src/native/NativeRunAnywhereLlama.ts +19 -5
- package/src/specs/RunAnywhereLlama.nitro.ts +17 -126
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/cpp/cpp-adapter.cpp +0 -14
- package/android/src/main/include/rac/backends/rac_llm_llamacpp.h +0 -218
- package/android/src/main/include/rac/backends/rac_stt_onnx.h +0 -99
- package/android/src/main/include/rac/backends/rac_stt_whispercpp.h +0 -153
- package/android/src/main/include/rac/backends/rac_tts_onnx.h +0 -71
- package/android/src/main/include/rac/backends/rac_vad_onnx.h +0 -84
- package/android/src/main/include/rac/core/capabilities/rac_lifecycle.h +0 -290
- package/android/src/main/include/rac/core/rac_analytics_events.h +0 -610
- package/android/src/main/include/rac/core/rac_audio_utils.h +0 -88
- package/android/src/main/include/rac/core/rac_component_types.h +0 -160
- package/android/src/main/include/rac/core/rac_core.h +0 -331
- package/android/src/main/include/rac/core/rac_error.h +0 -469
- package/android/src/main/include/rac/core/rac_events.h +0 -334
- package/android/src/main/include/rac/core/rac_logger.h +0 -416
- package/android/src/main/include/rac/core/rac_platform_adapter.h +0 -340
- package/android/src/main/include/rac/core/rac_sdk_state.h +0 -292
- package/android/src/main/include/rac/core/rac_structured_error.h +0 -594
- package/android/src/main/include/rac/core/rac_types.h +0 -264
- package/android/src/main/include/rac/features/llm/rac_llm.h +0 -17
- package/android/src/main/include/rac/features/llm/rac_llm_analytics.h +0 -188
- package/android/src/main/include/rac/features/llm/rac_llm_component.h +0 -228
- package/android/src/main/include/rac/features/llm/rac_llm_events.h +0 -215
- package/android/src/main/include/rac/features/llm/rac_llm_metrics.h +0 -402
- package/android/src/main/include/rac/features/llm/rac_llm_service.h +0 -163
- package/android/src/main/include/rac/features/llm/rac_llm_structured_output.h +0 -141
- package/android/src/main/include/rac/features/llm/rac_llm_types.h +0 -384
- package/android/src/main/include/rac/features/platform/rac_llm_platform.h +0 -204
- package/android/src/main/include/rac/features/platform/rac_tts_platform.h +0 -197
- package/android/src/main/include/rac/features/stt/rac_stt.h +0 -17
- package/android/src/main/include/rac/features/stt/rac_stt_analytics.h +0 -204
- package/android/src/main/include/rac/features/stt/rac_stt_component.h +0 -162
- package/android/src/main/include/rac/features/stt/rac_stt_events.h +0 -62
- package/android/src/main/include/rac/features/stt/rac_stt_service.h +0 -154
- package/android/src/main/include/rac/features/stt/rac_stt_types.h +0 -389
- package/android/src/main/include/rac/features/tts/rac_tts.h +0 -17
- package/android/src/main/include/rac/features/tts/rac_tts_analytics.h +0 -181
- package/android/src/main/include/rac/features/tts/rac_tts_component.h +0 -158
- package/android/src/main/include/rac/features/tts/rac_tts_events.h +0 -54
- package/android/src/main/include/rac/features/tts/rac_tts_service.h +0 -162
- package/android/src/main/include/rac/features/tts/rac_tts_types.h +0 -374
- package/android/src/main/include/rac/features/vad/rac_vad.h +0 -17
- package/android/src/main/include/rac/features/vad/rac_vad_analytics.h +0 -236
- package/android/src/main/include/rac/features/vad/rac_vad_component.h +0 -185
- package/android/src/main/include/rac/features/vad/rac_vad_energy.h +0 -443
- package/android/src/main/include/rac/features/vad/rac_vad_events.h +0 -76
- package/android/src/main/include/rac/features/vad/rac_vad_service.h +0 -167
- package/android/src/main/include/rac/features/vad/rac_vad_types.h +0 -244
- package/android/src/main/include/rac/features/voice_agent/rac_voice_agent.h +0 -612
- package/android/src/main/include/rac/infrastructure/device/rac_device_manager.h +0 -176
- package/android/src/main/include/rac/infrastructure/download/rac_download.h +0 -418
- package/android/src/main/include/rac/infrastructure/events/rac_events.h +0 -177
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_assignment.h +0 -169
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_paths.h +0 -258
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_registry.h +0 -357
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_strategy.h +0 -374
- package/android/src/main/include/rac/infrastructure/model_management/rac_model_types.h +0 -613
- package/android/src/main/include/rac/infrastructure/network/rac_api_types.h +0 -335
- package/android/src/main/include/rac/infrastructure/network/rac_auth_manager.h +0 -252
- package/android/src/main/include/rac/infrastructure/network/rac_dev_config.h +0 -85
- package/android/src/main/include/rac/infrastructure/network/rac_endpoints.h +0 -102
- package/android/src/main/include/rac/infrastructure/network/rac_environment.h +0 -220
- package/android/src/main/include/rac/infrastructure/network/rac_http_client.h +0 -233
- package/android/src/main/include/rac/infrastructure/storage/rac_storage_analyzer.h +0 -286
- package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_manager.h +0 -206
- package/android/src/main/include/rac/infrastructure/telemetry/rac_telemetry_types.h +0 -234
- package/android/src/main/java/com/margelo/nitro/runanywhere/llama/RunAnywhereLlamaPackage.kt +0 -35
- package/android/src/main/jniLibs/arm64-v8a/libomp.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librac_backend_llamacpp.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librac_backend_llamacpp_jni.so +0 -0
- package/android/src/main/jniLibs/arm64-v8a/librac_commons.so +0 -0
- package/android/src/main/jniLibs/x86_64/libomp.so +0 -0
- package/android/src/main/jniLibs/x86_64/librac_backend_llamacpp.so +0 -0
- package/android/src/main/jniLibs/x86_64/librac_backend_llamacpp_jni.so +0 -0
- package/android/src/main/jniLibs/x86_64/librac_commons.so +0 -0
- package/cpp/bridges/LLMBridge.cpp +0 -209
- package/cpp/bridges/LLMBridge.hpp +0 -109
- package/cpp/bridges/StructuredOutputBridge.cpp +0 -151
- package/cpp/bridges/StructuredOutputBridge.hpp +0 -66
- package/cpp/rac_llm_llamacpp.h +0 -34
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +0 -2
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Info.plist +0 -11
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64/RABackendLLAMACPP.framework/Modules/module.modulemap +0 -5
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Headers/RABackendLLAMACPP.h +0 -2
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Info.plist +0 -11
- package/ios/Frameworks/RABackendLLAMACPP.xcframework/ios-arm64_x86_64-simulator/RABackendLLAMACPP.framework/Modules/module.modulemap +0 -5
- 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
|
|
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
|
-
*
|
|
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>
|
|
9
|
+
<string>librac_backend_llamacpp.a</string>
|
|
10
10
|
<key>LibraryIdentifier</key>
|
|
11
|
-
<string>ios-
|
|
11
|
+
<string>ios-arm64</string>
|
|
12
12
|
<key>LibraryPath</key>
|
|
13
|
-
<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>
|
|
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>
|
|
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 ©
|
|
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 ©
|
|
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 ©
|
|
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 ©
|
|
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
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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 ©
|
|
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
|
-
*
|
|
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
|
|
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
|
-
|
|
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 ©
|
|
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
|
|
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 ©
|
|
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 ©
|
|
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
|
/// RunAnywhereLlamaAutolinking.mm
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
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 ©
|
|
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 ©
|
|
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 ©
|
|
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.
|
|
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
|
-
"
|
|
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.
|
|
51
|
-
"react": ">=
|
|
52
|
-
"react-native": ">=0.
|
|
53
|
-
"react-native-nitro-modules": "
|
|
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.
|
|
57
|
-
"react-native-nitro-modules": "^0.
|
|
58
|
-
"typescript": "
|
|
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
|
+
}
|
package/react-native.config.js
CHANGED