cactus-react-native 0.0.1 → 0.1.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 (189) hide show
  1. package/LICENSE.txt +20 -0
  2. package/README.md +3 -1
  3. package/android/src/main/CMakeLists.txt +58 -23
  4. package/android/src/main/java/com/cactus/Cactus.java +484 -16
  5. package/android/src/main/java/com/cactus/LlamaContext.java +199 -0
  6. package/android/src/main/jni.cpp +325 -10
  7. package/android/src/main/jniLibs/arm64-v8a/libcactus.so +0 -0
  8. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8.so +0 -0
  9. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2.so +0 -0
  10. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod.so +0 -0
  11. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_dotprod_i8mm.so +0 -0
  12. package/android/src/main/jniLibs/arm64-v8a/libcactus_v8_2_i8mm.so +0 -0
  13. package/android/src/main/jniLibs/x86_64/libcactus.so +0 -0
  14. package/android/src/main/jniLibs/x86_64/libcactus_x86_64.so +0 -0
  15. package/android/src/newarch/java/com/cactus/CactusModule.java +79 -7
  16. package/android/src/oldarch/java/com/cactus/CactusModule.java +70 -0
  17. package/cactus-react-native.podspec +0 -3
  18. package/ios/CMakeLists.txt +58 -36
  19. package/ios/Cactus.mm +243 -2
  20. package/ios/CactusContext.h +22 -0
  21. package/ios/CactusContext.mm +176 -1
  22. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus.h +92 -5
  23. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/cactus_ffi.h +268 -0
  24. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/chat.h +2 -0
  25. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/common.h +42 -51
  26. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-backend.h +4 -4
  27. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-common.h +12 -6
  28. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpp.h +1 -1
  29. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu.h +5 -0
  30. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-impl.h +52 -18
  31. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-metal-impl.h +106 -14
  32. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-opt.h +49 -28
  33. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml.h +87 -106
  34. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-arch.h +16 -0
  35. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-batch.h +2 -1
  36. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-chat.h +7 -2
  37. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-context.h +44 -33
  38. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-cparams.h +1 -0
  39. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-graph.h +83 -17
  40. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-hparams.h +44 -2
  41. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-kv-cache.h +407 -179
  42. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-memory.h +13 -2
  43. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model-loader.h +5 -3
  44. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model-saver.h +37 -0
  45. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-model.h +24 -2
  46. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama-vocab.h +6 -0
  47. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/llama.h +102 -142
  48. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/chat-template.hpp +23 -11
  49. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/minja/minja.hpp +186 -127
  50. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Info.plist +0 -0
  51. package/ios/cactus.xcframework/ios-arm64/cactus.framework/cactus +0 -0
  52. package/ios/cactus.xcframework/ios-arm64/cactus.framework/ggml-llama.metallib +0 -0
  53. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus.h +92 -5
  54. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +268 -0
  55. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/chat.h +2 -0
  56. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/common.h +42 -51
  57. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend.h +4 -4
  58. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-common.h +12 -6
  59. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpp.h +1 -1
  60. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu.h +5 -0
  61. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-impl.h +52 -18
  62. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal-impl.h +106 -14
  63. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-opt.h +49 -28
  64. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml.h +87 -106
  65. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-arch.h +16 -0
  66. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-batch.h +2 -1
  67. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-chat.h +7 -2
  68. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-context.h +44 -33
  69. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-cparams.h +1 -0
  70. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-graph.h +83 -17
  71. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-hparams.h +44 -2
  72. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-kv-cache.h +407 -179
  73. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-memory.h +13 -2
  74. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-loader.h +5 -3
  75. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-saver.h +37 -0
  76. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-model.h +24 -2
  77. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama-vocab.h +6 -0
  78. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/llama.h +102 -142
  79. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +23 -11
  80. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/minja/minja.hpp +186 -127
  81. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  82. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
  83. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  84. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/ggml-llama-sim.metallib +0 -0
  85. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus.h +92 -5
  86. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/cactus_ffi.h +268 -0
  87. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/chat.h +2 -0
  88. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/common.h +42 -51
  89. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-backend.h +4 -4
  90. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-common.h +12 -6
  91. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpp.h +1 -1
  92. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu.h +5 -0
  93. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-impl.h +52 -18
  94. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-metal-impl.h +106 -14
  95. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-opt.h +49 -28
  96. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml.h +87 -106
  97. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-arch.h +16 -0
  98. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-batch.h +2 -1
  99. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-chat.h +7 -2
  100. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-context.h +44 -33
  101. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-cparams.h +1 -0
  102. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-graph.h +83 -17
  103. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-hparams.h +44 -2
  104. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-kv-cache.h +407 -179
  105. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-memory.h +13 -2
  106. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model-loader.h +5 -3
  107. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model-saver.h +37 -0
  108. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-model.h +24 -2
  109. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama-vocab.h +6 -0
  110. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/llama.h +102 -142
  111. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/chat-template.hpp +23 -11
  112. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/minja/minja.hpp +186 -127
  113. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Info.plist +0 -0
  114. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/cactus +0 -0
  115. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/ggml-llama.metallib +0 -0
  116. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus.h +92 -5
  117. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/cactus_ffi.h +268 -0
  118. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/chat.h +2 -0
  119. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/common.h +42 -51
  120. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-backend.h +4 -4
  121. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-common.h +12 -6
  122. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpp.h +1 -1
  123. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu.h +5 -0
  124. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-impl.h +52 -18
  125. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-metal-impl.h +106 -14
  126. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-opt.h +49 -28
  127. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml.h +87 -106
  128. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-arch.h +16 -0
  129. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-batch.h +2 -1
  130. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-chat.h +7 -2
  131. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-context.h +44 -33
  132. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-cparams.h +1 -0
  133. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-graph.h +83 -17
  134. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-hparams.h +44 -2
  135. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-kv-cache.h +407 -179
  136. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-memory.h +13 -2
  137. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-loader.h +5 -3
  138. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model-saver.h +37 -0
  139. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-model.h +24 -2
  140. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama-vocab.h +6 -0
  141. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/llama.h +102 -142
  142. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/chat-template.hpp +23 -11
  143. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/minja/minja.hpp +186 -127
  144. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Info.plist +0 -0
  145. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/_CodeSignature/CodeResources +1 -1
  146. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/cactus +0 -0
  147. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/ggml-llama-sim.metallib +0 -0
  148. package/lib/commonjs/NativeCactus.js +1 -0
  149. package/lib/commonjs/NativeCactus.js.map +1 -1
  150. package/lib/commonjs/index.js +112 -0
  151. package/lib/commonjs/index.js.map +1 -1
  152. package/lib/commonjs/tools.js +118 -0
  153. package/lib/commonjs/tools.js.map +1 -0
  154. package/lib/module/NativeCactus.js +3 -0
  155. package/lib/module/NativeCactus.js.map +1 -1
  156. package/lib/module/index.js +87 -1
  157. package/lib/module/index.js.map +1 -1
  158. package/lib/module/tools.js +110 -0
  159. package/lib/module/tools.js.map +1 -0
  160. package/lib/typescript/NativeCactus.d.ts +30 -1
  161. package/lib/typescript/NativeCactus.d.ts.map +1 -1
  162. package/lib/typescript/index.d.ts +21 -2
  163. package/lib/typescript/index.d.ts.map +1 -1
  164. package/lib/typescript/tools.d.ts +38 -0
  165. package/lib/typescript/tools.d.ts.map +1 -0
  166. package/package.json +6 -3
  167. package/src/NativeCactus.ts +62 -1
  168. package/src/index.ts +113 -2
  169. package/src/tools.ts +127 -0
  170. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-aarch64.h +0 -8
  171. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-impl.h +0 -531
  172. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-quants.h +0 -63
  173. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/ggml-cpu-traits.h +0 -38
  174. package/ios/cactus.xcframework/ios-arm64/cactus.framework/Headers/sgemm.h +0 -14
  175. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-aarch64.h +0 -8
  176. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-impl.h +0 -531
  177. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-quants.h +0 -63
  178. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-traits.h +0 -38
  179. package/ios/cactus.xcframework/ios-arm64_x86_64-simulator/cactus.framework/Headers/sgemm.h +0 -14
  180. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-aarch64.h +0 -8
  181. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-impl.h +0 -531
  182. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-quants.h +0 -63
  183. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/ggml-cpu-traits.h +0 -38
  184. package/ios/cactus.xcframework/tvos-arm64/cactus.framework/Headers/sgemm.h +0 -14
  185. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-aarch64.h +0 -8
  186. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-impl.h +0 -531
  187. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-quants.h +0 -63
  188. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/ggml-cpu-traits.h +0 -38
  189. package/ios/cactus.xcframework/tvos-arm64_x86_64-simulator/cactus.framework/Headers/sgemm.h +0 -14
