cactus-react-native 0.2.11 → 1.0.2

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 (510) hide show
  1. package/Cactus.podspec +34 -0
  2. package/LICENSE +38 -0
  3. package/README.md +550 -69
  4. package/android/CMakeLists.txt +40 -0
  5. package/android/build.gradle +68 -44
  6. package/android/gradle.properties +5 -5
  7. package/android/src/main/AndroidManifest.xml +1 -3
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/com/margelo/nitro/cactus/CactusPackage.kt +22 -0
  10. package/android/src/main/java/com/margelo/nitro/cactus/HybridCactusCrypto.kt +38 -0
  11. package/android/src/main/java/com/margelo/nitro/cactus/HybridCactusDeviceInfo.kt +24 -0
  12. package/android/src/main/java/com/margelo/nitro/cactus/HybridCactusFileSystem.kt +227 -0
  13. package/android/src/main/jniLibs/arm64-v8a/{libcactus_v8.so → libcactus.a} +0 -0
  14. package/android/src/main/jniLibs/arm64-v8a/libcactus_util.so +0 -0
  15. package/cpp/HybridCactus.cpp +135 -0
  16. package/cpp/HybridCactus.hpp +42 -0
  17. package/cpp/HybridCactusUtil.cpp +47 -0
  18. package/cpp/HybridCactusUtil.hpp +26 -0
  19. package/cpp/cactus_ffi.h +55 -0
  20. package/cpp/cactus_util.h +25 -0
  21. package/ios/HybridCactusCrypto.swift +37 -0
  22. package/ios/HybridCactusDeviceInfo.swift +32 -0
  23. package/ios/HybridCactusFileSystem.swift +234 -0
  24. package/ios/cactus.xcframework/{info.plist → Info.plist} +2 -37
  25. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus.h +8 -229
  26. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_ffi.h +28 -229
  27. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/engine.h +545 -0
  28. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ffi_utils.h +400 -0
  29. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/graph.h +338 -0
  30. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/kernel.h +275 -0
  31. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/kernel_utils.h +343 -0
  32. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Info.plist +0 -0
  33. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  34. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/cactus.h +11 -0
  35. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/cactus_ffi.h +55 -0
  36. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/engine.h +545 -0
  37. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/ffi_utils.h +400 -0
  38. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/graph.h +338 -0
  39. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/kernel.h +275 -0
  40. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Headers/kernel_utils.h +343 -0
  41. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/Info.plist +0 -0
  42. package/ios/cactus.xcframework/{tvos-arm64_x86_64-simulator → ios-arm64-simulator}/cactus.framework/_CodeSignature/CodeResources +1 -1
  43. package/ios/cactus.xcframework/ios-arm64-simulator/cactus.framework/cactus +0 -0
  44. package/ios/cactus_util.xcframework/Info.plist +39 -0
  45. package/ios/cactus_util.xcframework/ios-arm64/cactus_util.framework/Headers/cactus_util.h +25 -0
  46. package/ios/cactus_util.xcframework/ios-arm64/cactus_util.framework/Headers/ios_utils.h +10 -0
  47. package/ios/cactus_util.xcframework/ios-arm64/cactus_util.framework/Headers/logging.h +25 -0
  48. package/ios/cactus_util.xcframework/ios-arm64/cactus_util.framework/Info.plist +0 -0
  49. package/ios/cactus_util.xcframework/ios-arm64/cactus_util.framework/cactus_util +0 -0
  50. package/ios/cactus_util.xcframework/ios-arm64-simulator/cactus_util.framework/Headers/cactus_util.h +25 -0
  51. package/ios/cactus_util.xcframework/ios-arm64-simulator/cactus_util.framework/Headers/ios_utils.h +10 -0
  52. package/ios/cactus_util.xcframework/ios-arm64-simulator/cactus_util.framework/Headers/logging.h +25 -0
  53. package/ios/{cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework → cactus_util.xcframework/ios-arm64-simulator/cactus_util.framework}/Info.plist +0 -0
  54. package/ios/{cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework → cactus_util.xcframework/ios-arm64-simulator/cactus_util.framework}/_CodeSignature/CodeResources +36 -2
  55. package/ios/cactus_util.xcframework/ios-arm64-simulator/cactus_util.framework/cactus_util +0 -0
  56. package/lib/module/api/Database.js +60 -0
  57. package/lib/module/api/Database.js.map +1 -0
  58. package/lib/module/classes/CactusLM.js +151 -0
  59. package/lib/module/classes/CactusLM.js.map +1 -0
  60. package/lib/module/config/CactusConfig.js +6 -0
  61. package/lib/module/config/CactusConfig.js.map +1 -0
  62. package/lib/module/constants/packageVersion.js +4 -0
  63. package/lib/module/constants/packageVersion.js.map +1 -0
  64. package/lib/module/hooks/useCactusLM.js +238 -0
  65. package/lib/module/hooks/useCactusLM.js.map +1 -0
  66. package/lib/module/index.js +9 -409
  67. package/lib/module/index.js.map +1 -1
  68. package/lib/module/native/Cactus.js +50 -0
  69. package/lib/module/native/Cactus.js.map +1 -0
  70. package/lib/module/native/CactusCrypto.js +10 -0
  71. package/lib/module/native/CactusCrypto.js.map +1 -0
  72. package/lib/module/native/CactusDeviceInfo.js +13 -0
  73. package/lib/module/native/CactusDeviceInfo.js.map +1 -0
  74. package/lib/module/native/CactusFileSystem.js +35 -0
  75. package/lib/module/native/CactusFileSystem.js.map +1 -0
  76. package/lib/module/native/CactusUtil.js +23 -0
  77. package/lib/module/native/CactusUtil.js.map +1 -0
  78. package/lib/module/native/index.js +8 -0
  79. package/lib/module/native/index.js.map +1 -0
  80. package/lib/module/specs/Cactus.nitro.js +4 -0
  81. package/lib/module/specs/Cactus.nitro.js.map +1 -0
  82. package/lib/module/specs/CactusCrypto.nitro.js +4 -0
  83. package/lib/module/specs/CactusCrypto.nitro.js.map +1 -0
  84. package/lib/module/specs/CactusDeviceInfo.nitro.js +4 -0
  85. package/lib/module/specs/CactusDeviceInfo.nitro.js.map +1 -0
  86. package/lib/module/specs/CactusFileSystem.nitro.js +4 -0
  87. package/lib/module/specs/CactusFileSystem.nitro.js.map +1 -0
  88. package/lib/module/specs/CactusUtil.nitro.js +4 -0
  89. package/lib/module/specs/CactusUtil.nitro.js.map +1 -0
  90. package/lib/module/telemetry/Telemetry.js +100 -0
  91. package/lib/module/telemetry/Telemetry.js.map +1 -0
  92. package/lib/module/types/CactusLM.js +2 -0
  93. package/lib/module/types/CactusLM.js.map +1 -0
  94. package/lib/module/types/CactusModel.js +2 -0
  95. package/lib/module/types/CactusModel.js.map +1 -0
  96. package/lib/module/utils/error.js +4 -0
  97. package/lib/module/utils/error.js.map +1 -0
  98. package/lib/typescript/package.json +1 -0
  99. package/lib/typescript/src/api/Database.d.ts +11 -0
  100. package/lib/typescript/src/api/Database.d.ts.map +1 -0
  101. package/lib/typescript/src/classes/CactusLM.d.ts +26 -0
  102. package/lib/typescript/src/classes/CactusLM.d.ts.map +1 -0
  103. package/lib/typescript/src/config/CactusConfig.d.ts +5 -0
  104. package/lib/typescript/src/config/CactusConfig.d.ts.map +1 -0
  105. package/lib/typescript/src/constants/packageVersion.d.ts +2 -0
  106. package/lib/typescript/src/constants/packageVersion.d.ts.map +1 -0
  107. package/lib/typescript/src/hooks/useCactusLM.d.ts +20 -0
  108. package/lib/typescript/src/hooks/useCactusLM.d.ts.map +1 -0
  109. package/lib/typescript/src/index.d.ts +6 -0
  110. package/lib/typescript/src/index.d.ts.map +1 -0
  111. package/lib/typescript/src/native/Cactus.d.ts +11 -0
  112. package/lib/typescript/src/native/Cactus.d.ts.map +1 -0
  113. package/lib/typescript/src/native/CactusCrypto.d.ts +5 -0
  114. package/lib/typescript/src/native/CactusCrypto.d.ts.map +1 -0
  115. package/lib/typescript/src/native/CactusDeviceInfo.d.ts +7 -0
  116. package/lib/typescript/src/native/CactusDeviceInfo.d.ts.map +1 -0
  117. package/lib/typescript/src/native/CactusFileSystem.d.ts +13 -0
  118. package/lib/typescript/src/native/CactusFileSystem.d.ts.map +1 -0
  119. package/lib/typescript/src/native/CactusUtil.d.ts +6 -0
  120. package/lib/typescript/src/native/CactusUtil.d.ts.map +1 -0
  121. package/lib/typescript/src/native/index.d.ts +6 -0
  122. package/lib/typescript/src/native/index.d.ts.map +1 -0
  123. package/lib/typescript/src/specs/Cactus.nitro.d.ts +13 -0
  124. package/lib/typescript/src/specs/Cactus.nitro.d.ts.map +1 -0
  125. package/lib/typescript/src/specs/CactusCrypto.nitro.d.ts +8 -0
  126. package/lib/typescript/src/specs/CactusCrypto.nitro.d.ts.map +1 -0
  127. package/lib/typescript/src/specs/CactusDeviceInfo.nitro.d.ts +16 -0
  128. package/lib/typescript/src/specs/CactusDeviceInfo.nitro.d.ts.map +1 -0
  129. package/lib/typescript/src/specs/CactusFileSystem.nitro.d.ts +16 -0
  130. package/lib/typescript/src/specs/CactusFileSystem.nitro.d.ts.map +1 -0
  131. package/lib/typescript/src/specs/CactusUtil.nitro.d.ts +10 -0
  132. package/lib/typescript/src/specs/CactusUtil.nitro.d.ts.map +1 -0
  133. package/lib/typescript/src/telemetry/Telemetry.d.ts +30 -0
  134. package/lib/typescript/src/telemetry/Telemetry.d.ts.map +1 -0
  135. package/lib/typescript/src/types/CactusLM.d.ts +67 -0
  136. package/lib/typescript/src/types/CactusLM.d.ts.map +1 -0
  137. package/lib/typescript/src/types/CactusModel.d.ts +12 -0
  138. package/lib/typescript/src/types/CactusModel.d.ts.map +1 -0
  139. package/lib/typescript/src/utils/error.d.ts +2 -0
  140. package/lib/typescript/src/utils/error.d.ts.map +1 -0
  141. package/nitro.json +31 -0
  142. package/nitrogen/generated/android/c++/JDeviceInfo.hpp +74 -0
  143. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +74 -0
  144. package/nitrogen/generated/android/c++/JHybridCactusCryptoSpec.cpp +65 -0
  145. package/nitrogen/generated/android/c++/JHybridCactusCryptoSpec.hpp +65 -0
  146. package/nitrogen/generated/android/c++/JHybridCactusDeviceInfoSpec.cpp +85 -0
  147. package/nitrogen/generated/android/c++/JHybridCactusDeviceInfoSpec.hpp +66 -0
  148. package/nitrogen/generated/android/c++/JHybridCactusFileSystemSpec.cpp +192 -0
  149. package/nitrogen/generated/android/c++/JHybridCactusFileSystemSpec.hpp +73 -0
  150. package/nitrogen/generated/android/cactus+autolinking.cmake +87 -0
  151. package/nitrogen/generated/android/cactus+autolinking.gradle +27 -0
  152. package/nitrogen/generated/android/cactusOnLoad.cpp +86 -0
  153. package/nitrogen/generated/android/cactusOnLoad.hpp +25 -0
  154. package/nitrogen/generated/android/kotlin/com/margelo/nitro/cactus/DeviceInfo.kt +50 -0
  155. package/nitrogen/generated/android/kotlin/com/margelo/nitro/cactus/Func_void_double.kt +80 -0
  156. package/nitrogen/generated/android/kotlin/com/margelo/nitro/cactus/HybridCactusCryptoSpec.kt +58 -0
  157. package/nitrogen/generated/android/kotlin/com/margelo/nitro/cactus/HybridCactusDeviceInfoSpec.kt +62 -0
  158. package/nitrogen/generated/android/kotlin/com/margelo/nitro/cactus/HybridCactusFileSystemSpec.kt +95 -0
  159. package/nitrogen/generated/android/kotlin/com/margelo/nitro/cactus/cactusOnLoad.kt +35 -0
  160. package/nitrogen/generated/ios/Cactus+autolinking.rb +60 -0
  161. package/nitrogen/generated/ios/Cactus-Swift-Cxx-Bridge.cpp +122 -0
  162. package/nitrogen/generated/ios/Cactus-Swift-Cxx-Bridge.hpp +373 -0
  163. package/nitrogen/generated/ios/Cactus-Swift-Cxx-Umbrella.hpp +60 -0
  164. package/nitrogen/generated/ios/CactusAutolinking.mm +69 -0
  165. package/nitrogen/generated/ios/CactusAutolinking.swift +55 -0
  166. package/nitrogen/generated/ios/c++/HybridCactusCryptoSpecSwift.cpp +11 -0
  167. package/nitrogen/generated/ios/c++/HybridCactusCryptoSpecSwift.hpp +77 -0
  168. package/nitrogen/generated/ios/c++/HybridCactusDeviceInfoSpecSwift.cpp +11 -0
  169. package/nitrogen/generated/ios/c++/HybridCactusDeviceInfoSpecSwift.hpp +88 -0
  170. package/nitrogen/generated/ios/c++/HybridCactusFileSystemSpecSwift.cpp +11 -0
  171. package/nitrogen/generated/ios/c++/HybridCactusFileSystemSpecSwift.hpp +143 -0
  172. package/nitrogen/generated/ios/swift/DeviceInfo.swift +98 -0
  173. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  174. package/nitrogen/generated/ios/swift/Func_void_DeviceInfo.swift +47 -0
  175. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  176. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  177. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
  178. package/nitrogen/generated/ios/swift/Func_void_std__optional_std__string_.swift +54 -0
  179. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +47 -0
  180. package/nitrogen/generated/ios/swift/HybridCactusCryptoSpec.swift +57 -0
  181. package/nitrogen/generated/ios/swift/HybridCactusCryptoSpec_cxx.swift +139 -0
  182. package/nitrogen/generated/ios/swift/HybridCactusDeviceInfoSpec.swift +58 -0
  183. package/nitrogen/generated/ios/swift/HybridCactusDeviceInfoSpec_cxx.swift +164 -0
  184. package/nitrogen/generated/ios/swift/HybridCactusFileSystemSpec.swift +65 -0
  185. package/nitrogen/generated/ios/swift/HybridCactusFileSystemSpec_cxx.swift +303 -0
  186. package/nitrogen/generated/shared/c++/DeviceInfo.hpp +92 -0
  187. package/nitrogen/generated/shared/c++/HybridCactusCryptoSpec.cpp +21 -0
  188. package/nitrogen/generated/shared/c++/HybridCactusCryptoSpec.hpp +63 -0
  189. package/nitrogen/generated/shared/c++/HybridCactusDeviceInfoSpec.cpp +22 -0
  190. package/nitrogen/generated/shared/c++/HybridCactusDeviceInfoSpec.hpp +67 -0
  191. package/nitrogen/generated/shared/c++/HybridCactusFileSystemSpec.cpp +29 -0
  192. package/nitrogen/generated/shared/c++/HybridCactusFileSystemSpec.hpp +73 -0
  193. package/nitrogen/generated/shared/c++/HybridCactusSpec.cpp +26 -0
  194. package/nitrogen/generated/shared/c++/HybridCactusSpec.hpp +71 -0
  195. package/nitrogen/generated/shared/c++/HybridCactusUtilSpec.cpp +23 -0
  196. package/nitrogen/generated/shared/c++/HybridCactusUtilSpec.hpp +66 -0
  197. package/package.json +84 -143
  198. package/src/api/Database.ts +83 -0
  199. package/src/classes/CactusLM.ts +205 -0
  200. package/src/config/CactusConfig.ts +4 -0
  201. package/src/constants/packageVersion.ts +1 -0
  202. package/src/hooks/useCactusLM.ts +285 -0
  203. package/src/index.tsx +23 -0
  204. package/src/native/Cactus.ts +83 -0
  205. package/src/native/CactusCrypto.ts +11 -0
  206. package/src/native/CactusDeviceInfo.ts +18 -0
  207. package/src/native/CactusFileSystem.ts +47 -0
  208. package/src/native/CactusUtil.ts +27 -0
  209. package/src/native/index.ts +5 -0
  210. package/src/specs/Cactus.nitro.ts +20 -0
  211. package/src/specs/CactusCrypto.nitro.ts +6 -0
  212. package/src/specs/CactusDeviceInfo.nitro.ts +15 -0
  213. package/src/specs/CactusFileSystem.nitro.ts +21 -0
  214. package/src/specs/CactusUtil.nitro.ts +8 -0
  215. package/src/telemetry/Telemetry.ts +159 -0
  216. package/src/types/CactusLM.ts +73 -0
  217. package/src/types/CactusModel.ts +14 -0
  218. package/src/utils/error.ts +2 -0
  219. package/LICENSE.txt +0 -20
  220. package/android/src/main/CMakeLists.txt +0 -140
  221. package/android/src/main/java/com/cactus/Cactus.java +0 -1190
  222. package/android/src/main/java/com/cactus/CactusPackage.java +0 -48
  223. package/android/src/main/java/com/cactus/LlamaContext.java +0 -748
  224. package/android/src/main/jni-utils.h +0 -100
  225. package/android/src/main/jni.cpp +0 -1605
  226. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  227. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  228. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  229. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  230. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  231. package/android/src/newarch/java/com/cactus/CactusModule.java +0 -204
  232. package/android/src/oldarch/java/com/cactus/CactusModule.java +0 -205
  233. package/cactus-react-native.podspec +0 -42
  234. package/ios/CMakeLists.txt +0 -131
  235. package/ios/Cactus.h +0 -6
  236. package/ios/Cactus.mm +0 -681
  237. package/ios/CactusContext.h +0 -81
  238. package/ios/CactusContext.mm +0 -1032
  239. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/chat.h +0 -145
  240. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/common.h +0 -674
  241. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-alloc.h +0 -76
  242. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-backend-impl.h +0 -255
  243. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-backend.h +0 -354
  244. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-common.h +0 -1857
  245. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpp.h +0 -39
  246. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu.h +0 -143
  247. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-impl.h +0 -601
  248. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-metal-impl.h +0 -622
  249. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-metal.h +0 -66
  250. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-opt.h +0 -237
  251. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-quants.h +0 -100
  252. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-threading.h +0 -14
  253. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml.h +0 -2202
  254. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/gguf.h +0 -202
  255. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/json-schema-to-grammar.h +0 -21
  256. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/json.hpp +0 -24766
  257. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-adapter.h +0 -76
  258. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-arch.h +0 -437
  259. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-batch.h +0 -89
  260. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-chat.h +0 -58
  261. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-context.h +0 -276
  262. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-cparams.h +0 -39
  263. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-cpp.h +0 -30
  264. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-grammar.h +0 -173
  265. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-graph.h +0 -640
  266. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-hparams.h +0 -190
  267. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-impl.h +0 -61
  268. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-io.h +0 -35
  269. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-kv-cache.h +0 -515
  270. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-memory.h +0 -32
  271. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-mmap.h +0 -68
  272. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model-loader.h +0 -169
  273. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model-saver.h +0 -37
  274. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model.h +0 -425
  275. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-sampling.h +0 -32
  276. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-vocab.h +0 -131
  277. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama.h +0 -1376
  278. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/log.h +0 -103
  279. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/chat-template.hpp +0 -542
  280. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/minja.hpp +0 -2974
  281. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/sampling.h +0 -107
  282. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/unicode-data.h +0 -20
  283. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/unicode.h +0 -66
  284. package/ios/cactus.xcframework/ios-arm64/cactus.framework/ggml-llama.metallib +0 -0
  285. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus.h +0 -232
  286. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -256
  287. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/chat.h +0 -145
  288. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/common.h +0 -674
  289. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-alloc.h +0 -76
  290. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend-impl.h +0 -255
  291. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend.h +0 -354
  292. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-common.h +0 -1857
  293. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpp.h +0 -39
  294. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu.h +0 -143
  295. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-impl.h +0 -601
  296. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal-impl.h +0 -622
  297. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal.h +0 -66
  298. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-opt.h +0 -237
  299. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-quants.h +0 -100
  300. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-threading.h +0 -14
  301. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml.h +0 -2202
  302. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/gguf.h +0 -202
  303. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/json-schema-to-grammar.h +0 -21
  304. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/json.hpp +0 -24766
  305. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-adapter.h +0 -76
  306. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-arch.h +0 -437
  307. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-batch.h +0 -89
  308. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-chat.h +0 -58
  309. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-context.h +0 -276
  310. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-cparams.h +0 -39
  311. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-cpp.h +0 -30
  312. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-grammar.h +0 -173
  313. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-graph.h +0 -640
  314. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-hparams.h +0 -190
  315. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-impl.h +0 -61
  316. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-io.h +0 -35
  317. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-kv-cache.h +0 -515
  318. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-memory.h +0 -32
  319. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-mmap.h +0 -68
  320. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-loader.h +0 -169
  321. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-saver.h +0 -37
  322. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model.h +0 -425
  323. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-sampling.h +0 -32
  324. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-vocab.h +0 -131
  325. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama.h +0 -1376
  326. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/log.h +0 -103
  327. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +0 -542
  328. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/minja.hpp +0 -2974
  329. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/sampling.h +0 -107
  330. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/unicode-data.h +0 -20
  331. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/unicode.h +0 -66
  332. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  333. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/ggml-llama-sim.metallib +0 -0
  334. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus.h +0 -232
  335. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus_ffi.h +0 -256
  336. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/chat.h +0 -145
  337. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/common.h +0 -674
  338. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-alloc.h +0 -76
  339. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-backend-impl.h +0 -255
  340. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-backend.h +0 -354
  341. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-common.h +0 -1857
  342. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpp.h +0 -39
  343. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu.h +0 -143
  344. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-impl.h +0 -601
  345. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-metal-impl.h +0 -622
  346. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-metal.h +0 -66
  347. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-opt.h +0 -237
  348. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-quants.h +0 -100
  349. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-threading.h +0 -14
  350. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml.h +0 -2202
  351. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/gguf.h +0 -202
  352. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/json-schema-to-grammar.h +0 -21
  353. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/json.hpp +0 -24766
  354. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-adapter.h +0 -76
  355. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-arch.h +0 -437
  356. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-batch.h +0 -89
  357. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-chat.h +0 -58
  358. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-context.h +0 -276
  359. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-cparams.h +0 -39
  360. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-cpp.h +0 -30
  361. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-grammar.h +0 -173
  362. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-graph.h +0 -640
  363. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-hparams.h +0 -190
  364. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-impl.h +0 -61
  365. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-io.h +0 -35
  366. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-kv-cache.h +0 -515
  367. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-memory.h +0 -32
  368. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-mmap.h +0 -68
  369. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model-loader.h +0 -169
  370. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model-saver.h +0 -37
  371. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model.h +0 -425
  372. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-sampling.h +0 -32
  373. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-vocab.h +0 -131
  374. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama.h +0 -1376
  375. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/log.h +0 -103
  376. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/chat-template.hpp +0 -542
  377. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/minja.hpp +0 -2974
  378. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/sampling.h +0 -107
  379. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/unicode-data.h +0 -20
  380. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/unicode.h +0 -66
  381. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Info.plist +0 -0
  382. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/cactus +0 -0
  383. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/ggml-llama.metallib +0 -0
  384. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus.h +0 -232
  385. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +0 -256
  386. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/chat.h +0 -145
  387. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/common.h +0 -674
  388. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-alloc.h +0 -76
  389. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend-impl.h +0 -255
  390. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend.h +0 -354
  391. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-common.h +0 -1857
  392. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpp.h +0 -39
  393. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu.h +0 -143
  394. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-impl.h +0 -601
  395. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal-impl.h +0 -622
  396. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal.h +0 -66
  397. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-opt.h +0 -237
  398. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-quants.h +0 -100
  399. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-threading.h +0 -14
  400. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml.h +0 -2202
  401. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/gguf.h +0 -202
  402. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/json-schema-to-grammar.h +0 -21
  403. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/json.hpp +0 -24766
  404. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-adapter.h +0 -76
  405. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-arch.h +0 -437
  406. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-batch.h +0 -89
  407. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-chat.h +0 -58
  408. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-context.h +0 -276
  409. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-cparams.h +0 -39
  410. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-cpp.h +0 -30
  411. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-grammar.h +0 -173
  412. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-graph.h +0 -640
  413. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-hparams.h +0 -190
  414. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-impl.h +0 -61
  415. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-io.h +0 -35
  416. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-kv-cache.h +0 -515
  417. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-memory.h +0 -32
  418. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-mmap.h +0 -68
  419. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-loader.h +0 -169
  420. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-saver.h +0 -37
  421. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model.h +0 -425
  422. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-sampling.h +0 -32
  423. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-vocab.h +0 -131
  424. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama.h +0 -1376
  425. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/log.h +0 -103
  426. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +0 -542
  427. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/minja.hpp +0 -2974
  428. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/sampling.h +0 -107
  429. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/unicode-data.h +0 -20
  430. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/unicode.h +0 -66
  431. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  432. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  433. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/ggml-llama-sim.metallib +0 -0
  434. package/lib/commonjs/NativeCactus.js +0 -9
  435. package/lib/commonjs/NativeCactus.js.map +0 -1
  436. package/lib/commonjs/agent.js +0 -73
  437. package/lib/commonjs/agent.js.map +0 -1
  438. package/lib/commonjs/chat.js +0 -73
  439. package/lib/commonjs/chat.js.map +0 -1
  440. package/lib/commonjs/index.js +0 -523
  441. package/lib/commonjs/index.js.map +0 -1
  442. package/lib/commonjs/lm.js +0 -272
  443. package/lib/commonjs/lm.js.map +0 -1
  444. package/lib/commonjs/package.json +0 -1
  445. package/lib/commonjs/projectId.js +0 -9
  446. package/lib/commonjs/projectId.js.map +0 -1
  447. package/lib/commonjs/remote.js +0 -100
  448. package/lib/commonjs/remote.js.map +0 -1
  449. package/lib/commonjs/telemetry.js +0 -102
  450. package/lib/commonjs/telemetry.js.map +0 -1
  451. package/lib/commonjs/tools.js +0 -72
  452. package/lib/commonjs/tools.js.map +0 -1
  453. package/lib/commonjs/tts.js +0 -141
  454. package/lib/commonjs/tts.js.map +0 -1
  455. package/lib/commonjs/vlm.js +0 -221
  456. package/lib/commonjs/vlm.js.map +0 -1
  457. package/lib/module/NativeCactus.js +0 -5
  458. package/lib/module/NativeCactus.js.map +0 -1
  459. package/lib/module/agent.js +0 -68
  460. package/lib/module/agent.js.map +0 -1
  461. package/lib/module/chat.js +0 -67
  462. package/lib/module/chat.js.map +0 -1
  463. package/lib/module/lm.js +0 -267
  464. package/lib/module/lm.js.map +0 -1
  465. package/lib/module/projectId.js +0 -5
  466. package/lib/module/projectId.js.map +0 -1
  467. package/lib/module/remote.js +0 -91
  468. package/lib/module/remote.js.map +0 -1
  469. package/lib/module/telemetry.js +0 -97
  470. package/lib/module/telemetry.js.map +0 -1
  471. package/lib/module/tools.js +0 -66
  472. package/lib/module/tools.js.map +0 -1
  473. package/lib/module/tts.js +0 -135
  474. package/lib/module/tts.js.map +0 -1
  475. package/lib/module/vlm.js +0 -216
  476. package/lib/module/vlm.js.map +0 -1
  477. package/lib/typescript/NativeCactus.d.ts +0 -252
  478. package/lib/typescript/NativeCactus.d.ts.map +0 -1
  479. package/lib/typescript/agent.d.ts +0 -31
  480. package/lib/typescript/agent.d.ts.map +0 -1
  481. package/lib/typescript/chat.d.ts +0 -23
  482. package/lib/typescript/chat.d.ts.map +0 -1
  483. package/lib/typescript/index.d.ts +0 -114
  484. package/lib/typescript/index.d.ts.map +0 -1
  485. package/lib/typescript/lm.d.ts +0 -36
  486. package/lib/typescript/lm.d.ts.map +0 -1
  487. package/lib/typescript/projectId.d.ts +0 -2
  488. package/lib/typescript/projectId.d.ts.map +0 -1
  489. package/lib/typescript/remote.d.ts +0 -8
  490. package/lib/typescript/remote.d.ts.map +0 -1
  491. package/lib/typescript/telemetry.d.ts +0 -25
  492. package/lib/typescript/telemetry.d.ts.map +0 -1
  493. package/lib/typescript/tools.d.ts +0 -36
  494. package/lib/typescript/tools.d.ts.map +0 -1
  495. package/lib/typescript/tts.d.ts +0 -54
  496. package/lib/typescript/tts.d.ts.map +0 -1
  497. package/lib/typescript/vlm.d.ts +0 -33
  498. package/lib/typescript/vlm.d.ts.map +0 -1
  499. package/scripts/postInstall.js +0 -33
  500. package/src/NativeCactus.ts +0 -317
  501. package/src/agent.ts +0 -112
  502. package/src/chat.ts +0 -91
  503. package/src/index.ts +0 -663
  504. package/src/lm.ts +0 -324
  505. package/src/projectId.ts +0 -1
  506. package/src/remote.ts +0 -113
  507. package/src/telemetry.ts +0 -137
  508. package/src/tools.ts +0 -94
  509. package/src/tts.ts +0 -236
  510. package/src/vlm.ts +0 -276
