cactus-react-native 0.0.1

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 (272) hide show
  1. package/README.md +230 -0
  2. package/android/build.gradle +104 -0
  3. package/android/gradle.properties +5 -0
  4. package/android/src/main/AndroidManifest.xml +4 -0
  5. package/android/src/main/CMakeLists.txt +104 -0
  6. package/android/src/main/java/com/cactus/Cactus.java +646 -0
  7. package/android/src/main/java/com/cactus/CactusPackage.java +48 -0
  8. package/android/src/main/java/com/cactus/LlamaContext.java +579 -0
  9. package/android/src/main/jni-utils.h +100 -0
  10. package/android/src/main/jni.cpp +1254 -0
  11. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  12. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
  13. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  14. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  15. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  16. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  17. package/android/src/main/jniLibs/x86_64/libcactus.so +0 -0
  18. package/android/src/main/jniLibs/x86_64/libcactus_x86_64.so +0 -0
  19. package/android/src/newarch/java/com/cactus/CactusModule.java +124 -0
  20. package/android/src/oldarch/java/com/cactus/CactusModule.java +125 -0
  21. package/cactus-react-native.podspec +45 -0
  22. package/ios/CMakeLists.txt +109 -0
  23. package/ios/Cactus.h +6 -0
  24. package/ios/Cactus.mm +405 -0
  25. package/ios/CactusContext.h +57 -0
  26. package/ios/CactusContext.mm +835 -0
  27. package/ios/cactus.xcframework/info.plist +74 -0
  28. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus.h +133 -0
  29. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/chat.h +143 -0
  30. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/common.h +683 -0
  31. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-alloc.h +76 -0
  32. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-backend-impl.h +255 -0
  33. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-backend.h +354 -0
  34. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-common.h +1851 -0
  35. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpp.h +39 -0
  36. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-aarch64.h +8 -0
  37. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-impl.h +531 -0
  38. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-quants.h +63 -0
  39. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-traits.h +38 -0
  40. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu.h +138 -0
  41. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-impl.h +567 -0
  42. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-metal-impl.h +530 -0
  43. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-metal.h +66 -0
  44. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-opt.h +216 -0
  45. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-quants.h +100 -0
  46. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-threading.h +14 -0
  47. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml.h +2221 -0
  48. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/gguf.h +202 -0
  49. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/json-schema-to-grammar.h +21 -0
  50. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/json.hpp +24766 -0
  51. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-adapter.h +76 -0
  52. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-arch.h +421 -0
  53. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-batch.h +88 -0
  54. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-chat.h +53 -0
  55. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-context.h +265 -0
  56. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-cparams.h +38 -0
  57. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-cpp.h +30 -0
  58. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-grammar.h +173 -0
  59. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-graph.h +574 -0
  60. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-hparams.h +148 -0
  61. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-impl.h +61 -0
  62. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-io.h +35 -0
  63. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-kv-cache.h +287 -0
  64. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-memory.h +21 -0
  65. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-mmap.h +68 -0
  66. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model-loader.h +167 -0
  67. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model.h +403 -0
  68. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-sampling.h +32 -0
  69. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-vocab.h +125 -0
  70. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama.h +1416 -0
  71. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/log.h +103 -0
  72. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/chat-template.hpp +529 -0
  73. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/minja.hpp +2915 -0
  74. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/sampling.h +107 -0
  75. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/sgemm.h +14 -0
  76. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/unicode-data.h +20 -0
  77. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/unicode.h +66 -0
  78. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Info.plist +0 -0
  79. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  80. package/ios/cactus.xcframework/ios-arm64/cactus.framework/ggml-llama.metallib +0 -0
  81. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus.h +133 -0
  82. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/chat.h +143 -0
  83. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/common.h +683 -0
  84. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-alloc.h +76 -0
  85. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend-impl.h +255 -0
  86. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend.h +354 -0
  87. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-common.h +1851 -0
  88. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpp.h +39 -0
  89. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-aarch64.h +8 -0
  90. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-impl.h +531 -0
  91. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-quants.h +63 -0
  92. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-traits.h +38 -0
  93. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu.h +138 -0
  94. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-impl.h +567 -0
  95. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal-impl.h +530 -0
  96. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal.h +66 -0
  97. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-opt.h +216 -0
  98. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-quants.h +100 -0
  99. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-threading.h +14 -0
  100. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml.h +2221 -0
  101. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/gguf.h +202 -0
  102. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/json-schema-to-grammar.h +21 -0
  103. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/json.hpp +24766 -0
  104. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-adapter.h +76 -0
  105. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-arch.h +421 -0
  106. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-batch.h +88 -0
  107. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-chat.h +53 -0
  108. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-context.h +265 -0
  109. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-cparams.h +38 -0
  110. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-cpp.h +30 -0
  111. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-grammar.h +173 -0
  112. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-graph.h +574 -0
  113. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-hparams.h +148 -0
  114. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-impl.h +61 -0
  115. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-io.h +35 -0
  116. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-kv-cache.h +287 -0
  117. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-memory.h +21 -0
  118. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-mmap.h +68 -0
  119. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-loader.h +167 -0
  120. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model.h +403 -0
  121. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-sampling.h +32 -0
  122. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-vocab.h +125 -0
  123. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama.h +1416 -0
  124. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/log.h +103 -0
  125. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +529 -0
  126. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/minja.hpp +2915 -0
  127. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/sampling.h +107 -0
  128. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/sgemm.h +14 -0
  129. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/unicode-data.h +20 -0
  130. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/unicode.h +66 -0
  131. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  132. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +101 -0
  133. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  134. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/ggml-llama-sim.metallib +0 -0
  135. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus.h +133 -0
  136. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/chat.h +143 -0
  137. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/common.h +683 -0
  138. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-alloc.h +76 -0
  139. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-backend-impl.h +255 -0
  140. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-backend.h +354 -0
  141. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-common.h +1851 -0
  142. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpp.h +39 -0
  143. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-aarch64.h +8 -0
  144. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-impl.h +531 -0
  145. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-quants.h +63 -0
  146. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-traits.h +38 -0
  147. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu.h +138 -0
  148. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-impl.h +567 -0
  149. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-metal-impl.h +530 -0
  150. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-metal.h +66 -0
  151. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-opt.h +216 -0
  152. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-quants.h +100 -0
  153. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-threading.h +14 -0
  154. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml.h +2221 -0
  155. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/gguf.h +202 -0
  156. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/json-schema-to-grammar.h +21 -0
  157. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/json.hpp +24766 -0
  158. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-adapter.h +76 -0
  159. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-arch.h +421 -0
  160. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-batch.h +88 -0
  161. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-chat.h +53 -0
  162. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-context.h +265 -0
  163. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-cparams.h +38 -0
  164. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-cpp.h +30 -0
  165. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-grammar.h +173 -0
  166. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-graph.h +574 -0
  167. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-hparams.h +148 -0
  168. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-impl.h +61 -0
  169. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-io.h +35 -0
  170. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-kv-cache.h +287 -0
  171. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-memory.h +21 -0
  172. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-mmap.h +68 -0
  173. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model-loader.h +167 -0
  174. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model.h +403 -0
  175. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-sampling.h +32 -0
  176. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-vocab.h +125 -0
  177. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama.h +1416 -0
  178. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/log.h +103 -0
  179. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/chat-template.hpp +529 -0
  180. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/minja.hpp +2915 -0
  181. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/sampling.h +107 -0
  182. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/sgemm.h +14 -0
  183. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/unicode-data.h +20 -0
  184. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/unicode.h +66 -0
  185. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Info.plist +0 -0
  186. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/cactus +0 -0
  187. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/ggml-llama.metallib +0 -0
  188. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus.h +133 -0
  189. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/chat.h +143 -0
  190. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/common.h +683 -0
  191. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-alloc.h +76 -0
  192. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend-impl.h +255 -0
  193. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend.h +354 -0
  194. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-common.h +1851 -0
  195. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpp.h +39 -0
  196. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-aarch64.h +8 -0
  197. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-impl.h +531 -0
  198. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-quants.h +63 -0
  199. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-traits.h +38 -0
  200. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu.h +138 -0
  201. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-impl.h +567 -0
  202. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal-impl.h +530 -0
  203. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal.h +66 -0
  204. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-opt.h +216 -0
  205. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-quants.h +100 -0
  206. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-threading.h +14 -0
  207. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml.h +2221 -0
  208. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/gguf.h +202 -0
  209. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/json-schema-to-grammar.h +21 -0
  210. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/json.hpp +24766 -0
  211. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-adapter.h +76 -0
  212. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-arch.h +421 -0
  213. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-batch.h +88 -0
  214. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-chat.h +53 -0
  215. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-context.h +265 -0
  216. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-cparams.h +38 -0
  217. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-cpp.h +30 -0
  218. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-grammar.h +173 -0
  219. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-graph.h +574 -0
  220. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-hparams.h +148 -0
  221. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-impl.h +61 -0
  222. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-io.h +35 -0
  223. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-kv-cache.h +287 -0
  224. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-memory.h +21 -0
  225. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-mmap.h +68 -0
  226. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-loader.h +167 -0
  227. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model.h +403 -0
  228. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-sampling.h +32 -0
  229. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-vocab.h +125 -0
  230. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama.h +1416 -0
  231. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/log.h +103 -0
  232. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +529 -0
  233. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/minja.hpp +2915 -0
  234. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/sampling.h +107 -0
  235. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/sgemm.h +14 -0
  236. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/unicode-data.h +20 -0
  237. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/unicode.h +66 -0
  238. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  239. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +101 -0
  240. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  241. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/ggml-llama-sim.metallib +0 -0
  242. package/lib/commonjs/NativeCactus.js +9 -0
  243. package/lib/commonjs/NativeCactus.js.map +1 -0
  244. package/lib/commonjs/chat.js +37 -0
  245. package/lib/commonjs/chat.js.map +1 -0
  246. package/lib/commonjs/grammar.js +560 -0
  247. package/lib/commonjs/grammar.js.map +1 -0
  248. package/lib/commonjs/index.js +300 -0
  249. package/lib/commonjs/index.js.map +1 -0
  250. package/lib/commonjs/package.json +1 -0
  251. package/lib/module/NativeCactus.js +5 -0
  252. package/lib/module/NativeCactus.js.map +1 -0
  253. package/lib/module/chat.js +33 -0
  254. package/lib/module/chat.js.map +1 -0
  255. package/lib/module/grammar.js +553 -0
  256. package/lib/module/grammar.js.map +1 -0
  257. package/lib/module/index.js +277 -0
  258. package/lib/module/index.js.map +1 -0
  259. package/lib/module/package.json +1 -0
  260. package/lib/typescript/NativeCactus.d.ts +357 -0
  261. package/lib/typescript/NativeCactus.d.ts.map +1 -0
  262. package/lib/typescript/chat.d.ts +10 -0
  263. package/lib/typescript/chat.d.ts.map +1 -0
  264. package/lib/typescript/grammar.d.ts +37 -0
  265. package/lib/typescript/grammar.d.ts.map +1 -0
  266. package/lib/typescript/index.d.ts +96 -0
  267. package/lib/typescript/index.d.ts.map +1 -0
  268. package/package.json +223 -0
  269. package/src/NativeCactus.ts +418 -0
  270. package/src/chat.ts +44 -0
  271. package/src/grammar.ts +854 -0
  272. package/src/index.ts +482 -0