@@ -6,7 +6,7 @@
6
6
  <dict>
7
7
  <key>Info.plist</key>
8
8
  <data>
9
- TxD6NsHbP5Sud08syz/nlf2bmVw=
9
+ 81nGrPR4q6ApFomZe7da0Q0R+vc=
10
10
  </data>
11
11
  </dict>
12
12
  <key>files2</key>
@@ -5,5 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _reactNative = require("react-native");
8
+ // New TTS/Audio types
8
9
  var _default = exports.default = _reactNative.TurboModuleRegistry.get('Cactus');
9
10
  //# sourceMappingURL=NativeCactus.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeCactus.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAkD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAganCC,gCAAmB,CAACC,GAAG,CAAO,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeCactus.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAkSA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA2LeC,gCAAmB,CAACC,GAAG,CAAO,QAAQ,CAAC","ignoreList":[]}
@@ -10,6 +10,12 @@ Object.defineProperty(exports, "SchemaGrammarConverter", {
10
10
  return _grammar.SchemaGrammarConverter;
11
11
  }
12
12
  });
13
+ Object.defineProperty(exports, "Tools", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _tools.Tools;
17
+ }
18
+ });
13
19
  exports.addNativeLogListener = addNativeLogListener;
14
20
  Object.defineProperty(exports, "convertJsonSchemaToGrammar", {
15
21
  enumerable: true,
@@ -17,15 +23,21 @@ Object.defineProperty(exports, "convertJsonSchemaToGrammar", {
17
23
  return _grammar.convertJsonSchemaToGrammar;
18
24
  }
19
25
  });
26
+ exports.initContext = exports.getTTSType = exports.getFormattedAudioCompletion = exports.getAudioCompletionGuideTokens = exports.decodeAudioTokens = void 0;
20
27
  exports.initLlama = initLlama;
28
+ exports.isVocoderEnabled = exports.isMultimodalSupportVision = exports.isMultimodalSupportAudio = exports.isMultimodalEnabled = exports.initVocoder = exports.initMultimodal = void 0;
21
29
  exports.loadLlamaModelInfo = loadLlamaModelInfo;
30
+ exports.multimodalCompletion = void 0;
22
31
  exports.releaseAllLlama = releaseAllLlama;
32
+ exports.releaseVocoder = exports.releaseMultimodal = void 0;
23
33
  exports.setContextLimit = setContextLimit;
24
34
  exports.toggleNativeLog = toggleNativeLog;
35
+ exports.tokenize = void 0;
25
36
  var _reactNative = require("react-native");
26
37
  var _NativeCactus = _interopRequireDefault(require("./NativeCactus"));
27
38
  var _grammar = require("./grammar");
28
39
  var _chat = require("./chat");
40
+ var _tools = require("./tools");
29
41
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
30
42
  const EVENT_ON_INIT_CONTEXT_PROGRESS = '@Cactus_onInitContextProgress';
31
43
  const EVENT_ON_TOKEN = '@Cactus_onToken';
@@ -110,6 +122,42 @@ class LlamaContext {
110
122
  tool_choice: params?.tool_choice
111
123
  });
112
124
  }