@@ -0,0 +1,338 @@
1
+ #ifndef GRAPH_H
2
+ #define GRAPH_H
3
+
4
+ #include <vector>
5
+ #include <memory>
6
+ #include <unordered_map>
7
+ #include <functional>
8
+ #include <cstring>
9
+ #include <stdexcept>
10
+ #include <string>
11
+
12
+ namespace GraphFile {
13
+ class MappedFile;
14
+ }
15
+
16
+ enum class Precision {
17
+ INT8,
18
+ FP16,
19
+ FP32
20
+ };
21
+
22
+ enum class ComputeBackend {
23
+ CPU,
24
+ NPU
25
+ };
26
+
27
+ enum class OpType {
28
+ INPUT, PRECISION_CAST,
29
+ ADD, ADD_CLIPPED, SUBTRACT, MULTIPLY, DIVIDE,
30
+ MATMUL, TRANSPOSE, RESHAPE, SLICE, GATHER, EMBEDDING,
31
+ BILINEAR_INTERPOLATION,
32
+ SUM, MEAN, VARIANCE, MIN, MAX,
33
+ RMS_NORM, ROPE, SOFTMAX, ATTENTION, CONV1D_CAUSAL, CONV1D_K3,
34
+ SCALAR_ADD, SCALAR_SUBTRACT, SCALAR_MULTIPLY, SCALAR_DIVIDE, SCALAR_EXP, SCALAR_SQRT, SCALAR_COS, SCALAR_SIN,
35
+ SILU, GELU,
36
+ SAMPLE, CONCAT,
37
+ SCATTER_TOPK,
38
+ TOPK, LAYERNORM,
39
+ INDEX,
40
+ };
41
+
42
+ struct PrecisionTraits {
43
+ static constexpr size_t size_of(Precision prec) {
44
+ switch (prec) {
45
+ case Precision::INT8: return 1;
46
+ case Precision::FP16: return 2;
47
+ case Precision::FP32: return 4;
48
+ }
49
+ return 1;
50
+ }
51
+
52
+ static constexpr bool is_integer(Precision prec) {
53
+ switch (prec) {
54
+ case Precision::INT8: return true;
55
+ case Precision::FP16: return false;
56
+ case Precision::FP32: return false;
57
+ }
58
+ return true;
59
+ }
60
+
61
+ static constexpr bool is_floating_point(Precision prec) {
62
+ switch (prec) {
63
+ case Precision::INT8: return false;
64
+ case Precision::FP16: return true;
65
+ case Precision::FP32: return true;
66
+ }
67
+ return false;
68
+ }
69
+ };
70
+
71
+ namespace Quantization {
72
+ void int8_to_fp32(const int8_t* src, float* dst, size_t count, float scale = 1.0f);
73
+ void fp32_to_int8(const float* src, int8_t* dst, size_t count, float scale = 1.0f);
74
+ void dynamic_quantize_fp32_to_int8(const float* src, int8_t* dst, size_t count,
75
+ float* computed_scale);
76
+ void fp16_to_fp32(const __fp16* src, float* dst, size_t count);
77
+ void fp32_to_fp16(const float* src, __fp16* dst, size_t count);
78
+ void int8_to_fp16(const int8_t* src, __fp16* dst, size_t count, float scale = 1.0f);
79
+ void fp16_to_int8(const __fp16* src, int8_t* dst, size_t count, float scale = 1.0f);
80
+ }
81
+
82
+ struct TensorConfig {
83
+ Precision default_precision = Precision::INT8;
84
+ Precision compute_precision = Precision::INT8;
85
+ Precision output_precision = Precision::INT8;
86
+ bool auto_mixed_precision = false;
87
+ bool enable_int4_packing = true;
88
+
89
+ static TensorConfig& global();
90
+ };
91
+
92
+ struct BroadcastInfo {
93
+ std::vector<size_t> output_shape;
94
+ bool needs_broadcasting;
95
+
96
+ static BroadcastInfo compute(const std::vector<size_t>& lhs, const std::vector<size_t>& rhs);
97
+ };
98
+
99
+ struct BufferDesc {
100
+ std::vector<size_t> shape;
101
+ size_t total_size;
102
+ size_t byte_size;
103
+ std::unique_ptr<char[]> data;
104
+ void* external_data;
105
+ Precision precision;
106
+ float quantization_scale;
107
+
108
+ BufferDesc();
109
+ BufferDesc(const std::vector<size_t>& s, Precision prec = Precision::INT8, float scale = 1.0f);
110
+
111
+ void* get_data();
112
+ const void* get_data() const;
113
+
114
+ template<typename T>
115
+ T* data_as() { return static_cast<T*>(get_data()); }
116
+
117
+ template<typename T>
118
+ const T* data_as() const { return static_cast<const T*>(get_data()); }
119
+
120
+ void allocate();
121
+ void set_external(void* ptr);
122
+ };
123
+
124
+ struct OpParams {
125
+ float scalar = 0.0f;
126
+ float scale = 1.0f;
127
+ float theta = 10000.0f;
128
+ float epsilon = 1e-6f;
129
+ int axis = -1;
130
+ bool pretransposed_rhs = false;
131
+ size_t position_offset = 0;
132
+ size_t slice_start = 0;
133
+ size_t slice_length = 0;
134
+ size_t window_size = 0;
135
+ bool is_causal = true; // Default to causal for backward compatibility
136
+ std::vector<size_t> new_shape;
137
+ std::vector<size_t> permutation;
138
+ Precision output_precision = Precision::INT8;
139
+ BroadcastInfo broadcast_info;
140
+ ComputeBackend backend = ComputeBackend::CPU;
141
+
142
+ size_t dilation = 1;
143
+ size_t stride = 1;
144
+ float temperature = 1.0f;
145
+ float top_p = 1.0f;
146
+ size_t top_k = 0;
147
+ size_t random_seed = 0;
148
+
149
+ size_t index_value = 0; // For INDEX operation
150
+ size_t num_classes = 0; // For scatter operations
151
+ size_t dst_height = 0;
152
+ size_t dst_width = 0;
153
+ };
154
+
155
+ struct GraphNode {
156
+ size_t id;
157
+ OpType op_type;
158
+ std::vector<size_t> input_ids;
159
+ BufferDesc output_buffer;
160
+ OpParams params;
161
+
162
+ GraphNode(size_t node_id, OpType type);
163
+ };
164
+
165
+ template<typename T>
166
+ void dispatch_binary_op(OpType op, const T* lhs, const T* rhs, T* output, size_t count);
167
+
168
+ template<typename T>
169
+ void dispatch_unary_op(OpType op, const T* input, T* output, size_t count, float param = 0.0f);
170
+
171
+ void compute_node_optimized(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
172
+ void compute_matmul_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
173
+ void compute_transpose_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
174
+ void compute_reduce_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
175
+ void compute_fused_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
176
+ void compute_reshape_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
177
+ void compute_precision_cast_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
178
+ void compute_sample_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
179
+ void compute_scatter_topk_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
180
+ void compute_topk_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
181
+ void compute_layernorm_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
182
+ void compute_index_node(GraphNode& node, const std::vector<std::unique_ptr<GraphNode>>& nodes, const std::unordered_map<size_t, size_t>& node_index_map);
183
+
184
+ namespace ValidationUtils {
185
+ void validate_tensor_dims(const std::vector<size_t>& shape, size_t required_dims, const std::string& op_name);
186
+ void validate_precision(Precision actual, Precision required, const std::string& op_name);
187
+ void validate_input_count(size_t actual, size_t required, const std::string& op_name);
188
+ }
189
+
190
+
191
+ class CactusGraph {
192
+ public:
193
+ CactusGraph();
194
+
195
+ struct DebugNodeEntry {
196
+ uint32_t layer_idx;
197
+ std::string name;
198
+ size_t node_id;
199
+ };
200
+
201
+ size_t input(const std::vector<size_t>& shape, Precision precision = Precision::INT8);
202
+ size_t precision_cast(size_t input, Precision target_precision);
203
+
204
+ size_t add(size_t input1, size_t input2);
205
+ size_t add_clipped(size_t input1, size_t input2); // For FP16 residual connections (Gemma)
206
+ size_t subtract(size_t input1, size_t input2);
207
+ size_t multiply(size_t input1, size_t input2);
208
+ size_t divide(size_t input1, size_t input2);
209
+
210
+
211
+ size_t scalar_add(size_t input, float value);
212
+ size_t scalar_subtract(size_t input, float value);
213
+ size_t scalar_multiply(size_t input, float value);
214
+ size_t scalar_divide(size_t input, float value);
215
+ size_t scalar_exp(size_t input);
216
+ size_t scalar_sqrt(size_t input);
217
+ size_t scalar_cos(size_t input);
218
+ size_t scalar_sin(size_t input);
219
+
220
+ size_t silu(size_t input);
221
+ size_t gelu(size_t input);
222
+
223
+ size_t matmul(size_t input1, size_t input2, bool pretransposed_rhs = false, ComputeBackend backend = ComputeBackend::CPU);
224
+ size_t transpose(size_t input, ComputeBackend backend = ComputeBackend::CPU);
225
+ size_t transposeN(size_t input, const std::vector<size_t>& permutation, ComputeBackend backend = ComputeBackend::CPU);
226
+ size_t reshape(size_t input, const std::vector<size_t>& new_shape);
227
+ size_t slice(size_t input, int axis, size_t start, size_t length);
228
+ size_t index(size_t input, size_t index_value, int dim);
229
+
230
+ size_t sum(size_t input, int axis);
231
+ size_t mean(size_t input, int axis);
232
+ size_t variance(size_t input, int axis);
233
+ size_t min(size_t input, int axis);
234
+ size_t max(size_t input, int axis);
235
+
236
+ size_t gather(size_t embeddings, size_t indices);
237
+ size_t mmap_embeddings(const std::string& filename);
238
+ size_t mmap_weights(const std::string& filename);
239
+ void set_quantization_scale(size_t node_id, float scale);
240
+ size_t embedding(const std::string& filename, size_t indices);
241
+ size_t embedding(size_t embedding_tensor, size_t indices);
242
+ size_t bilinear_interpolation(size_t pos_embeds, size_t dst_height, size_t dst_width);
243
+
244
+ size_t layernorm(size_t input, size_t weight, size_t bias, float epsilon = 1e-5f);
245
+ size_t topk(size_t input, size_t k);
246
+ size_t rms_norm(size_t input, size_t weight, float epsilon = 1e-5f);
247
+ size_t rope(size_t input, float theta, size_t position_offset = 0, ComputeBackend backend = ComputeBackend::CPU);
248
+ size_t softmax(size_t input, int axis = -1);
249
+ size_t attention(size_t query, size_t key, size_t value, float scale, bool is_causal = true, ComputeBackend backend = ComputeBackend::CPU);
250
+ size_t attention(size_t query, size_t key, size_t value, float scale, size_t position_offset, ComputeBackend backend = ComputeBackend::CPU);
251
+ size_t attention(size_t query, size_t key, size_t value, float scale, size_t position_offset, size_t window_size, ComputeBackend backend = ComputeBackend::CPU);
252
+
253
+ size_t conv1d_causal(size_t input, size_t weight, size_t kernel_size, size_t dilation = 1);
254
+ size_t conv1d_k3(size_t input, size_t weight, size_t stride);
255
+
256
+ size_t sample(size_t logits, float temperature = 0.6f, float top_p = 0.95f, size_t top_k = 20);
257
+
258
+ size_t concat(size_t input1, size_t input2, int axis = 0);
259
+ size_t scatter_topk(size_t indices, size_t values, size_t num_classes);
260
+
261
+ void set_input(size_t node_id, const void* data, Precision precision);
262
+ void set_external_input(size_t node_id, void* data, Precision precision);
263
+ void* get_output(size_t node_id);
264
+
265
+ void execute(const std::string& profile_file = "");
266
+ void hard_reset();
267
+ void soft_reset();
268
+
269
+ void register_debug_node(uint32_t layer_idx, const std::string& name, size_t node_id);
270
+ void capture_debug_node(uint32_t layer_idx, const std::string& name, size_t node_id);
271
+ const std::vector<DebugNodeEntry>& get_debug_nodes() const;
272
+ void clear_debug_nodes();
273
+
274
+ size_t add_node(OpType op_type, const std::vector<size_t>& inputs, const std::vector<size_t>& output_shape, const OpParams& params = {});
275
+ const BufferDesc& get_output_buffer(size_t node_id) const;
276
+ void allocate_buffers();
277
+ size_t get_node_count() const;
278
+
279
+ std::vector<std::unique_ptr<GraphNode>> nodes_;
280
+ std::unordered_map<size_t, size_t> node_index_map_;
281
+
282
+ private:
283
+ size_t next_node_id_;
284
+ std::vector<std::unique_ptr<GraphFile::MappedFile>> mapped_files_;
285
+ std::unordered_map<std::string, size_t> weight_cache_;
286
+ std::vector<DebugNodeEntry> debug_nodes_;
287
+ };
288
+
289
+
290
+ namespace GraphFile {
291
+ struct LoadedNode {
292
+ size_t node_id;
293
+ std::vector<size_t> shape;
294
+ Precision precision;
295
+ size_t byte_size;
296
+ };
297
+
298
+ void save_node(CactusGraph& graph, size_t node_id, const std::string& filename);
299
+ LoadedNode load_into_graph(CactusGraph& graph, const std::string& filename);
300
+
301
+ class MappedFile {
302
+ public:
303
+ MappedFile(const std::string& filename);
304
+ ~MappedFile();
305
+
306
+ MappedFile(const MappedFile&) = delete;
307
+ MappedFile& operator=(const MappedFile&) = delete;
308
+ MappedFile(MappedFile&& other) noexcept;
309
+ MappedFile& operator=(MappedFile&& other) noexcept;
310
+
311
+ const std::vector<size_t>& shape() const;
312
+ Precision precision() const;
313
+ size_t byte_size() const;
314
+ float quantization_scale() const;
315
+
316
+ void* data();
317
+ const void* data() const;
318
+
319
+ template<typename T>
320
+ const T* typed_data() const;
321
+
322
+ LoadedNode load_into_graph(CactusGraph& graph) const;
323
+
324
+ private:
325
+ int fd_;
326
+ void* mapped_data_;
327
+ size_t file_size_, data_offset_;
328
+ std::vector<size_t> shape_;
329
+ Precision precision_;
330
+ size_t byte_size_;
331
+ float quantization_scale_;
332
+ void parse_header();
333
+ };
334
+
335
+ MappedFile mmap_load(const std::string& filename);
336
+ }
337
+
338
+ #endif
@@ -0,0 +1,275 @@
1
+ #ifndef KERNEL_H
2
+ #define KERNEL_H
3
+
4
+ #include <cstddef>
5
+ #include <arm_neon.h>
6
+
7
+ enum class ScalarOpType {
8
+ ADD,
9
+ SUBTRACT,
10
+ MULTIPLY,
11
+ DIVIDE,
12
+ EXP,
13
+ SQRT,
14
+ COS,
15
+ SIN
16
+ };
17
+
18
+
19
+ void cactus_add_int8(const int8_t* a, const int8_t* b, int8_t* output, size_t num_elements);
20
+ void cactus_subtract_int8(const int8_t* a, const int8_t* b, int8_t* output, size_t num_elements);
21
+ void cactus_multiply_int8(const int8_t* a, const int8_t* b, int8_t* output, size_t num_elements);
22
+ void cactus_divide_int8(const int8_t* a, const int8_t* b, int8_t* output, size_t num_elements);
23
+
24
+
25
+ void cactus_add_f16(const __fp16* a, const __fp16* b, __fp16* output, size_t num_elements);
26
+ void cactus_add_f16_clipped(const __fp16* a, const __fp16* b, __fp16* output, size_t num_elements);
27
+ void cactus_subtract_f16(const __fp16* a, const __fp16* b, __fp16* output, size_t num_elements);
28
+ void cactus_multiply_f16(const __fp16* a, const __fp16* b, __fp16* output, size_t num_elements);
29
+ void cactus_divide_f16(const __fp16* a, const __fp16* b, __fp16* output, size_t num_elements);
30
+
31
+
32
+ void cactus_add_f32(const float* a, const float* b, float* output, size_t num_elements);
33
+ void cactus_subtract_f32(const float* a, const float* b, float* output, size_t num_elements);
34
+ void cactus_multiply_f32(const float* a, const float* b, float* output, size_t num_elements);
35
+ void cactus_divide_f32(const float* a, const float* b, float* output, size_t num_elements);
36
+
37
+
38
+ void cactus_add_broadcast_int8(const int8_t* a, const int8_t* b, int8_t* output,
39
+ const size_t* a_strides, const size_t* b_strides,
40
+ const size_t* output_shape, size_t ndim);
41
+ void cactus_subtract_broadcast_int8(const int8_t* a, const int8_t* b, int8_t* output,
42
+ const size_t* a_strides, const size_t* b_strides,
43
+ const size_t* output_shape, size_t ndim);
44
+ void cactus_multiply_broadcast_int8(const int8_t* a, const int8_t* b, int8_t* output,
45
+ const size_t* a_strides, const size_t* b_strides,
46
+ const size_t* output_shape, size_t ndim);
47
+ void cactus_divide_broadcast_int8(const int8_t* a, const int8_t* b, int8_t* output,
48
+ const size_t* a_strides, const size_t* b_strides,
49
+ const size_t* output_shape, size_t ndim);
50
+
51
+
52
+ void cactus_add_broadcast_f16(const __fp16* a, const __fp16* b, __fp16* output,
53
+ const size_t* a_strides, const size_t* b_strides,
54
+ const size_t* output_shape, size_t ndim);
55
+ void cactus_subtract_broadcast_f16(const __fp16* a, const __fp16* b, __fp16* output,
56
+ const size_t* a_strides, const size_t* b_strides,
57
+ const size_t* output_shape, size_t ndim);
58
+ void cactus_multiply_broadcast_f16(const __fp16* a, const __fp16* b, __fp16* output,
59
+ const size_t* a_strides, const size_t* b_strides,
60
+ const size_t* output_shape, size_t ndim);
61
+ void cactus_divide_broadcast_f16(const __fp16* a, const __fp16* b, __fp16* output,
62
+ const size_t* a_strides, const size_t* b_strides,
63
+ const size_t* output_shape, size_t ndim);
64
+
65
+
66
+ void cactus_add_broadcast_f32(const float* a, const float* b, float* output,
67
+ const size_t* a_strides, const size_t* b_strides,
68
+ const size_t* output_shape, size_t ndim);
69
+ void cactus_subtract_broadcast_f32(const float* a, const float* b, float* output,
70
+ const size_t* a_strides, const size_t* b_strides,
71
+ const size_t* output_shape, size_t ndim);
72
+ void cactus_multiply_broadcast_f32(const float* a, const float* b, float* output,
73
+ const size_t* a_strides, const size_t* b_strides,
74
+ const size_t* output_shape, size_t ndim);
75
+ void cactus_divide_broadcast_f32(const float* a, const float* b, float* output,
76
+ const size_t* a_strides, const size_t* b_strides,
77
+ const size_t* output_shape, size_t ndim);
78
+
79
+
80
+ void cactus_scalar_op_int8(const int8_t* input, int8_t* output, size_t num_elements, float scalar_value, ScalarOpType op_type);
81
+ void cactus_scalar_op_f16(const __fp16* input, __fp16* output, size_t num_elements, float scalar_value, ScalarOpType op_type);
82
+ void cactus_scalar_op_f32(const float* input, float* output, size_t num_elements, float scalar_value, ScalarOpType op_type);
83
+
84
+
85
+ void cactus_matmul_int8(const int8_t* a, const int8_t* b_transposed, int8_t* c,
86
+ size_t M, size_t K, size_t N,
87
+ float a_scale, float b_scale, float c_scale);
88
+
89
+ #if defined(__ARM_FEATURE_MATMUL_INT8)
90
+ void cactus_matmul_int8_to_int32_i8mm(const int8_t* a, const int8_t* b_transposed, int32_t* c,
91
+ size_t M, size_t K, size_t N);
92
+ #define cactus_matmul_int8_to_int32 cactus_matmul_int8_to_int32_i8mm
93
+ #else
94
+ void cactus_matmul_int8_to_int32(const int8_t* a, const int8_t* b_transposed, int32_t* c,
95
+ size_t M, size_t K, size_t N);
96
+ #endif
97
+
98
+ void cactus_matmul_f16(const __fp16* a, const __fp16* b_transposed, __fp16* c,
99
+ size_t M, size_t K, size_t N);
100
+
101
+ void cactus_matmul_f32(const float* a, const float* b_transposed, float* c,
102
+ size_t M, size_t K, size_t N);
103
+
104
+
105
+ void cactus_transpose_2d_int8(const int8_t* source, int8_t* destination,
106
+ size_t num_rows, size_t num_cols, size_t start_row, size_t end_row);
107
+ void cactus_transpose_2d_f32(const float* source, float* destination,
108
+ size_t num_rows, size_t num_cols, size_t start_row, size_t end_row);
109
+
110
+ void cactus_transpose_int8(const int8_t* source, int8_t* destination, const size_t* shape,
111
+ const size_t* permutation, size_t ndim, size_t start_idx, size_t end_idx);
112
+ void cactus_transpose_f32(const float* source, float* destination, const size_t* shape,
113
+ const size_t* permutation, size_t ndim, size_t start_idx, size_t end_idx);
114
+
115
+ int64_t cactus_sum_all_int8(const int8_t* data, size_t num_elements);
116
+ void cactus_sum_axis_int8(const int8_t* input, int8_t* output, size_t outer_size, size_t axis_size, size_t inner_size);
117
+ double cactus_sum_all_f32(const float* data, size_t num_elements);
118
+ void cactus_sum_axis_f32(const float* input, float* output, size_t outer_size, size_t axis_size, size_t inner_size);
119
+
120
+ double cactus_mean_all_int8(const int8_t* data, size_t num_elements);
121
+ void cactus_mean_axis_int8(const int8_t* input, int8_t* output, size_t outer_size, size_t axis_size, size_t inner_size);
122
+ double cactus_mean_all_f16(const __fp16* data, size_t num_elements);
123
+ void cactus_mean_axis_f16(const __fp16* input, __fp16* output, size_t outer_size, size_t axis_size, size_t inner_size);
124
+ double cactus_mean_all_f32(const float* data, size_t num_elements);
125
+ void cactus_mean_axis_f32(const float* input, float* output, size_t outer_size, size_t axis_size, size_t inner_size);
126
+
127
+ double cactus_variance_all_int8(const int8_t* data, size_t num_elements);
128
+ void cactus_variance_axis_int8(const int8_t* input, int8_t* output, size_t outer_size, size_t axis_size, size_t inner_size);
129
+ double cactus_variance_all_f32(const float* data, size_t num_elements);
130
+ void cactus_variance_axis_f32(const float* input, float* output, size_t outer_size, size_t axis_size, size_t inner_size);
131
+
132
+ int64_t cactus_min_all_int8(const int8_t* data, size_t num_elements);
133
+ void cactus_min_axis_int8(const int8_t* input, int8_t* output, size_t outer_size, size_t axis_size, size_t inner_size);
134
+ float cactus_min_all_f32(const float* data, size_t num_elements);
135
+ void cactus_min_axis_f32(const float* input, float* output, size_t outer_size, size_t axis_size, size_t inner_size);
136
+
137
+ int64_t cactus_max_all_int8(const int8_t* data, size_t num_elements);
138
+ void cactus_max_axis_int8(const int8_t* input, int8_t* output, size_t outer_size, size_t axis_size, size_t inner_size);
139
+ float cactus_max_all_f32(const float* data, size_t num_elements);
140
+ void cactus_max_axis_f32(const float* input, float* output, size_t outer_size, size_t axis_size, size_t inner_size);
141
+
142
+ void cactus_rms_norm_f16(const __fp16* input, const __fp16* weight, __fp16* output,
143
+ size_t batch_size, size_t dims, float eps);
144
+
145
+ void cactus_rms_norm_f32(const float* input, const float* weight, float* output,
146
+ size_t batch_size, size_t dims, float eps);
147
+
148
+ void cactus_rms_norm_i8_f32(const int8_t* input, const float* weight, float* output,
149
+ size_t batch_size, size_t dims, float eps, float input_scale);
150
+
151
+ void cactus_rope_f16(const __fp16* input, __fp16* output, size_t batch_size, size_t seq_len,
152
+ size_t num_heads, size_t head_dim, size_t start_pos, float theta);
153
+
154
+ void cactus_rope_f32(const float* input, float* output, size_t batch_size, size_t seq_len,
155
+ size_t num_heads, size_t head_dim, size_t start_pos, float theta);
156
+
157
+ void cactus_rope_i8_f32_i8(const int8_t* input, int8_t* output, size_t batch_size, size_t seq_len,
158
+ size_t num_heads, size_t head_dim, size_t start_pos, float theta,
159
+ float input_scale, float output_scale);
160
+
161
+ void cactus_softmax_f16(const __fp16* input, __fp16* output, size_t batch_size,
162
+ size_t seq_len, size_t vocab_size);
163
+
164
+ void cactus_softmax_f32(const float* input, float* output, size_t batch_size,
165
+ size_t seq_len, size_t vocab_size);
166
+
167
+ void cactus_silu_f32(const float* input, float* output, size_t num_elements);
168
+ void cactus_silu_f16(const __fp16* input, __fp16* output, size_t num_elements);
169
+ void cactus_silu_int8(const int8_t* input, int8_t* output, size_t num_elements,
170
+ float input_scale, float output_scale);
171
+
172
+ void cactus_gelu_f32(const float* input, float* output, size_t num_elements);
173
+ void cactus_gelu_f16(const __fp16* input, __fp16* output, size_t num_elements);
174
+ void cactus_gelu_int8(const int8_t* input, int8_t* output, size_t num_elements,
175
+ float input_scale, float output_scale);
176
+
177
+
178
+ void cactus_attention_int8(const int8_t* queries, const int8_t* keys, const int8_t* values, int8_t* output,
179
+ size_t batch_size, size_t seq_len, size_t kv_seq_len, size_t num_q_heads, size_t num_kv_heads,
180
+ size_t head_dim, float scale, const int8_t* mask,
181
+ float q_scale, float k_scale, float v_scale, float output_scale, size_t position_offset = 0, size_t window_size = 0,
182
+ bool is_causal = true);
183
+
184
+ void cactus_attention_f16(const __fp16* queries, const __fp16* keys, const __fp16* values, __fp16* output,
185
+ size_t batch_size, size_t seq_len, size_t kv_seq_len, size_t num_q_heads, size_t num_kv_heads,
186
+ size_t head_dim, float scale, const __fp16* mask, size_t position_offset = 0, size_t window_size = 0,
187
+ bool is_causal = true);
188
+
189
+ void cactus_attention_f32(const float* queries, const float* keys, const float* values, float* output,
190
+ size_t batch_size, size_t seq_len, size_t kv_seq_len, size_t num_q_heads, size_t num_kv_heads,
191
+ size_t head_dim, float scale, const float* mask, size_t position_offset = 0, size_t window_size = 0,
192
+ bool is_causal = true);
193
+
194
+
195
+ void cactus_conv1d_causal_depthwise_f32(
196
+ const float* input,
197
+ const float* weight,
198
+ float* output,
199
+ size_t N,
200
+ size_t L,
201
+ size_t C,
202
+ size_t K,
203
+ size_t dilation);
204
+
205
+ void cactus_conv1d_causal_depthwise_f16(
206
+ const __fp16* input,
207
+ const __fp16* weight,
208
+ __fp16* output,
209
+ size_t N,
210
+ size_t L,
211
+ size_t C,
212
+ size_t K,
213
+ size_t dilation);
214
+
215
+ void cactus_conv1d_causal_depthwise_int8(
216
+ const int8_t* input,
217
+ const int8_t* weight,
218
+ int8_t* output,
219
+ size_t N,
220
+ size_t L,
221
+ size_t C,
222
+ size_t K,
223
+ size_t dilation,
224
+ float input_scale,
225
+ float weight_scale,
226
+ float output_scale);
227
+
228
+ void cactus_conv1d_f32_k3(
229
+ const float* input,
230
+ const float* weight,
231
+ float* output,
232
+ size_t N, size_t L,
233
+ size_t C_in, size_t C_out,
234
+ size_t stride
235
+ );
236
+
237
+ void cactus_conv1d_f16_k3(
238
+ const __fp16* input,
239
+ const __fp16* weight,
240
+ __fp16* output,
241
+ size_t N, size_t L,
242
+ size_t C_in, size_t C_out,
243
+ size_t stride
244
+ );
245
+
246
+ void cactus_bilinear_interpolation_fp32(const float* input, float* output, size_t src_height, size_t src_width, size_t embed_dim,
247
+ size_t dst_height, size_t dst_width);
248
+
249
+ void cactus_sample_f32(const float* logits, uint32_t* output, size_t vocab_size,
250
+ float temperature, float top_p, size_t top_k, size_t random_seed);
251
+ void cactus_sample_f16(const __fp16* logits, uint32_t* output, size_t vocab_size,
252
+ float temperature, float top_p, size_t top_k, size_t random_seed);
253
+
254
+
255
+ void cactus_concat_f32(const float* input1, const float* input2, float* output,
256
+ const size_t* shape1, const size_t* shape2, const size_t* output_shape,
257
+ size_t ndims, int axis);
258
+ void cactus_concat_f16(const __fp16* input1, const __fp16* input2, __fp16* output,
259
+ const size_t* shape1, const size_t* shape2, const size_t* output_shape,
260
+ size_t ndims, int axis);
261
+ void cactus_concat_int8(const int8_t* input1, const int8_t* input2, int8_t* output,
262
+ const size_t* shape1, const size_t* shape2, const size_t* output_shape,
263
+ size_t ndims, int axis);
264
+
265
+ void cactus_int8_to_fp32(const int8_t* src, float* dst, size_t count, float scale = 1.0f);
266
+ void cactus_fp32_to_int8(const float* src, int8_t* dst, size_t count, float scale = 1.0f);
267
+ void cactus_dynamic_quantize_fp32_to_int8(const float* src, int8_t* dst, size_t count, float* computed_scale);
268
+ void cactus_fp16_to_fp32(const __fp16* src, float* dst, size_t count);
269
+ void cactus_fp32_to_fp16(const float* src, __fp16* dst, size_t count);
270
+ void cactus_int8_to_fp16(const int8_t* src, __fp16* dst, size_t count, float scale = 1.0f);
271
+ void cactus_fp16_to_int8(const __fp16* src, int8_t* dst, size_t count, float scale = 1.0f);
272
+ float cactus_fp16_max_abs(const __fp16* src, size_t count);
273
+ void cactus_int32_to_fp16_scaled(const int32_t* src, __fp16* dst, size_t count, float scale);
274
+
275
+ #endif