@@ -0,0 +1,124 @@
1
+ package com.cactus;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.bridge.Promise;
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.bridge.ReactMethod;
8
+ import com.facebook.react.bridge.ReadableMap;
9
+ import com.facebook.react.bridge.ReadableArray;
10
+ import com.facebook.react.module.annotations.ReactModule;
11
+
12
+ import java.util.HashMap;
13
+ import java.util.Random;
14
+ import java.io.File;
15
+ import java.io.FileInputStream;
16
+ import java.io.PushbackInputStream;
17
+
18
+ @ReactModule(name = Cactus.NAME)
19
+ public class CactusModule extends NativeCactusSpec {
20
+ public static final String NAME = Cactus.NAME;
21
+
22
+ private Cactus cactus = null;
23
+
24
+ public CactusModule(ReactApplicationContext reactContext) {
25
+ super(reactContext);
26
+ cactus = new Cactus(reactContext);
27
+ }
28
+
29
+ @Override
30
+ @NonNull
31
+ public String getName() {
32
+ return NAME;
33
+ }
34
+
35
+ @ReactMethod
36
+ public void toggleNativeLog(boolean enabled, Promise promise) {
37
+ cactus.toggleNativeLog(enabled, promise);
38
+ }
39
+
40
+ @ReactMethod
41
+ public void setContextLimit(double limit, Promise promise) {
42
+ cactus.setContextLimit(limit, promise);
43
+ }
44
+
45
+ @ReactMethod
46
+ public void modelInfo(final String model, final ReadableArray skip, final Promise promise) {
47
+ cactus.modelInfo(model, skip, promise);
48
+ }
49
+
50
+ @ReactMethod
51
+ public void initContext(double id, final ReadableMap params, final Promise promise) {
52
+ cactus.initContext(id, params, promise);
53
+ }
54
+
55
+ @ReactMethod
56
+ public void getFormattedChat(double id, String messages, String chatTemplate, ReadableMap params, Promise promise) {
57
+ cactus.getFormattedChat(id, messages, chatTemplate, params, promise);
58
+ }
59
+
60
+ @ReactMethod
61
+ public void loadSession(double id, String path, Promise promise) {
62
+ cactus.loadSession(id, path, promise);
63
+ }
64
+
65
+ @ReactMethod
66
+ public void saveSession(double id, String path, double size, Promise promise) {
67
+ cactus.saveSession(id, path, size, promise);
68
+ }
69
+
70
+ @ReactMethod
71
+ public void completion(double id, final ReadableMap params, final Promise promise) {
72
+ cactus.completion(id, params, promise);
73
+ }
74
+
75
+ @ReactMethod
76
+ public void stopCompletion(double id, final Promise promise) {
77
+ cactus.stopCompletion(id, promise);
78
+ }
79
+
80
+ @ReactMethod
81
+ public void tokenize(double id, final String text, final Promise promise) {
82
+ cactus.tokenize(id, text, promise);
83
+ }
84
+
85
+ @ReactMethod
86
+ public void detokenize(double id, final ReadableArray tokens, final Promise promise) {
87
+ cactus.detokenize(id, tokens, promise);
88
+ }
89
+
90
+ @ReactMethod
91
+ public void embedding(double id, final String text, final ReadableMap params, final Promise promise) {
92
+ cactus.embedding(id, text, params, promise);
93
+ }
94
+
95
+ @ReactMethod
96
+ public void bench(double id, final double pp, final double tg, final double pl, final double nr, final Promise promise) {
97
+ cactus.bench(id, pp, tg, pl, nr, promise);
98
+ }
99
+
100
+ @ReactMethod
101
+ public void applyLoraAdapters(double id, final ReadableArray loraAdapters, final Promise promise) {
102
+ cactus.applyLoraAdapters(id, loraAdapters, promise);
103
+ }
104
+
105
+ @ReactMethod
106
+ public void removeLoraAdapters(double id, final Promise promise) {
107
+ cactus.removeLoraAdapters(id, promise);
108
+ }
109
+
110
+ @ReactMethod
111
+ public void getLoadedLoraAdapters(double id, final Promise promise) {
112
+ cactus.getLoadedLoraAdapters(id, promise);
113
+ }
114
+
115
+ @ReactMethod
116
+ public void releaseContext(double id, Promise promise) {
117
+ cactus.releaseContext(id, promise);
118
+ }
119
+
120
+ @ReactMethod
121
+ public void releaseAllContexts(Promise promise) {
122
+ cactus.releaseAllContexts(promise);
123
+ }
124
+ }
@@ -0,0 +1,125 @@
1
+ package com.cactus;
2
+
3
+ import androidx.annotation.NonNull;
4
+
5
+ import com.facebook.react.bridge.Promise;
6
+ import com.facebook.react.bridge.ReactApplicationContext;
7
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
8
+ import com.facebook.react.bridge.ReactMethod;
9
+ import com.facebook.react.bridge.ReadableMap;
10
+ import com.facebook.react.bridge.ReadableArray;
11
+ import com.facebook.react.module.annotations.ReactModule;
12
+
13
+ import java.util.HashMap;
14
+ import java.util.Random;
15
+ import java.io.File;
16
+ import java.io.FileInputStream;
17
+ import java.io.PushbackInputStream;
18
+
19
+ @ReactModule(name = Cactus.NAME)
20
+ public class CactusModule extends ReactContextBaseJavaModule {
21
+ public static final String NAME = Cactus.NAME;
22
+
23
+ private Cactus cactus = null;
24
+
25
+ public CactusModule(ReactApplicationContext reactContext) {
26
+ super(reactContext);
27
+ cactus = new Cactus(reactContext);
28
+ }
29
+
30
+ @Override
31
+ @NonNull
32
+ public String getName() {
33
+ return NAME;
34
+ }
35
+
36
+ @ReactMethod
37
+ public void toggleNativeLog(boolean enabled, Promise promise) {
38
+ cactus.toggleNativeLog(enabled, promise);
39
+ }
40
+
41
+ @ReactMethod
42
+ public void setContextLimit(double limit, Promise promise) {
43
+ cactus.setContextLimit(limit, promise);
44
+ }
45
+
46
+ @ReactMethod
47
+ public void modelInfo(final String model, final ReadableArray skip, final Promise promise) {
48
+ cactus.modelInfo(model, skip, promise);
49
+ }
50
+
51
+ @ReactMethod
52
+ public void initContext(double id, final ReadableMap params, final Promise promise) {
53
+ cactus.initContext(id, params, promise);
54
+ }
55
+
56
+ @ReactMethod
57
+ public void getFormattedChat(double id, String messages, String chatTemplate, ReadableMap params, Promise promise) {
58
+ cactus.getFormattedChat(id, messages, chatTemplate, params, promise);
59
+ }
60
+
61
+ @ReactMethod
62
+ public void loadSession(double id, String path, Promise promise) {
63
+ cactus.loadSession(id, path, promise);
64
+ }
65
+
66
+ @ReactMethod
67
+ public void saveSession(double id, String path, int size, Promise promise) {
68
+ cactus.saveSession(id, path, size, promise);
69
+ }
70
+
71
+ @ReactMethod
72
+ public void completion(double id, final ReadableMap params, final Promise promise) {
73
+ cactus.completion(id, params, promise);
74
+ }
75
+
76
+ @ReactMethod
77
+ public void stopCompletion(double id, final Promise promise) {
78
+ cactus.stopCompletion(id, promise);
79
+ }
80
+
81
+ @ReactMethod
82
+ public void tokenize(double id, final String text, final Promise promise) {
83
+ cactus.tokenize(id, text, promise);
84
+ }
85
+
86
+ @ReactMethod
87
+ public void detokenize(double id, final ReadableArray tokens, final Promise promise) {
88
+ cactus.detokenize(id, tokens, promise);
89
+ }
90
+
91
+ @ReactMethod
92
+ public void embedding(double id, final String text, final ReadableMap params, final Promise promise) {
93
+ cactus.embedding(id, text, params, promise);
94
+ }
95
+
96
+ @ReactMethod
97
+ public void bench(double id, final double pp, final double tg, final double pl, final double nr, final Promise promise) {
98
+ cactus.bench(id, pp, tg, pl, nr, promise);
99
+ }
100
+
101
+ @ReactMethod
102
+ public void applyLoraAdapters(double id, final ReadableArray loraAdapters, final Promise promise) {
103
+ cactus.applyLoraAdapters(id, loraAdapters, promise);
104
+ }
105
+
106
+ @ReactMethod
107
+ public void removeLoraAdapters(double id, final Promise promise) {
108
+ cactus.removeLoraAdapters(id, promise);
109
+ }
110
+
111
+ @ReactMethod
112
+ public void getLoadedLoraAdapters(double id, final Promise promise) {
113
+ cactus.getLoadedLoraAdapters(id, promise);
114
+ }
115
+
116
+ @ReactMethod
117
+ public void releaseContext(double id, Promise promise) {
118
+ cactus.releaseContext(id, promise);
119
+ }
120
+
121
+ @ReactMethod
122
+ public void releaseAllContexts(Promise promise) {
123
+ cactus.releaseAllContexts(promise);
124
+ }
125
+ }
@@ -0,0 +1,45 @@
1
+ require "json"
2
+
3
+ package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4
+ base_ld_flags = "-framework Accelerate -framework Foundation -framework Metal -framework MetalKit"
5
+ base_compiler_flags = "-fno-objc-arc -DLM_GGML_USE_CPU -DLM_GGML_USE_ACCELERATE -Wno-shorten-64-to-32"
6
+
7
+ if ENV["CACTUS_DISABLE_METAL"] != "1" then
8
+ base_compiler_flags += " -DLM_GGML_USE_METAL -DLM_GGML_METAL_USE_BF16" # -DLM_GGML_METAL_NDEBUG
9
+ end
10
+
11
+ # Use base_optimizer_flags = "" for debug builds
12
+ # base_optimizer_flags = ""
13
+ base_optimizer_flags = "-O3 -DNDEBUG"
14
+
15
+ # We always use the local ios directory since we're now copying the files
16
+ ios_path = 'ios'
17
+
18
+ Pod::Spec.new do |s|
19
+ s.name = "cactus-react-native"
20
+ s.version = package["version"]
21
+ s.summary = package["description"]
22
+ s.homepage = package["homepage"]
23
+ s.license = package["license"]
24
+ s.authors = package["author"]
25
+
26
+ s.platforms = { :ios => "13.0", :tvos => "13.0" }
27
+ s.source = { :git => "https://github.com/cactus-compute/cactus.git", :tag => "#{s.version}" }
28
+
29
+ s.source_files = "#{ios_path}/**/*.{h,m,mm}"
30
+ s.vendored_frameworks = "#{ios_path}/cactus.xcframework"
31
+
32
+ s.dependency "React-Core"
33
+
34
+ s.compiler_flags = base_compiler_flags
35
+ s.pod_target_xcconfig = {
36
+ "OTHER_LDFLAGS" => base_ld_flags,
37
+ "OTHER_CFLAGS" => base_optimizer_flags,
38
+ "OTHER_CPLUSPLUSFLAGS" => base_optimizer_flags + " -std=c++17"
39
+ }
40
+
41
+ # Don't install the dependencies when we run `pod install` in the old architecture.
42
+ if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
43
+ install_modules_dependencies(s)
44
+ end
45
+ end
@@ -0,0 +1,109 @@
1
+ cmake_minimum_required(VERSION 3.16)
2
+ project(cactus VERSION 1.0.0 LANGUAGES CXX C)
3
+
4
+ set(CMAKE_CXX_STANDARD 17)
5
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
6
+
7
+ # iOS specific settings
8
+ set(CMAKE_OSX_DEPLOYMENT_TARGET 13.0)
9
+ set(CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE NO)
10
+
11
+ # Dependencies and compile options
12
+ add_definitions(
13
+ -DNDEBUG
14
+ -DO3
15
+ -DLM_GGML_USE_CPU
16
+ -DLM_GGML_USE_ACCELERATE
17
+ -DLM_GGML_USE_METAL
18
+ -DLM_GGML_METAL_USE_BF16
19
+ )
20
+
21
+ # Set the source directory to the cactus directory
22
+ set(SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../cactus)
23
+
24
+ # Define public headers
25
+ set(PUBLIC_HEADERS
26
+ ${SOURCE_DIR}/cactus.h
27
+ ${SOURCE_DIR}/llama.h
28
+ ${SOURCE_DIR}/llama-impl.h
29
+ ${SOURCE_DIR}/ggml.h
30
+ )
31
+
32
+ # Create library target
33
+ add_library(cactus SHARED
34
+ ${SOURCE_DIR}/ggml.c
35
+ ${SOURCE_DIR}/ggml-alloc.c
36
+ ${SOURCE_DIR}/ggml-backend.cpp
37
+ ${SOURCE_DIR}/ggml-backend-reg.cpp
38
+ ${SOURCE_DIR}/ggml-cpu.c
39
+ ${SOURCE_DIR}/ggml-cpu.cpp
40
+ ${SOURCE_DIR}/ggml-cpu-aarch64.cpp
41
+ ${SOURCE_DIR}/ggml-cpu-quants.c
42
+ ${SOURCE_DIR}/ggml-cpu-traits.cpp
43
+ ${SOURCE_DIR}/ggml-metal.m
44
+ ${SOURCE_DIR}/ggml-opt.cpp
45
+ ${SOURCE_DIR}/ggml-threading.cpp
46
+ ${SOURCE_DIR}/ggml-quants.c
47
+ ${SOURCE_DIR}/gguf.cpp
48
+ ${SOURCE_DIR}/log.cpp
49
+ ${SOURCE_DIR}/llama-impl.cpp
50
+ ${SOURCE_DIR}/llama-grammar.cpp
51
+ ${SOURCE_DIR}/llama-sampling.cpp
52
+ ${SOURCE_DIR}/llama-vocab.cpp
53
+ ${SOURCE_DIR}/llama-adapter.cpp
54
+ ${SOURCE_DIR}/llama-chat.cpp
55
+ ${SOURCE_DIR}/llama-context.cpp
56
+ ${SOURCE_DIR}/llama-kv-cache.cpp
57
+ ${SOURCE_DIR}/llama-arch.cpp
58
+ ${SOURCE_DIR}/llama-batch.cpp
59
+ ${SOURCE_DIR}/llama-cparams.cpp
60
+ ${SOURCE_DIR}/llama-hparams.cpp
61
+ ${SOURCE_DIR}/llama.cpp
62
+ ${SOURCE_DIR}/llama-model.cpp
63
+ ${SOURCE_DIR}/llama-model-loader.cpp
64
+ ${SOURCE_DIR}/llama-mmap.cpp
65
+ ${SOURCE_DIR}/llama-vocab.cpp
66
+ ${SOURCE_DIR}/llama-memory.cpp
67
+ ${SOURCE_DIR}/llama-io.cpp
68
+ ${SOURCE_DIR}/llama-graph.cpp
69
+ ${SOURCE_DIR}/sampling.cpp
70
+ ${SOURCE_DIR}/unicode-data.cpp
71
+ ${SOURCE_DIR}/unicode.cpp
72
+ ${SOURCE_DIR}/sgemm.cpp
73
+ ${SOURCE_DIR}/common.cpp
74
+ ${SOURCE_DIR}/chat.cpp
75
+ ${SOURCE_DIR}/json-schema-to-grammar.cpp
76
+ ${SOURCE_DIR}/minja/minja.hpp
77
+ ${SOURCE_DIR}/minja/chat-template.hpp
78
+ ${SOURCE_DIR}/json.hpp
79
+ ${SOURCE_DIR}/amx/amx.cpp
80
+ ${SOURCE_DIR}/amx/mmq.cpp
81
+ ${SOURCE_DIR}/cactus.cpp
82
+ )
83
+
84
+ # Setup include directories, use the cactus directory
85
+ target_include_directories(cactus
86
+ PUBLIC
87
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../cactus>
88
+ $<INSTALL_INTERFACE:include>
89
+ )
90
+
91
+ # Link required frameworks
92
+ target_link_libraries(cactus PRIVATE
93
+ "-framework Accelerate"
94
+ "-framework Foundation"
95
+ "-framework Metal"
96
+ "-framework MetalKit"
97
+ )
98
+
99
+ # Set properties for framework
100
+ set_target_properties(cactus PROPERTIES
101
+ MACOSX_FRAMEWORK_IDENTIFIER "com.cactus"
102
+ MACOSX_FRAMEWORK_BUNDLE_VERSION 1.0.0
103
+ MACOSX_FRAMEWORK_SHORT_VERSION_STRING 1.0.0
104
+ FRAMEWORK TRUE
105
+ FRAMEWORK_VERSION 1.0.0
106
+ VERSION 1.0.0
107
+ PUBLIC_HEADER "${PUBLIC_HEADERS}"
108
+ XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC NO
109
+ )
package/ios/Cactus.h ADDED
@@ -0,0 +1,6 @@
1
+ #import <React/RCTEventEmitter.h>
2
+ #import <React/RCTBridgeModule.h>
3
+
4
+ @interface Cactus : RCTEventEmitter <RCTBridgeModule>
5
+
6
+ @end