125
+ async completionWithTools(params, callback, recursionCount = 0, recursionLimit = 3) {
126
+ if (!params.messages) {
127
+ // tool calling only works with messages
128
+ return this.completion(params, callback);
129
+ }
130
+ if (!params.tools) {
131
+ // no tools => default completion
132
+ return this.completion(params, callback);
133
+ }
134
+ if (recursionCount >= recursionLimit) {
135
+ return this.completion(params, callback);
136
+ }
137
+ let messages = [...(params?.messages || [])]; // avoid mutating the original
138
+
139
+ if (recursionCount === 0) {
140
+ messages = (0, _tools.injectToolsIntoMessages)(messages, params.tools);
141
+ }
142
+ const result = await this.completion({
143
+ ...params,
144
+ messages
145
+ }, callback);
146
+ const {
147
+ toolCalled,
148
+ toolName,
149
+ toolInput,
150
+ toolOutput
151
+ } = await (0, _tools.parseAndExecuteTool)(result, params.tools);
152
+ if (toolCalled && toolName && toolInput) {
153
+ const newMessages = (0, _tools.updateMessagesWithToolCall)(messages, toolName, toolInput, toolOutput);
154
+ return await this.completionWithTools({
155
+ ...params,
156
+ messages: newMessages
157
+ }, callback, recursionCount + 1, recursionLimit);
158
+ }
159
+ return result;
160
+ }
113
161
  async completion(params, callback) {
114
162
  const nativeParams = {
115
163
  ...params,
@@ -297,4 +345,68 @@ async function initLlama({
297
345
  async function releaseAllLlama() {
298
346
  return _NativeCactus.default.releaseAllContexts();
299
347
  }
348
+ const initContext = async params => {
349
+ return await _NativeCactus.default.initContext(contextIdCounter++, params);
350
+ };
351
+ exports.initContext = initContext;
352
+ const initMultimodal = async (contextId, mmprojPath, useGpu = false) => {
353
+ return await _NativeCactus.default.initMultimodal(contextId, mmprojPath, useGpu);
354
+ };
355
+ exports.initMultimodal = initMultimodal;
356
+ const isMultimodalEnabled = async contextId => {
357
+ return await _NativeCactus.default.isMultimodalEnabled(contextId);
358
+ };
359
+ exports.isMultimodalEnabled = isMultimodalEnabled;
360
+ const isMultimodalSupportVision = async contextId => {
361
+ return await _NativeCactus.default.isMultimodalSupportVision(contextId);
362
+ };
363
+ exports.isMultimodalSupportVision = isMultimodalSupportVision;
364
+ const isMultimodalSupportAudio = async contextId => {
365
+ return await _NativeCactus.default.isMultimodalSupportAudio(contextId);
366
+ };
367
+ exports.isMultimodalSupportAudio = isMultimodalSupportAudio;
368
+ const releaseMultimodal = async contextId => {
369
+ return await _NativeCactus.default.releaseMultimodal(contextId);
370
+ };
371
+ exports.releaseMultimodal = releaseMultimodal;
372
+ const multimodalCompletion = async (contextId, prompt, mediaPaths, params) => {
373
+ return await _NativeCactus.default.multimodalCompletion(contextId, prompt, mediaPaths, params);
374
+ };
375
+ exports.multimodalCompletion = multimodalCompletion;
376
+ const initVocoder = async (contextId, vocoderModelPath) => {
377
+ return await _NativeCactus.default.initVocoder(contextId, vocoderModelPath);
378
+ };
379
+ exports.initVocoder = initVocoder;
380
+ const isVocoderEnabled = async contextId => {
381
+ return await _NativeCactus.default.isVocoderEnabled(contextId);
382
+ };
383
+ exports.isVocoderEnabled = isVocoderEnabled;
384
+ const getTTSType = async contextId => {
385
+ return await _NativeCactus.default.getTTSType(contextId);
386
+ };
387
+ exports.getTTSType = getTTSType;
388
+ const getFormattedAudioCompletion = async (contextId, speakerJsonStr, textToSpeak) => {
389
+ return await _NativeCactus.default.getFormattedAudioCompletion(contextId, speakerJsonStr, textToSpeak);
390
+ };
391
+ exports.getFormattedAudioCompletion = getFormattedAudioCompletion;
392
+ const getAudioCompletionGuideTokens = async (contextId, textToSpeak) => {
393
+ return await _NativeCactus.default.getAudioCompletionGuideTokens(contextId, textToSpeak);
394
+ };
395
+ exports.getAudioCompletionGuideTokens = getAudioCompletionGuideTokens;
396
+ const decodeAudioTokens = async (contextId, tokens) => {
397
+ return await _NativeCactus.default.decodeAudioTokens(contextId, tokens);
398
+ };
399
+ exports.decodeAudioTokens = decodeAudioTokens;
400
+ const releaseVocoder = async contextId => {
401
+ return await _NativeCactus.default.releaseVocoder(contextId);
402
+ };
403
+ exports.releaseVocoder = releaseVocoder;
404
+ const tokenize = async (contextId, text, mediaPaths) => {
405
+ if (mediaPaths && mediaPaths.length > 0) {
406
+ return await _NativeCactus.default.tokenize(contextId, text, mediaPaths);
407
+ } else {
408
+ return await _NativeCactus.default.tokenize(contextId, text);
409
+ }
410
+ };
411
+ exports.tokenize = tokenize;
300
412
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeCactus","_interopRequireDefault","_grammar","_chat","e","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","Cactus","DeviceEventEmitter","logListeners","addListener","evt","forEach","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","LlamaContext","gpu","reasonNoGPU","constructor","contextId","model","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","getFormattedChat","messages","template","params","chat","formatChat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completion","callback","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","push","tokenListener","tokenResult","Error","promise","then","completionResult","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","exports","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_NativeCactus","_interopRequireDefault","_grammar","_chat","_tools","e","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","Cactus","DeviceEventEmitter","logListeners","addListener","evt","forEach","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","LlamaContext","gpu","reasonNoGPU","constructor","contextId","model","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","getFormattedChat","messages","template","params","chat","formatChat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completionWithTools","callback","recursionCount","recursionLimit","completion","injectToolsIntoMessages","result","toolCalled","toolName","toolInput","toolOutput","parseAndExecuteTool","newMessages","updateMessagesWithToolCall","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","push","tokenListener","tokenResult","Error","promise","then","completionResult","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","bench","pp","tg","pl","nr","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","exports","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts","initMultimodal","mmprojPath","useGpu","isMultimodalEnabled","isMultimodalSupportVision","isMultimodalSupportAudio","releaseMultimodal","multimodalCompletion","mediaPaths","initVocoder","vocoderModelPath","isVocoderEnabled","getTTSType","getFormattedAudioCompletion","speakerJsonStr","textToSpeak","getAudioCompletionGuideTokens","decodeAudioTokens","releaseVocoder","length"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Tools = void 0;
7
+ exports.injectToolsIntoMessages = injectToolsIntoMessages;
8
+ exports.parseAndExecuteTool = parseAndExecuteTool;
9
+ exports.updateMessagesWithToolCall = updateMessagesWithToolCall;
10
+ class Tools {
11
+ tools = new Map();
12
+ add(func, description, parameters) {
13
+ this.tools.set(func.name, {
14
+ func,
15
+ description,
16
+ parameters,
17
+ required: Object.entries(parameters).filter(([_, param]) => param.required).map(([key, _]) => key)
18
+ });
19
+ return func;
20
+ }
21
+ getSchemas() {
22
+ return Array.from(this.tools.entries()).map(([name, {
23
+ description,
24
+ parameters,
25
+ required
26
+ }]) => ({
27
+ type: "function",
28
+ function: {
29
+ name,
30
+ description,
31
+ parameters: {
32
+ type: "object",
33
+ properties: parameters,
34
+ required
35
+ }
36
+ }
37
+ }));
38
+ }
39
+ async execute(name, args) {
40
+ const tool = this.tools.get(name);
41
+ if (!tool) throw new Error(`Tool ${name} not found`);
42
+ return await tool.func(...Object.values(args));
43
+ }
44
+ }
45
+ exports.Tools = Tools;
46
+ function injectToolsIntoMessages(messages, tools) {
47
+ const newMessages = [...messages];
48
+ const toolsSchemas = tools.getSchemas();
49
+ const promptToolInjection = `You have access to the following functions. Use them if required -
50
+ ${JSON.stringify(toolsSchemas, null, 2)}
51
+ Only use an available tool if needed. If a tool is chosen, respond ONLY with a JSON object matching the following schema:
52
+ \`\`\`json
53
+ {
54
+ "tool_name": "<name of the tool>",
55
+ "tool_input": {
56
+ "<parameter_name>": "<parameter_value>",
57
+ ...
58
+ }
59
+ }
60
+ \`\`\`
61
+ Remember, if you are calling a tool, you must respond with the JSON object and the JSON object ONLY!
62
+ If no tool is needed, respond normally.
63
+ `;
64
+ const systemMessage = newMessages.find(m => m.role === 'system');
65
+ if (!systemMessage) {
66
+ newMessages.unshift({
67
+ role: 'system',
68
+ content: promptToolInjection
69
+ });
70
+ } else {
71
+ systemMessage.content = `${systemMessage.content}\n\n${promptToolInjection}`;
72
+ }
73
+ return newMessages;
74
+ }
75
+ async function parseAndExecuteTool(result, tools) {
76
+ const match = result.content.match(/```json\s*([\s\S]*?)\s*```/);
77
+ if (!match || !match[1]) return {
78
+ toolCalled: false
79
+ };
80
+ try {
81
+ const jsonContent = JSON.parse(match[1]);
82
+ const {
83
+ tool_name,
84
+ tool_input
85
+ } = jsonContent;
86
+ // console.log('Calling tool:', tool_name, tool_input);
87
+ const toolOutput = (await tools.execute(tool_name, tool_input)) || true;
88
+ // console.log('Tool called result:', toolOutput);
89
+
90
+ return {
91
+ toolCalled: true,
92
+ toolName: tool_name,
93
+ toolInput: tool_input,
94
+ toolOutput
95
+ };
96
+ } catch (error) {
97
+ // console.error('Error parsing JSON:', match, error);
98
+ return {
99
+ toolCalled: false
100
+ };
101
+ }
102
+ }
103
+ function updateMessagesWithToolCall(messages, toolName, toolInput, toolOutput) {
104
+ const newMessages = [...messages];
105
+ newMessages.push({
106
+ role: 'function-call',
107
+ content: JSON.stringify({
108
+ name: toolName,
109
+ arguments: toolInput
110
+ }, null, 2)
111
+ });
112
+ newMessages.push({
113
+ role: 'function-response',
114
+ content: JSON.stringify(toolOutput, null, 2)
115
+ });
116
+ return newMessages;
117
+ }
118
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Tools","tools","Map","add","func","description","parameters","set","name","required","Object","entries","filter","_","param","map","key","getSchemas","Array","from","type","function","properties","execute","args","tool","get","Error","values","exports","injectToolsIntoMessages","messages","newMessages","toolsSchemas","promptToolInjection","JSON","stringify","systemMessage","find","m","role","unshift","content","parseAndExecuteTool","result","match","toolCalled","jsonContent","parse","tool_name","tool_input","toolOutput","toolName","toolInput","error","updateMessagesWithToolCall","push","arguments"],"sourceRoot":"../../src","sources":["tools.ts"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  import { TurboModuleRegistry } from 'react-native';
4
+
5
+ // New TTS/Audio types
6
+
4
7
  export default TurboModuleRegistry.get('Cactus');
5
8
  //# sourceMappingURL=NativeCactus.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeCactus.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAgalD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,QAAQ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeCactus.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAkSlD;;AA2LA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,QAAQ,CAAC","ignoreList":[]}
@@ -4,7 +4,8 @@ import { NativeEventEmitter, DeviceEventEmitter, Platform } from 'react-native';
4
4
  import Cactus from './NativeCactus';
5
5
  import { SchemaGrammarConverter, convertJsonSchemaToGrammar } from './grammar';
6
6
  import { formatChat } from './chat';
7
- export { SchemaGrammarConverter, convertJsonSchemaToGrammar };
7
+ import { Tools, injectToolsIntoMessages, parseAndExecuteTool, updateMessagesWithToolCall } from './tools';
8
+ export { SchemaGrammarConverter, convertJsonSchemaToGrammar, Tools };
8
9
  const EVENT_ON_INIT_CONTEXT_PROGRESS = '@Cactus_onInitContextProgress';
9
10
  const EVENT_ON_TOKEN = '@Cactus_onToken';
10
11
  const EVENT_ON_NATIVE_LOG = '@Cactus_onNativeLog';
@@ -88,6 +89,42 @@ export class LlamaContext {
88
89
  tool_choice: params?.tool_choice
89
90
  });
90
91
  }
92
+ async completionWithTools(params, callback, recursionCount = 0, recursionLimit = 3) {
93
+ if (!params.messages) {
94
+ // tool calling only works with messages
95
+ return this.completion(params, callback);
96
+ }
97
+ if (!params.tools) {
98
+ // no tools => default completion
99
+ return this.completion(params, callback);
100
+ }
101
+ if (recursionCount >= recursionLimit) {
102
+ return this.completion(params, callback);
103
+ }
104
+ let messages = [...(params?.messages || [])]; // avoid mutating the original
105
+
106
+ if (recursionCount === 0) {
107
+ messages = injectToolsIntoMessages(messages, params.tools);
108
+ }
109
+ const result = await this.completion({
110
+ ...params,
111
+ messages
112
+ }, callback);
113
+ const {
114
+ toolCalled,
115
+ toolName,
116
+ toolInput,
117
+ toolOutput
118
+ } = await parseAndExecuteTool(result, params.tools);
119
+ if (toolCalled && toolName && toolInput) {
120
+ const newMessages = updateMessagesWithToolCall(messages, toolName, toolInput, toolOutput);
121
+ return await this.completionWithTools({
122
+ ...params,
123
+ messages: newMessages
124
+ }, callback, recursionCount + 1, recursionLimit);
125
+ }
126
+ return result;
127
+ }
91
128
  async completion(params, callback) {
92
129
  const nativeParams = {
93
130
  ...params,
@@ -274,4 +311,53 @@ export async function initLlama({
274
311
  export async function releaseAllLlama() {
275
312
  return Cactus.releaseAllContexts();
276
313
  }
314
+ export const initContext = async params => {
315
+ return await Cactus.initContext(contextIdCounter++, params);
316
+ };
317
+ export const initMultimodal = async (contextId, mmprojPath, useGpu = false) => {
318
+ return await Cactus.initMultimodal(contextId, mmprojPath, useGpu);
319
+ };
320
+ export const isMultimodalEnabled = async contextId => {
321
+ return await Cactus.isMultimodalEnabled(contextId);
322
+ };
323
+ export const isMultimodalSupportVision = async contextId => {
324
+ return await Cactus.isMultimodalSupportVision(contextId);
325
+ };
326
+ export const isMultimodalSupportAudio = async contextId => {
327
+ return await Cactus.isMultimodalSupportAudio(contextId);
328
+ };
329
+ export const releaseMultimodal = async contextId => {
330
+ return await Cactus.releaseMultimodal(contextId);
331
+ };
332
+ export const multimodalCompletion = async (contextId, prompt, mediaPaths, params) => {
333
+ return await Cactus.multimodalCompletion(contextId, prompt, mediaPaths, params);
334
+ };
335
+ export const initVocoder = async (contextId, vocoderModelPath) => {
336
+ return await Cactus.initVocoder(contextId, vocoderModelPath);
337
+ };
338
+ export const isVocoderEnabled = async contextId => {
339
+ return await Cactus.isVocoderEnabled(contextId);
340
+ };
341
+ export const getTTSType = async contextId => {
342
+ return await Cactus.getTTSType(contextId);
343
+ };
344
+ export const getFormattedAudioCompletion = async (contextId, speakerJsonStr, textToSpeak) => {
345
+ return await Cactus.getFormattedAudioCompletion(contextId, speakerJsonStr, textToSpeak);
346
+ };
347
+ export const getAudioCompletionGuideTokens = async (contextId, textToSpeak) => {
348
+ return await Cactus.getAudioCompletionGuideTokens(contextId, textToSpeak);
349
+ };
350
+ export const decodeAudioTokens = async (contextId, tokens) => {
351
+ return await Cactus.decodeAudioTokens(contextId, tokens);
352
+ };
353
+ export const releaseVocoder = async contextId => {
354
+ return await Cactus.releaseVocoder(contextId);
355
+ };
356
+ export const tokenize = async (contextId, text, mediaPaths) => {
357
+ if (mediaPaths && mediaPaths.length > 0) {
358
+ return await Cactus.tokenize(contextId, text, mediaPaths);
359
+ } else {
360
+ return await Cactus.tokenize(contextId, text);
361
+ }
362
+ };
277
363
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Cactus","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","OS","logListeners","addListener","evt","forEach","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","LlamaContext","gpu","reasonNoGPU","constructor","contextId","model","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","default","getFormattedChat","messages","template","params","chat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completion","callback","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","push","tokenListener","tokenResult","Error","promise","then","completionResult","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","Cactus","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","Tools","injectToolsIntoMessages","parseAndExecuteTool","updateMessagesWithToolCall","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","OS","logListeners","addListener","evt","forEach","listener","level","text","toggleNativeLog","catch","getJsonSchema","responseFormat","type","json_schema","schema","LlamaContext","gpu","reasonNoGPU","constructor","contextId","model","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","isLlamaChatSupported","chatTemplates","llamaChat","isJinjaSupported","minja","toolUse","default","getFormattedChat","messages","template","params","chat","useJinja","jinja","tmpl","undefined","jsonSchema","response_format","JSON","stringify","tools","parallel_tool_calls","tool_choice","completionWithTools","callback","recursionCount","recursionLimit","completion","result","toolCalled","toolName","toolInput","toolOutput","newMessages","nativeParams","prompt","emit_partial_completion","formattedResult","chat_template","chatTemplate","chat_format","grammar","grammar_lazy","grammar_triggers","preserved_tokens","additional_stops","stop","push","tokenListener","tokenResult","Error","promise","then","completionResult","remove","err","stopCompletion","tokenize","detokenize","tokens","embedding","bench","pp","tg","pl","nr","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","enabled","addNativeLogListener","splice","indexOf","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","onProgress","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","releaseAllLlama","releaseAllContexts","initMultimodal","mmprojPath","useGpu","isMultimodalEnabled","isMultimodalSupportVision","isMultimodalSupportAudio","releaseMultimodal","multimodalCompletion","mediaPaths","initVocoder","vocoderModelPath","isVocoderEnabled","getTTSType","getFormattedAudioCompletion","speakerJsonStr","textToSpeak","getAudioCompletionGuideTokens","decodeAudioTokens","releaseVocoder","length"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE/E,OAAOC,MAAM,MAAM,gBAAgB;AAuBnC,SAASC,sBAAsB,EAAEC,0BAA0B,QAAQ,WAAW;AAE9E,SAASC,UAAU,QAAQ,QAAQ;AACnC,SAASC,KAAK,EAAEC,uBAAuB,EAAEC,mBAAmB,EAAEC,0BAA0B,QAAQ,SAAS;AAsBzG,SAASN,sBAAsB,EAAEC,0BAA0B,EAAEE,KAAK;AAElE,MAAMI,8BAA8B,GAAG,+BAA+B;AACtE,MAAMC,cAAc,GAAG,iBAAiB;AACxC,MAAMC,mBAAmB,GAAG,qBAAqB;AAEjD,IAAIC,YAA2D;AAC/D,IAAIZ,QAAQ,CAACa,EAAE,KAAK,KAAK,EAAE;EACzB;EACAD,YAAY,GAAG,IAAId,kBAAkB,CAACG,MAAM,CAAC;AAC/C;AACA,IAAID,QAAQ,CAACa,EAAE,KAAK,SAAS,EAAE;EAC7BD,YAAY,GAAGb,kBAAkB;AACnC;AAEA,MAAMe,YAA0D,GAAG,EAAE;;AAErE;AACA,IAAIF,YAAY,EAAE;EAChBA,YAAY,CAACG,WAAW,CACtBJ,mBAAmB,EAClBK,GAAoC,IAAK;IACxCF,YAAY,CAACG,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAACF,GAAG,CAACG,KAAK,EAAEH,GAAG,CAACI,IAAI,CAAC,CAAC;EACnE,CACF,CAAC;EACD;EACAnB,MAAM,EAAEoB,eAAe,GAAG,KAAK,CAAC,EAAEC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AACrD;AA2EA,MAAMC,aAAa,GAAIC,cAAyC,IAAK;EACnE,IAAIA,cAAc,EAAEC,IAAI,KAAK,aAAa,EAAE;IAC1C,OAAOD,cAAc,CAACE,WAAW,EAAEC,MAAM;EAC3C;EACA,IAAIH,cAAc,EAAEC,IAAI,KAAK,aAAa,EAAE;IAC1C,OAAOD,cAAc,CAACG,MAAM,IAAI,CAAC,CAAC;EACpC;EACA,OAAO,IAAI;AACb,CAAC;AAED,OAAO,MAAMC,YAAY,CAAC;EAGxBC,GAAG,GAAY,KAAK;EAEpBC,WAAW,GAAW,EAAE;EAIxBC,WAAWA,CAAC;IAAEC,SAAS;IAAEH,GAAG;IAAEC,WAAW;IAAEG;EAA0B,CAAC,EAAE;IACtE,IAAI,CAACC,EAAE,GAAGF,SAAS;IACnB,IAAI,CAACH,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACG,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;EACE,MAAME,WAAWA,CAACC,QAAgB,EAAoC;IACpE,IAAIC,IAAI,GAAGD,QAAQ;IACnB,IAAIC,IAAI,CAACC,UAAU,CAAC,SAAS,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;IACpD,OAAOtC,MAAM,CAACkC,WAAW,CAAC,IAAI,CAACD,EAAE,EAAEG,IAAI,CAAC;EAC1C;;EAEA;AACF;AACA;EACE,MAAMG,WAAWA,CACfJ,QAAgB,EAChBK,OAA+B,EACd;IACjB,OAAOxC,MAAM,CAACuC,WAAW,CAAC,IAAI,CAACN,EAAE,EAAEE,QAAQ,EAAEK,OAAO,EAAEC,SAAS,IAAI,CAAC,CAAC,CAAC;EACxE;EAEAC,oBAAoBA,CAAA,EAAY;IAC9B,OAAO,CAAC,CAAC,IAAI,CAACV,KAAK,CAACW,aAAa,CAACC,SAAS;EAC7C;EAEAC,gBAAgBA,CAAA,EAAY;IAC1B,MAAM;MAAEC;IAAM,CAAC,GAAG,IAAI,CAACd,KAAK,CAACW,aAAa;IAC1C,OAAO,CAAC,CAACG,KAAK,EAAEC,OAAO,IAAI,CAAC,CAACD,KAAK,EAAEE,OAAO;EAC7C;EAEA,MAAMC,gBAAgBA,CACpBC,QAAsC,EACtCC,QAAwB,EACxBC,MAMC,EAC2C;IAC5C,MAAMC,IAAI,GAAGlD,UAAU,CAAC+C,QAAQ,CAAC;IACjC,MAAMI,QAAQ,GAAG,IAAI,CAACT,gBAAgB,CAAC,CAAC,IAAIO,MAAM,EAAEG,KAAK;IACzD,IAAIC,IAAI,GAAG,IAAI,CAACd,oBAAoB,CAAC,CAAC,IAAIY,QAAQ,GAAGG,SAAS,GAAG,QAAQ;IACzE,IAAIN,QAAQ,EAAEK,IAAI,GAAGL,QAAQ,EAAC;IAC9B,MAAMO,UAAU,GAAGpC,aAAa,CAAC8B,MAAM,EAAEO,eAAe,CAAC;IACzD,OAAO3D,MAAM,CAACiD,gBAAgB,CAAC,IAAI,CAAChB,EAAE,EAAE2B,IAAI,CAACC,SAAS,CAACR,IAAI,CAAC,EAAEG,IAAI,EAAE;MAClED,KAAK,EAAED,QAAQ;MACf7B,WAAW,EAAEiC,UAAU,GAAGE,IAAI,CAACC,SAAS,CAACH,UAAU,CAAC,GAAGD,SAAS;MAChEK,KAAK,EAAEV,MAAM,EAAEU,KAAK,GAAGF,IAAI,CAACC,SAAS,CAACT,MAAM,CAACU,KAAK,CAAC,GAAGL,SAAS;MAC/DM,mBAAmB,EAAEX,MAAM,EAAEW,mBAAmB,GAC5CH,IAAI,CAACC,SAAS,CAACT,MAAM,CAACW,mBAAmB,CAAC,GAC1CN,SAAS;MACbO,WAAW,EAAEZ,MAAM,EAAEY;IACvB,CAAC,CAAC;EACJ;EAEA,MAAMC,mBAAmBA,CACrBb,MAAyC,EACzCc,QAAoC,EACpCC,cAAsB,GAAG,CAAC,EAC1BC,cAAsB,GAAG,CAAC,EACK;IAC/B,IAAI,CAAChB,MAAM,CAACF,QAAQ,EAAE;MAAE;MACpB,OAAO,IAAI,CAACmB,UAAU,CAACjB,MAAM,EAAEc,QAAQ,CAAC;IAC5C;IACA,IAAI,CAACd,MAAM,CAACU,KAAK,EAAE;MAAE;MACjB,OAAO,IAAI,CAACO,UAAU,CAACjB,MAAM,EAAEc,QAAQ,CAAC;IAC5C;IACA,IAAIC,cAAc,IAAIC,cAAc,EAAE;MAClC,OAAO,IAAI,CAACC,UAAU,CAACjB,MAAM,EAAEc,QAAQ,CAAC;IAC5C;IAEA,IAAIhB,QAAQ,GAAG,CAAC,IAAGE,MAAM,EAAEF,QAAQ,IAAI,EAAE,EAAC,CAAC,CAAC;;IAE5C,IAAIiB,cAAc,KAAK,CAAC,EAAE;MACtBjB,QAAQ,GAAG7C,uBAAuB,CAAC6C,QAAQ,EAAEE,MAAM,CAACU,KAAK,CAAC;IAC9D;IAEA,MAAMQ,MAAM,GAAG,MAAM,IAAI,CAACD,UAAU,CAAC;MAAC,GAAGjB,MAAM;MAAEF;IAAQ,CAAC,EAAEgB,QAAQ,CAAC;IAErE,MAAM;MAACK,UAAU;MAAEC,QAAQ;MAAEC,SAAS;MAAEC;IAAU,CAAC,GAC/C,MAAMpE,mBAAmB,CAACgE,MAAM,EAAElB,MAAM,CAACU,KAAK,CAAC;IAEnD,IAAIS,UAAU,IAAIC,QAAQ,IAAIC,SAAS,EAAE;MACrC,MAAME,WAAW,GAAGpE,0BAA0B,CAC1C2C,QAAQ,EAAEsB,QAAQ,EAAEC,SAAS,EAAEC,UACnC,CAAC;MAED,OAAO,MAAM,IAAI,CAACT,mBAAmB,CACjC;QAAC,GAAGb,MAAM;QAAEF,QAAQ,EAAEyB;MAAW,CAAC,EAClCT,QAAQ,EACRC,cAAc,GAAG,CAAC,EAClBC,cACJ,CAAC;IACL;IAEA,OAAOE,MAAM;EACnB;EAEE,MAAMD,UAAUA,CACdjB,MAAwB,EACxBc,QAAoC,EACH;IACjC,MAAMU,YAAY,GAAG;MACnB,GAAGxB,MAAM;MACTyB,MAAM,EAAEzB,MAAM,CAACyB,MAAM,IAAI,EAAE;MAC3BC,uBAAuB,EAAE,CAAC,CAACZ;IAC7B,CAAC;IACD,IAAId,MAAM,CAACF,QAAQ,EAAE;MACnB;MACA,MAAM6B,eAAe,GAAG,MAAM,IAAI,CAAC9B,gBAAgB,CACjDG,MAAM,CAACF,QAAQ,EACfE,MAAM,CAAC4B,aAAa,IAAI5B,MAAM,CAAC6B,YAAY,EAC3C;QACE1B,KAAK,EAAEH,MAAM,CAACG,KAAK;QACnBO,KAAK,EAAEV,MAAM,CAACU,KAAK;QACnBC,mBAAmB,EAAEX,MAAM,CAACW,mBAAmB;QAC/CC,WAAW,EAAEZ,MAAM,CAACY;MACtB,CACF,CAAC;MACD,IAAI,OAAOe,eAAe,KAAK,QAAQ,EAAE;QACvCH,YAAY,CAACC,MAAM,GAAGE,eAAe,IAAI,EAAE;MAC7C,CAAC,MAAM;QACLH,YAAY,CAACC,MAAM,GAAGE,eAAe,CAACF,MAAM,IAAI,EAAE;QAClD,IAAI,OAAOE,eAAe,CAACG,WAAW,KAAK,QAAQ,EACjDN,YAAY,CAACM,WAAW,GAAGH,eAAe,CAACG,WAAW;QACxD,IAAIH,eAAe,CAACI,OAAO,EACzBP,YAAY,CAACO,OAAO,GAAGJ,eAAe,CAACI,OAAO;QAChD,IAAI,OAAOJ,eAAe,CAACK,YAAY,KAAK,SAAS,EACnDR,YAAY,CAACQ,YAAY,GAAGL,eAAe,CAACK,YAAY;QAC1D,IAAIL,eAAe,CAACM,gBAAgB,EAClCT,YAAY,CAACS,gBAAgB,GAAGN,eAAe,CAACM,gBAAgB;QAClE,IAAIN,eAAe,CAACO,gBAAgB,EAClCV,YAAY,CAACU,gBAAgB,GAAGP,eAAe,CAACO,gBAAgB;QAClE,IAAIP,eAAe,CAACQ,gBAAgB,EAAE;UACpC,IAAI,CAACX,YAAY,CAACY,IAAI,EAAEZ,YAAY,CAACY,IAAI,GAAG,EAAE;UAC9CZ,YAAY,CAACY,IAAI,CAACC,IAAI,CAAC,GAAGV,eAAe,CAACQ,gBAAgB,CAAC;QAC7D;MACF;IACF,CAAC,MAAM;MACLX,YAAY,CAACC,MAAM,GAAGzB,MAAM,CAACyB,MAAM,IAAI,EAAE;IAC3C;IAEA,IAAID,YAAY,CAACjB,eAAe,IAAI,CAACiB,YAAY,CAACO,OAAO,EAAE;MACzD,MAAMzB,UAAU,GAAGpC,aAAa,CAAC8B,MAAM,CAACO,eAAe,CAAC;MACxD,IAAID,UAAU,EAAEkB,YAAY,CAACnD,WAAW,GAAGmC,IAAI,CAACC,SAAS,CAACH,UAAU,CAAC;IACvE;IAEA,IAAIgC,aAAkB,GACpBxB,QAAQ,IACRvD,YAAY,CAACG,WAAW,CAACL,cAAc,EAAGM,GAAqB,IAAK;MAClE,MAAM;QAAEgB,SAAS;QAAE4D;MAAY,CAAC,GAAG5E,GAAG;MACtC,IAAIgB,SAAS,KAAK,IAAI,CAACE,EAAE,EAAE;MAC3BiC,QAAQ,CAACyB,WAAW,CAAC;IACvB,CAAC,CAAC;IAEJ,IAAI,CAACf,YAAY,CAACC,MAAM,EAAE,MAAM,IAAIe,KAAK,CAAC,oBAAoB,CAAC;IAE/D,MAAMC,OAAO,GAAG7F,MAAM,CAACqE,UAAU,CAAC,IAAI,CAACpC,EAAE,EAAE2C,YAAY,CAAC;IACxD,OAAOiB,OAAO,CACXC,IAAI,CAAEC,gBAAgB,IAAK;MAC1BL,aAAa,EAAEM,MAAM,CAAC,CAAC;MACvBN,aAAa,GAAG,IAAI;MACpB,OAAOK,gBAAgB;IACzB,CAAC,CAAC,CACD1E,KAAK,CAAE4E,GAAQ,IAAK;MACnBP,aAAa,EAAEM,MAAM,CAAC,CAAC;MACvBN,aAAa,GAAG,IAAI;MACpB,MAAMO,GAAG;IACX,CAAC,CAAC;EACN;EAEAC,cAAcA,CAAA,EAAkB;IAC9B,OAAOlG,MAAM,CAACkG,cAAc,CAAC,IAAI,CAACjE,EAAE,CAAC;EACvC;EAEAkE,QAAQA,CAAChF,IAAY,EAAiC;IACpD,OAAOnB,MAAM,CAACmG,QAAQ,CAAC,IAAI,CAAClE,EAAE,EAAEd,IAAI,CAAC;EACvC;EAEAiF,UAAUA,CAACC,MAAgB,EAAmB;IAC5C,OAAOrG,MAAM,CAACoG,UAAU,CAAC,IAAI,CAACnE,EAAE,EAAEoE,MAAM,CAAC;EAC3C;EAEAC,SAASA,CACPnF,IAAY,EACZiC,MAAwB,EACQ;IAChC,OAAOpD,MAAM,CAACsG,SAAS,CAAC,IAAI,CAACrE,EAAE,EAAEd,IAAI,EAAEiC,MAAM,IAAI,CAAC,CAAC,CAAC;EACtD;EAEA,MAAMmD,KAAKA,CACTC,EAAU,EACVC,EAAU,EACVC,EAAU,EACVC,EAAU,EACY;IACtB,MAAMrC,MAAM,GAAG,MAAMtE,MAAM,CAACuG,KAAK,CAAC,IAAI,CAACtE,EAAE,EAAEuE,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;IAC1D,MAAM,CAACC,SAAS,EAAEC,SAAS,EAAEC,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC,GACpEtD,IAAI,CAACuD,KAAK,CAAC7C,MAAM,CAAC;IACpB,OAAO;MACLsC,SAAS;MACTC,SAAS;MACTC,YAAY;MACZC,KAAK;MACLC,KAAK;MACLC,KAAK;MACLC;IACF,CAAC;EACH;EAEA,MAAME,iBAAiBA,CACrBC,QAAkD,EACnC;IACf,IAAIC,YAAsD,GAAG,EAAE;IAC/D,IAAID,QAAQ,EACVC,YAAY,GAAGD,QAAQ,CAACE,GAAG,CAAEC,CAAC,KAAM;MAClCpF,IAAI,EAAEoF,CAAC,CAACpF,IAAI,CAACqF,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MACrCC,MAAM,EAAEF,CAAC,CAACE;IACZ,CAAC,CAAC,CAAC;IACL,OAAO1H,MAAM,CAACoH,iBAAiB,CAAC,IAAI,CAACnF,EAAE,EAAEqF,YAAY,CAAC;EACxD;EAEA,MAAMK,kBAAkBA,CAAA,EAAkB;IACxC,OAAO3H,MAAM,CAAC2H,kBAAkB,CAAC,IAAI,CAAC1F,EAAE,CAAC;EAC3C;EAEA,MAAM2F,qBAAqBA,CAAA,EAEzB;IACA,OAAO5H,MAAM,CAAC4H,qBAAqB,CAAC,IAAI,CAAC3F,EAAE,CAAC;EAC9C;EAEA,MAAM4F,OAAOA,CAAA,EAAkB;IAC7B,OAAO7H,MAAM,CAAC8H,cAAc,CAAC,IAAI,CAAC7F,EAAE,CAAC;EACvC;AACF;AAEA,OAAO,eAAeb,eAAeA,CAAC2G,OAAgB,EAAiB;EACrE,OAAO/H,MAAM,CAACoB,eAAe,CAAC2G,OAAO,CAAC;AACxC;AAEA,OAAO,SAASC,oBAAoBA,CAClC/G,QAA+C,EACvB;EACxBJ,YAAY,CAAC4E,IAAI,CAACxE,QAAQ,CAAC;EAC3B,OAAO;IACL+E,MAAM,EAAEA,CAAA,KAAM;MACZnF,YAAY,CAACoH,MAAM,CAACpH,YAAY,CAACqH,OAAO,CAACjH,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxD;EACF,CAAC;AACH;AAEA,OAAO,eAAekH,eAAeA,CAACC,KAAa,EAAiB;EAClE,OAAOpI,MAAM,CAACmI,eAAe,CAACC,KAAK,CAAC;AACtC;AAEA,IAAIC,gBAAgB,GAAG,CAAC;AACxB,MAAMC,eAAe,GAAGA,CAAA,KACtBC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,GAAG,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAE1E,MAAMC,aAAa,GAAG;AACpB;AACA,uBAAuB,EACvB,2BAA2B,EAC3B,uBAAuB,EACvB,uBAAuB,CACxB;AACD,OAAO,eAAeC,kBAAkBA,CAAC9G,KAAa,EAAmB;EACvE,IAAII,IAAI,GAAGJ,KAAK;EAChB,IAAII,IAAI,CAACC,UAAU,CAAC,SAAS,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;EACpD,OAAOtC,MAAM,CAAC+I,SAAS,CAAC3G,IAAI,EAAEyG,aAAa,CAAC;AAC9C;AAEA,MAAMG,WAAW,GAAG;EAClB;EACAC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE,CAAC;EACPC,GAAG,EAAE,CAAC;EACNC,IAAI,EAAE,CAAC;EACPC,IAAI,EAAE;AACR,CAAC;AAED,OAAO,eAAeC,SAASA,CAC7B;EACEtH,KAAK;EACLuH,cAAc,EAAEC,YAAY;EAC5BC,YAAY,EAAEC,WAAW;EACzBC,IAAI;EACJC,SAAS,EAAEvC,QAAQ;EACnB,GAAGwC;AACU,CAAC,EAChBC,UAAuC,EAChB;EACvB,IAAI1H,IAAI,GAAGJ,KAAK;EAChB,IAAII,IAAI,CAACC,UAAU,CAAC,SAAS,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;EAEpD,IAAIyH,QAAQ,GAAGJ,IAAI;EACnB,IAAII,QAAQ,EAAE1H,UAAU,CAAC,SAAS,CAAC,EAAE0H,QAAQ,GAAGA,QAAQ,CAACzH,KAAK,CAAC,CAAC,CAAC;EAEjE,IAAIgF,YAAsD,GAAG,EAAE;EAC/D,IAAID,QAAQ,EACVC,YAAY,GAAGD,QAAQ,CAACE,GAAG,CAAEC,CAAC,KAAM;IAClCpF,IAAI,EAAEoF,CAAC,CAACpF,IAAI,CAACqF,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACrCC,MAAM,EAAEF,CAAC,CAACE;EACZ,CAAC,CAAC,CAAC;EAEL,MAAM3F,SAAS,GAAGsG,gBAAgB,GAAGC,eAAe,CAAC,CAAC;EACtDD,gBAAgB,IAAI,CAAC;EAErB,IAAI2B,sBAA2B,GAAG,IAAI;EACtC,IAAIF,UAAU,EAAE;IACdE,sBAAsB,GAAGrJ,YAAY,CAACG,WAAW,CAC/CN,8BAA8B,EAC7BO,GAA4C,IAAK;MAChD,IAAIA,GAAG,CAACgB,SAAS,KAAKA,SAAS,EAAE;MACjC+H,UAAU,CAAC/I,GAAG,CAACkJ,QAAQ,CAAC;IAC1B,CACF,CAAC;EACH;EAEA,MAAMC,QAAQ,GAAGlB,WAAW,CAACU,WAAW,CAA6B;EACrE,MAAM;IACJ9H,GAAG;IACHC,WAAW;IACXG,KAAK,EAAEmI,YAAY;IACnBC;EACF,CAAC,GAAG,MAAMpK,MAAM,CAACqK,WAAW,CAACtI,SAAS,EAAE;IACtCC,KAAK,EAAEI,IAAI;IACXmH,cAAc,EAAE,CAAC,CAACC,YAAY;IAC9Bc,qBAAqB,EAAE,CAAC,CAACR,UAAU;IACnCL,YAAY,EAAES,QAAQ;IACtBP,IAAI,EAAEI,QAAQ;IACdH,SAAS,EAAEtC,YAAY;IACvB,GAAGuC;EACL,CAAC,CAAC,CAACxI,KAAK,CAAE4E,GAAQ,IAAK;IACrB+D,sBAAsB,EAAEhE,MAAM,CAAC,CAAC;IAChC,MAAMC,GAAG;EACX,CAAC,CAAC;EACF+D,sBAAsB,EAAEhE,MAAM,CAAC,CAAC;EAChC,OAAO,IAAIrE,YAAY,CAAC;IACtBI,SAAS;IACTH,GAAG;IACHC,WAAW;IACXG,KAAK,EAAEmI,YAAY;IACnBC;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,eAAeG,eAAeA,CAAA,EAAkB;EACrD,OAAOvK,MAAM,CAACwK,kBAAkB,CAAC,CAAC;AACpC;AAEA,OAAO,MAAMH,WAAW,GAAG,MAAOjH,MAA2B,IAAK;EAChE,OAAO,MAAMpD,MAAM,CAACqK,WAAW,CAAChC,gBAAgB,EAAE,EAAEjF,MAAM,CAAC;AAC7D,CAAC;AAED,OAAO,MAAMqH,cAAc,GAAG,MAAAA,CAAO1I,SAAiB,EAAE2I,UAAkB,EAAEC,MAAe,GAAG,KAAK,KAAK;EACtG,OAAO,MAAM3K,MAAM,CAACyK,cAAc,CAAC1I,SAAS,EAAE2I,UAAU,EAAEC,MAAM,CAAC;AACnE,CAAC;AAED,OAAO,MAAMC,mBAAmB,GAAG,MAAO7I,SAAiB,IAAK;EAC9D,OAAO,MAAM/B,MAAM,CAAC4K,mBAAmB,CAAC7I,SAAS,CAAC;AACpD,CAAC;AAED,OAAO,MAAM8I,yBAAyB,GAAG,MAAO9I,SAAiB,IAAK;EACpE,OAAO,MAAM/B,MAAM,CAAC6K,yBAAyB,CAAC9I,SAAS,CAAC;AAC1D,CAAC;AAED,OAAO,MAAM+I,wBAAwB,GAAG,MAAO/I,SAAiB,IAAK;EACnE,OAAO,MAAM/B,MAAM,CAAC8K,wBAAwB,CAAC/I,SAAS,CAAC;AACzD,CAAC;AAED,OAAO,MAAMgJ,iBAAiB,GAAG,MAAOhJ,SAAiB,IAAK;EAC5D,OAAO,MAAM/B,MAAM,CAAC+K,iBAAiB,CAAChJ,SAAS,CAAC;AAClD,CAAC;AAED,OAAO,MAAMiJ,oBAAoB,GAAG,MAAAA,CAAOjJ,SAAiB,EAAE8C,MAAc,EAAEoG,UAAoB,EAAE7H,MAA8B,KAAsC;EACtK,OAAO,MAAMpD,MAAM,CAACgL,oBAAoB,CAACjJ,SAAS,EAAE8C,MAAM,EAAEoG,UAAU,EAAE7H,MAAM,CAAC;AACjF,CAAC;AAED,OAAO,MAAM8H,WAAW,GAAG,MAAAA,CAAOnJ,SAAiB,EAAEoJ,gBAAwB,KAAK;EAChF,OAAO,MAAMnL,MAAM,CAACkL,WAAW,CAACnJ,SAAS,EAAEoJ,gBAAgB,CAAC;AAC9D,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAG,MAAOrJ,SAAiB,IAAK;EAC3D,OAAO,MAAM/B,MAAM,CAACoL,gBAAgB,CAACrJ,SAAS,CAAC;AACjD,CAAC;AAED,OAAO,MAAMsJ,UAAU,GAAG,MAAOtJ,SAAiB,IAA6B;EAC7E,OAAO,MAAM/B,MAAM,CAACqL,UAAU,CAACtJ,SAAS,CAAC;AAC3C,CAAC;AAED,OAAO,MAAMuJ,2BAA2B,GAAG,MAAAA,CAAOvJ,SAAiB,EAAEwJ,cAAsB,EAAEC,WAAmB,KAA2C;EACzJ,OAAO,MAAMxL,MAAM,CAACsL,2BAA2B,CAACvJ,SAAS,EAAEwJ,cAAc,EAAEC,WAAW,CAAC;AACzF,CAAC;AAED,OAAO,MAAMC,6BAA6B,GAAG,MAAAA,CAAO1J,SAAiB,EAAEyJ,WAAmB,KAAuC;EAC/H,OAAO,MAAMxL,MAAM,CAACyL,6BAA6B,CAAC1J,SAAS,EAAEyJ,WAAW,CAAC;AAC3E,CAAC;AAED,OAAO,MAAME,iBAAiB,GAAG,MAAAA,CAAO3J,SAAiB,EAAEsE,MAAgB,KAAuC;EAChH,OAAO,MAAMrG,MAAM,CAAC0L,iBAAiB,CAAC3J,SAAS,EAAEsE,MAAM,CAAC;AAC1D,CAAC;AAED,OAAO,MAAMsF,cAAc,GAAG,MAAO5J,SAAiB,IAAK;EACzD,OAAO,MAAM/B,MAAM,CAAC2L,cAAc,CAAC5J,SAAS,CAAC;AAC/C,CAAC;AAED,OAAO,MAAMoE,QAAQ,GAAG,MAAAA,CAAOpE,SAAiB,EAAEZ,IAAY,EAAE8J,UAAqB,KAAoC;EACvH,IAAIA,UAAU,IAAIA,UAAU,CAACW,MAAM,GAAG,CAAC,EAAE;IACvC,OAAO,MAAM5L,MAAM,CAACmG,QAAQ,CAACpE,SAAS,EAAEZ,IAAI,EAAE8J,UAAU,CAAC;EAC3D,CAAC,MAAM;IACL,OAAO,MAAMjL,MAAM,CAACmG,QAAQ,CAACpE,SAAS,EAAEZ,IAAI,CAAC;EAC/C;AACF,CAAC","ignoreList":[]}