cui-llama.rn 1.4.3 → 1.4.4

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 (181) hide show
  1. package/README.md +93 -114
  2. package/android/src/main/CMakeLists.txt +5 -0
  3. package/android/src/main/build-arm64/CMakeCache.txt +429 -0
  4. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CMakeCCompiler.cmake +21 -21
  5. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CMakeCXXCompiler.cmake +101 -0
  6. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CMakeDetermineCompilerABI_C.bin +0 -0
  7. package/android/src/main/build-arm64/CMakeFiles/3.31.4/CMakeDetermineCompilerABI_CXX.bin +0 -0
  8. package/android/src/main/build-arm64/CMakeFiles/CMakeConfigureLog.yaml +376 -0
  9. package/android/src/main/build-arm64/CMakeFiles/CMakeDirectoryInformation.cmake +16 -0
  10. package/android/src/main/build-arm64/CMakeFiles/Makefile.cmake +165 -0
  11. package/android/src/main/build-arm64/CMakeFiles/Makefile2 +297 -0
  12. package/android/src/main/build-arm64/CMakeFiles/Progress/1 +1 -0
  13. package/android/src/main/build-arm64/CMakeFiles/Progress/2 +1 -0
  14. package/android/src/main/build-arm64/CMakeFiles/Progress/3 +1 -0
  15. package/android/src/main/build-arm64/CMakeFiles/Progress/4 +1 -0
  16. package/android/src/main/build-arm64/CMakeFiles/Progress/5 +1 -0
  17. package/android/src/main/build-arm64/CMakeFiles/Progress/6 +1 -0
  18. package/android/src/main/build-arm64/CMakeFiles/Progress/count.txt +1 -0
  19. package/android/src/main/build-arm64/CMakeFiles/TargetDirectories.txt +8 -0
  20. package/android/src/main/build-arm64/CMakeFiles/cmake.check_cache +1 -0
  21. package/android/src/main/build-arm64/CMakeFiles/progress.marks +1 -0
  22. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-alloc.c.o +0 -0
  23. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-alloc.c.o.d +58 -0
  24. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-backend-reg.cpp.o +0 -0
  25. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-backend-reg.cpp.o.d +756 -0
  26. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-backend.cpp.o +0 -0
  27. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-backend.cpp.o.d +709 -0
  28. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu-aarch64.cpp.o +0 -0
  29. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu-aarch64.cpp.o.d +714 -0
  30. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu-quants.c.o +0 -0
  31. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu-quants.c.o.d +62 -0
  32. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu-traits.cpp.o +0 -0
  33. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu-traits.cpp.o.d +708 -0
  34. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu.c.o +0 -0
  35. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu.c.o.d +113 -0
  36. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu.cpp.o +0 -0
  37. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-cpu.cpp.o.d +713 -0
  38. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-opt.cpp.o +0 -0
  39. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-opt.cpp.o.d +763 -0
  40. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-quants.c.o +0 -0
  41. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-quants.c.o.d +61 -0
  42. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-threading.cpp.o +0 -0
  43. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml-threading.cpp.o.d +707 -0
  44. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml.c.o +0 -0
  45. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/ggml.c.o.d +104 -0
  46. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/gguf.cpp.o +0 -0
  47. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/gguf.cpp.o.d +714 -0
  48. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/log.cpp.o +0 -0
  49. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/D_/dev/react-native/cui-llama.rn/cpp/log.cpp.o.d +723 -0
  50. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/DependInfo.cmake +62 -0
  51. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/build.make +722 -0
  52. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/cmake_clean.cmake +89 -0
  53. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/compiler_depend.make +2 -0
  54. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/compiler_depend.ts +2 -0
  55. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/depend.make +2 -0
  56. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/flags.make +17 -0
  57. package/android/src/main/build-arm64/CMakeFiles/rnllama.dir/progress.make +41 -0
  58. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/DependInfo.cmake +62 -0
  59. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/build.make +722 -0
  60. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/cmake_clean.cmake +89 -0
  61. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/compiler_depend.make +2 -0
  62. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/compiler_depend.ts +2 -0
  63. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/depend.make +2 -0
  64. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/flags.make +17 -0
  65. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8.dir/progress.make +41 -0
  66. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/DependInfo.cmake +62 -0
  67. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/build.make +722 -0
  68. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/cmake_clean.cmake +89 -0
  69. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/compiler_depend.make +2 -0
  70. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/compiler_depend.ts +2 -0
  71. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/depend.make +2 -0
  72. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/flags.make +17 -0
  73. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2.dir/progress.make +41 -0
  74. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/DependInfo.cmake +62 -0
  75. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/build.make +722 -0
  76. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/cmake_clean.cmake +89 -0
  77. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/compiler_depend.make +2 -0
  78. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/compiler_depend.ts +2 -0
  79. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/depend.make +2 -0
  80. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/flags.make +17 -0
  81. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod.dir/progress.make +41 -0
  82. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/DependInfo.cmake +62 -0
  83. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/build.make +722 -0
  84. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/cmake_clean.cmake +89 -0
  85. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/compiler_depend.make +2 -0
  86. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/compiler_depend.ts +2 -0
  87. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/depend.make +2 -0
  88. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/flags.make +17 -0
  89. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_dotprod_i8mm.dir/progress.make +41 -0
  90. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/DependInfo.cmake +62 -0
  91. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/build.make +722 -0
  92. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/cmake_clean.cmake +89 -0
  93. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/compiler_depend.make +2 -0
  94. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/compiler_depend.ts +2 -0
  95. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/depend.make +2 -0
  96. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/flags.make +17 -0
  97. package/android/src/main/build-arm64/CMakeFiles/rnllama_v8_2_i8mm.dir/progress.make +41 -0
  98. package/android/src/main/build-arm64/Makefile +1862 -0
  99. package/android/src/main/build-arm64/cmake_install.cmake +66 -0
  100. package/android/src/main/java/com/rnllama/LlamaContext.java +91 -17
  101. package/android/src/main/java/com/rnllama/RNLlama.java +37 -4
  102. package/android/src/main/jni-utils.h +6 -0
  103. package/android/src/main/jni.cpp +287 -31
  104. package/android/src/main/jniLibs/arm64-v8a/librnllama.so +0 -0
  105. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8.so +0 -0
  106. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2.so +0 -0
  107. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod.so +0 -0
  108. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_dotprod_i8mm.so +0 -0
  109. package/android/src/main/jniLibs/arm64-v8a/librnllama_v8_2_i8mm.so +0 -0
  110. package/android/src/main/jniLibs/x86_64/librnllama.so +0 -0
  111. package/android/src/main/jniLibs/x86_64/librnllama_x86_64.so +0 -0
  112. package/android/src/newarch/java/com/rnllama/RNLlamaModule.java +7 -2
  113. package/android/src/oldarch/java/com/rnllama/RNLlamaModule.java +7 -2
  114. package/cpp/chat-template.hpp +529 -0
  115. package/cpp/chat.cpp +1085 -0
  116. package/cpp/chat.hpp +55 -0
  117. package/cpp/common.cpp +159 -36
  118. package/cpp/common.h +64 -19
  119. package/cpp/ggml-alloc.c +1 -13
  120. package/cpp/ggml-common.h +0 -2
  121. package/cpp/ggml-cpu-impl.h +6 -12
  122. package/cpp/ggml-cpu-quants.c +937 -340
  123. package/cpp/ggml-cpu.c +207 -113
  124. package/cpp/ggml-cpu.cpp +4 -6
  125. package/cpp/ggml-cpu.h +1 -1
  126. package/cpp/ggml-metal.h +66 -66
  127. package/cpp/ggml-metal.m +141 -23
  128. package/cpp/ggml.c +24 -14
  129. package/cpp/ggml.h +2 -2
  130. package/cpp/json-schema-to-grammar.cpp +46 -66
  131. package/cpp/json-schema-to-grammar.h +15 -1
  132. package/cpp/llama-arch.cpp +7 -2
  133. package/cpp/llama-arch.h +3 -1
  134. package/cpp/llama-chat.cpp +10 -1
  135. package/cpp/llama-chat.h +1 -0
  136. package/cpp/llama-grammar.cpp +86 -6
  137. package/cpp/llama-grammar.h +22 -1
  138. package/cpp/llama-impl.h +6 -6
  139. package/cpp/llama-kv-cache.h +1 -1
  140. package/cpp/llama-mmap.h +1 -0
  141. package/cpp/llama-model-loader.cpp +1 -1
  142. package/cpp/llama-model.cpp +32 -6
  143. package/cpp/llama-sampling.cpp +178 -61
  144. package/cpp/llama-vocab.cpp +8 -3
  145. package/cpp/llama.cpp +188 -128
  146. package/cpp/llama.h +27 -10
  147. package/cpp/log.cpp +32 -10
  148. package/cpp/log.h +12 -1
  149. package/cpp/minja.hpp +2883 -0
  150. package/cpp/rn-llama.cpp +82 -5
  151. package/cpp/rn-llama.h +16 -1
  152. package/cpp/sampling.cpp +68 -41
  153. package/cpp/sampling.h +3 -0
  154. package/cpp/sgemm.cpp +9 -8
  155. package/cpp/unicode.cpp +9 -2
  156. package/ios/CMakeLists.txt +6 -0
  157. package/ios/RNLlama.h +0 -8
  158. package/ios/RNLlama.mm +27 -3
  159. package/ios/RNLlamaContext.h +10 -1
  160. package/ios/RNLlamaContext.mm +269 -57
  161. package/jest/mock.js +21 -2
  162. package/lib/commonjs/NativeRNLlama.js.map +1 -1
  163. package/lib/commonjs/grammar.js +3 -0
  164. package/lib/commonjs/grammar.js.map +1 -1
  165. package/lib/commonjs/index.js +87 -13
  166. package/lib/commonjs/index.js.map +1 -1
  167. package/lib/module/NativeRNLlama.js.map +1 -1
  168. package/lib/module/grammar.js +3 -0
  169. package/lib/module/grammar.js.map +1 -1
  170. package/lib/module/index.js +86 -13
  171. package/lib/module/index.js.map +1 -1
  172. package/lib/typescript/NativeRNLlama.d.ts +107 -2
  173. package/lib/typescript/NativeRNLlama.d.ts.map +1 -1
  174. package/lib/typescript/grammar.d.ts.map +1 -1
  175. package/lib/typescript/index.d.ts +32 -7
  176. package/lib/typescript/index.d.ts.map +1 -1
  177. package/llama-rn.podspec +1 -1
  178. package/package.json +3 -2
  179. package/src/NativeRNLlama.ts +115 -3
  180. package/src/grammar.ts +3 -0
  181. package/src/index.ts +138 -21
@@ -10,6 +10,7 @@ Object.defineProperty(exports, "SchemaGrammarConverter", {
10
10
  return _grammar.SchemaGrammarConverter;
11
11
  }
12
12
  });
13
+ exports.addNativeLogListener = addNativeLogListener;
13
14
  Object.defineProperty(exports, "convertJsonSchemaToGrammar", {
14
15
  enumerable: true,
15
16
  get: function () {
@@ -21,6 +22,7 @@ exports.initLlama = initLlama;
21
22
  exports.loadLlamaModelInfo = loadLlamaModelInfo;
22
23
  exports.releaseAllLlama = releaseAllLlama;
23
24
  exports.setContextLimit = setContextLimit;
25
+ exports.toggleNativeLog = toggleNativeLog;
24
26
  var _reactNative = require("react-native");
25
27
  var _NativeRNLlama = _interopRequireDefault(require("./NativeRNLlama"));
26
28
  var _grammar = require("./grammar");
@@ -28,6 +30,7 @@ var _chat = require("./chat");
28
30
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
31
  const EVENT_ON_INIT_CONTEXT_PROGRESS = '@RNLlama_onInitContextProgress';
30
32
  const EVENT_ON_TOKEN = '@RNLlama_onToken';
33
+ const EVENT_ON_NATIVE_LOG = '@RNLlama_onNativeLog';
31
34
  let EventEmitter;
32
35
  if (_reactNative.Platform.OS === 'ios') {
33
36
  // @ts-ignore
@@ -36,6 +39,16 @@ if (_reactNative.Platform.OS === 'ios') {
36
39
  if (_reactNative.Platform.OS === 'android') {
37
40
  EventEmitter = _reactNative.DeviceEventEmitter;
38
41
  }
42
+ const logListeners = [];
43
+
44
+ // @ts-ignore
45
+ if (EventEmitter) {
46
+ var _RNLlama$toggleNative;
47
+ EventEmitter.addListener(EVENT_ON_NATIVE_LOG, evt => {
48
+ logListeners.forEach(listener => listener(evt.level, evt.text));
49
+ });
50
+ _NativeRNLlama.default === null || _NativeRNLlama.default === void 0 || (_RNLlama$toggleNative = _NativeRNLlama.default.toggleNativeLog) === null || _RNLlama$toggleNative === void 0 ? void 0 : _RNLlama$toggleNative.call(_NativeRNLlama.default, false); // Trigger unset to use default log callback
51
+ }
39
52
  let CACHE_TYPE = /*#__PURE__*/function (CACHE_TYPE) {
40
53
  CACHE_TYPE["F16"] = "f16";
41
54
  CACHE_TYPE["F32"] = "f32";
@@ -48,10 +61,19 @@ let CACHE_TYPE = /*#__PURE__*/function (CACHE_TYPE) {
48
61
  return CACHE_TYPE;
49
62
  }({});
50
63
  exports.CACHE_TYPE = CACHE_TYPE;
64
+ const getJsonSchema = responseFormat => {
65
+ if ((responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.type) === 'json_schema') {
66
+ var _responseFormat$json_;
67
+ return (_responseFormat$json_ = responseFormat.json_schema) === null || _responseFormat$json_ === void 0 ? void 0 : _responseFormat$json_.schema;
68
+ }
69
+ if ((responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.type) === 'json_object') {
70
+ return responseFormat.schema || {};
71
+ }
72
+ return null;
73
+ };
51
74
  class LlamaContext {
52
75
  gpu = false;
53
76
  reasonNoGPU = '';
54
- model = {};
55
77
  constructor(_ref) {
56
78
  let {
57
79
  contextId,
@@ -80,18 +102,63 @@ class LlamaContext {
80
102
  async saveSession(filepath, options) {
81
103
  return _NativeRNLlama.default.saveSession(this.id, filepath, (options === null || options === void 0 ? void 0 : options.tokenSize) || -1);
82
104
  }
83
- async getFormattedChat(messages, template) {
84
- var _this$model;
105
+ isLlamaChatSupported() {
106
+ return !!this.model.chatTemplates.llamaChat;
107
+ }
108
+ isJinjaSupported() {
109
+ const {
110
+ minja
111
+ } = this.model.chatTemplates;
112
+ return !!(minja !== null && minja !== void 0 && minja.toolUse) || !!(minja !== null && minja !== void 0 && minja.default);
113
+ }
114
+ async getFormattedChat(messages, template, params) {
85
115
  const chat = (0, _chat.formatChat)(messages);
86
- let tmpl = (_this$model = this.model) !== null && _this$model !== void 0 && _this$model.isChatTemplateSupported ? undefined : 'chatml';
116
+ const useJinja = this.isJinjaSupported() && (params === null || params === void 0 ? void 0 : params.jinja);
117
+ let tmpl = this.isLlamaChatSupported() || useJinja ? undefined : 'chatml';
87
118
  if (template) tmpl = template; // Force replace if provided
88
- return _NativeRNLlama.default.getFormattedChat(this.id, chat, tmpl);
119
+ const jsonSchema = getJsonSchema(params === null || params === void 0 ? void 0 : params.response_format);
120
+ return _NativeRNLlama.default.getFormattedChat(this.id, JSON.stringify(chat), tmpl, {
121
+ jinja: useJinja,
122
+ json_schema: jsonSchema ? JSON.stringify(jsonSchema) : undefined,
123
+ tools: params !== null && params !== void 0 && params.tools ? JSON.stringify(params.tools) : undefined,
124
+ parallel_tool_calls: params !== null && params !== void 0 && params.parallel_tool_calls ? JSON.stringify(params.parallel_tool_calls) : undefined,
125
+ tool_choice: params === null || params === void 0 ? void 0 : params.tool_choice
126
+ });
89
127
  }
90
128
  async completion(params, callback) {
91
- let finalPrompt = params.prompt;
129
+ const nativeParams = {
130
+ ...params,
131
+ prompt: params.prompt || '',
132
+ emit_partial_completion: !!callback
133
+ };
92
134
  if (params.messages) {
93
135
  // messages always win
94
- finalPrompt = await this.getFormattedChat(params.messages, params.chatTemplate);
136
+ const formattedResult = await this.getFormattedChat(params.messages, params.chat_template || params.chatTemplate, {
137
+ jinja: params.jinja,
138
+ tools: params.tools,
139
+ parallel_tool_calls: params.parallel_tool_calls,
140
+ tool_choice: params.tool_choice
141
+ });
142
+ if (typeof formattedResult === 'string') {
143
+ nativeParams.prompt = formattedResult || '';
144
+ } else {
145
+ nativeParams.prompt = formattedResult.prompt || '';
146
+ if (typeof formattedResult.chat_format === 'number') nativeParams.chat_format = formattedResult.chat_format;
147
+ if (formattedResult.grammar) nativeParams.grammar = formattedResult.grammar;
148
+ if (typeof formattedResult.grammar_lazy === 'boolean') nativeParams.grammar_lazy = formattedResult.grammar_lazy;
149
+ if (formattedResult.grammar_triggers) nativeParams.grammar_triggers = formattedResult.grammar_triggers;
150
+ if (formattedResult.preserved_tokens) nativeParams.preserved_tokens = formattedResult.preserved_tokens;
151
+ if (formattedResult.additional_stops) {
152
+ if (!nativeParams.stop) nativeParams.stop = [];
153
+ nativeParams.stop.push(...formattedResult.additional_stops);
154
+ }
155
+ }
156
+ } else {
157
+ nativeParams.prompt = params.prompt || '';
158
+ }
159
+ if (nativeParams.response_format && !nativeParams.grammar) {
160
+ const jsonSchema = getJsonSchema(params.response_format);
161
+ if (jsonSchema) nativeParams.json_schema = JSON.stringify(jsonSchema);
95
162
  }
96
163
  let tokenListener = callback && EventEmitter.addListener(EVENT_ON_TOKEN, evt => {
97
164
  const {
@@ -101,12 +168,8 @@ class LlamaContext {
101
168
  if (contextId !== this.id) return;
102
169
  callback(tokenResult);
103
170
  });
104
- if (!finalPrompt) throw new Error('Prompt is required');
105
- const promise = _NativeRNLlama.default.completion(this.id, {
106
- ...params,
107
- prompt: finalPrompt,
108
- emit_partial_completion: !!callback
109
- });
171
+ if (!nativeParams.prompt) throw new Error('Prompt is required');
172
+ const promise = _NativeRNLlama.default.completion(this.id, nativeParams);
110
173
  return promise.then(completionResult => {
111
174
  var _tokenListener;
112
175
  (_tokenListener = tokenListener) === null || _tokenListener === void 0 ? void 0 : _tokenListener.remove();
@@ -169,6 +232,17 @@ exports.LlamaContext = LlamaContext;
169
232
  async function getCpuFeatures() {
170
233
  return _NativeRNLlama.default.getCpuFeatures();
171
234
  }
235
+ async function toggleNativeLog(enabled) {
236
+ return _NativeRNLlama.default.toggleNativeLog(enabled);
237
+ }
238
+ function addNativeLogListener(listener) {
239
+ logListeners.push(listener);
240
+ return {
241
+ remove: () => {
242
+ logListeners.splice(logListeners.indexOf(listener), 1);
243
+ }
244
+ };
245
+ }
172
246
  async function setContextLimit(limit) {
173
247
  return _NativeRNLlama.default.setContextLimit(limit);
174
248
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeRNLlama","_interopRequireDefault","_grammar","_chat","obj","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EventEmitter","Platform","OS","NativeEventEmitter","RNLlama","DeviceEventEmitter","CACHE_TYPE","exports","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","getFormattedChat","messages","template","_this$model","chat","formatChat","tmpl","isChatTemplateSupported","undefined","completion","params","callback","finalPrompt","prompt","chatTemplate","tokenListener","addListener","evt","tokenResult","Error","promise","emit_partial_completion","then","completionResult","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenizeAsync","text","tokenizeSync","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","JSON","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","getCpuFeatures","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","_ref2","onProgress","_loraPath","_removeProgressListen2","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","_removeProgressListen","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_NativeRNLlama","_interopRequireDefault","_grammar","_chat","obj","__esModule","default","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","Platform","OS","NativeEventEmitter","RNLlama","DeviceEventEmitter","logListeners","_RNLlama$toggleNative","addListener","evt","forEach","listener","level","text","toggleNativeLog","call","CACHE_TYPE","exports","getJsonSchema","responseFormat","type","_responseFormat$json_","json_schema","schema","LlamaContext","gpu","reasonNoGPU","constructor","_ref","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","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenizeAsync","tokenizeSync","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","getCpuFeatures","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","_ref2","onProgress","_loraPath","_removeProgressListen2","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","_removeProgressListen","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAsTlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,SAAS,CAAC"}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"..\\..\\src","sources":["NativeRNLlama.ts"],"mappings":"AACA,SAASA,mBAAmB,QAAQ,cAAc;AAsalD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,SAAS,CAAC"}
@@ -1,5 +1,8 @@
1
1
  /* eslint-disable no-restricted-syntax */
2
2
  /* eslint-disable no-underscore-dangle */
3
+
4
+ // NOTE: Deprecated, please use tools or response_format with json_schema instead
5
+
3
6
  const SPACE_RULE = '" "?';
4
7
  function buildRepetition(itemRule, minItems, maxItems) {
5
8
  let opts = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
@@ -1 +1 @@
1
- {"version":3,"names":["SPACE_RULE","buildRepetition","itemRule","minItems","maxItems","opts","arguments","length","undefined","separatorRule","itemRuleIsLiteral","result","slice","repeat","Array","from","join","optRepetitions","upToN","prefixWithSep","content","trim","itemOperator","SchemaGrammarConverterBuiltinRule","constructor","deps","BuiltinRule","UP_TO_15_DIGITS","PRIMITIVE_RULES","boolean","number","integer","value","object","array","uuid","map","n","_","char","string","null","STRING_FORMAT_RULES","date","time","RESERVED_NAMES","root","INVALID_RULE_CHARS_RE","GRAMMAR_LITERAL_ESCAPE_RE","GRAMMAR_LITERAL_ESCAPES","NON_LITERAL_SET","Set","ESCAPED_IN_REGEXPS_BUT_NOT_IN_LITERALS","formatLiteral","literal","escaped","replace","m","generateConstantRule","JSON","stringify","groupBy","iterable","keyFn","lastKey","group","element","key","push","SchemaGrammarConverter","options","_propOrder","prop_order","_allowFetch","allow_fetch","_dotall","dotall","_rules","space","_refs","_refsBeingResolved","_addRule","name","rule","escName","i","resolveRefs","schema","url","visit","isArray","Promise","all","ref","$ref","target","startsWith","Error","fragSplit","split","baseUrl","fetch","then","res","json","selectors","sel","Object","values","_generateUnionRule","altSchemas","altSchema","_visitPattern","pattern","endsWith","subRuleIds","getDot","toRule","_ref","s","isLiteral","transform","start","seq","joinSeq","ret","g","x","c","squareBrackets","curlyBrackets","nums","minTimes","maxTimes","parseInt","Infinity","sub","subIsLiteral","id","keys","next","has","_resolveRef","refName","pop","add","resolved","delete","schemaType","type","schemaFormat","format","isRoot","ruleName","oneOf","anyOf","t","const","enum","v","additionalProperties","required","properties","entries","_buildObjectRule","addComponent","compSchema","isRequired","propName","propSchema","allOf","tt","items","prefixItems","rules","item","itemRuleName","test","_addPrimitive","primName","charRuleName","minLen","minLength","maxLen","maxLength","dep","depRule","propOrder","sortedProps","_ref2","k","sort","a","b","orderA","orderB","findIndex","_ref3","_ref4","propKvRuleNames","propRuleName","requiredProps","filter","optionalProps","subName","valueRule","getRecursiveRefs","ks","firstIsOptional","rest","kvRuleName","formatGrammar","grammar","_ref5","_ref6","localeCompare","convertJsonSchemaToGrammar","_ref7","allowFetch","converter"],"sourceRoot":"..\\..\\src","sources":["grammar.ts"],"mappings":"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"}
1
+ {"version":3,"names":["SPACE_RULE","buildRepetition","itemRule","minItems","maxItems","opts","arguments","length","undefined","separatorRule","itemRuleIsLiteral","result","slice","repeat","Array","from","join","optRepetitions","upToN","prefixWithSep","content","trim","itemOperator","SchemaGrammarConverterBuiltinRule","constructor","deps","BuiltinRule","UP_TO_15_DIGITS","PRIMITIVE_RULES","boolean","number","integer","value","object","array","uuid","map","n","_","char","string","null","STRING_FORMAT_RULES","date","time","RESERVED_NAMES","root","INVALID_RULE_CHARS_RE","GRAMMAR_LITERAL_ESCAPE_RE","GRAMMAR_LITERAL_ESCAPES","NON_LITERAL_SET","Set","ESCAPED_IN_REGEXPS_BUT_NOT_IN_LITERALS","formatLiteral","literal","escaped","replace","m","generateConstantRule","JSON","stringify","groupBy","iterable","keyFn","lastKey","group","element","key","push","SchemaGrammarConverter","options","_propOrder","prop_order","_allowFetch","allow_fetch","_dotall","dotall","_rules","space","_refs","_refsBeingResolved","_addRule","name","rule","escName","i","resolveRefs","schema","url","visit","isArray","Promise","all","ref","$ref","target","startsWith","Error","fragSplit","split","baseUrl","fetch","then","res","json","selectors","sel","Object","values","_generateUnionRule","altSchemas","altSchema","_visitPattern","pattern","endsWith","subRuleIds","getDot","toRule","_ref","s","isLiteral","transform","start","seq","joinSeq","ret","g","x","c","squareBrackets","curlyBrackets","nums","minTimes","maxTimes","parseInt","Infinity","sub","subIsLiteral","id","keys","next","has","_resolveRef","refName","pop","add","resolved","delete","schemaType","type","schemaFormat","format","isRoot","ruleName","oneOf","anyOf","t","const","enum","v","additionalProperties","required","properties","entries","_buildObjectRule","addComponent","compSchema","isRequired","propName","propSchema","allOf","tt","items","prefixItems","rules","item","itemRuleName","test","_addPrimitive","primName","charRuleName","minLen","minLength","maxLen","maxLength","dep","depRule","propOrder","sortedProps","_ref2","k","sort","a","b","orderA","orderB","findIndex","_ref3","_ref4","propKvRuleNames","propRuleName","requiredProps","filter","optionalProps","subName","valueRule","getRecursiveRefs","ks","firstIsOptional","rest","kvRuleName","formatGrammar","grammar","_ref5","_ref6","localeCompare","convertJsonSchemaToGrammar","_ref7","allowFetch","converter"],"sourceRoot":"..\\..\\src","sources":["grammar.ts"],"mappings":"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"}
@@ -5,6 +5,7 @@ import { formatChat } from './chat';
5
5
  export { SchemaGrammarConverter, convertJsonSchemaToGrammar };
6
6
  const EVENT_ON_INIT_CONTEXT_PROGRESS = '@RNLlama_onInitContextProgress';
7
7
  const EVENT_ON_TOKEN = '@RNLlama_onToken';
8
+ const EVENT_ON_NATIVE_LOG = '@RNLlama_onNativeLog';
8
9
  let EventEmitter;
9
10
  if (Platform.OS === 'ios') {
10
11
  // @ts-ignore
@@ -13,6 +14,17 @@ if (Platform.OS === 'ios') {
13
14
  if (Platform.OS === 'android') {
14
15
  EventEmitter = DeviceEventEmitter;
15
16
  }
17
+ const logListeners = [];
18
+
19
+ // @ts-ignore
20
+ if (EventEmitter) {
21
+ var _RNLlama$toggleNative;
22
+ EventEmitter.addListener(EVENT_ON_NATIVE_LOG, evt => {
23
+ logListeners.forEach(listener => listener(evt.level, evt.text));
24
+ });
25
+ RNLlama === null || RNLlama === void 0 || (_RNLlama$toggleNative = RNLlama.toggleNativeLog) === null || _RNLlama$toggleNative === void 0 ? void 0 : _RNLlama$toggleNative.call(RNLlama, false); // Trigger unset to use default log callback
26
+ }
27
+
16
28
  export let CACHE_TYPE = /*#__PURE__*/function (CACHE_TYPE) {
17
29
  CACHE_TYPE["F16"] = "f16";
18
30
  CACHE_TYPE["F32"] = "f32";
@@ -24,10 +36,19 @@ export let CACHE_TYPE = /*#__PURE__*/function (CACHE_TYPE) {
24
36
  CACHE_TYPE["Q5_1"] = "q5_1";
25
37
  return CACHE_TYPE;
26
38
  }({});
39
+ const getJsonSchema = responseFormat => {
40
+ if ((responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.type) === 'json_schema') {
41
+ var _responseFormat$json_;
42
+ return (_responseFormat$json_ = responseFormat.json_schema) === null || _responseFormat$json_ === void 0 ? void 0 : _responseFormat$json_.schema;
43
+ }
44
+ if ((responseFormat === null || responseFormat === void 0 ? void 0 : responseFormat.type) === 'json_object') {
45
+ return responseFormat.schema || {};
46
+ }
47
+ return null;
48
+ };
27
49
  export class LlamaContext {
28
50
  gpu = false;
29
51
  reasonNoGPU = '';
30
- model = {};
31
52
  constructor(_ref) {
32
53
  let {
33
54
  contextId,
@@ -56,18 +77,63 @@ export class LlamaContext {
56
77
  async saveSession(filepath, options) {
57
78
  return RNLlama.saveSession(this.id, filepath, (options === null || options === void 0 ? void 0 : options.tokenSize) || -1);
58
79
  }
59
- async getFormattedChat(messages, template) {
60
- var _this$model;
80
+ isLlamaChatSupported() {
81
+ return !!this.model.chatTemplates.llamaChat;
82
+ }
83
+ isJinjaSupported() {
84
+ const {
85
+ minja
86
+ } = this.model.chatTemplates;
87
+ return !!(minja !== null && minja !== void 0 && minja.toolUse) || !!(minja !== null && minja !== void 0 && minja.default);
88
+ }
89
+ async getFormattedChat(messages, template, params) {
61
90
  const chat = formatChat(messages);
62
- let tmpl = (_this$model = this.model) !== null && _this$model !== void 0 && _this$model.isChatTemplateSupported ? undefined : 'chatml';
91
+ const useJinja = this.isJinjaSupported() && (params === null || params === void 0 ? void 0 : params.jinja);
92
+ let tmpl = this.isLlamaChatSupported() || useJinja ? undefined : 'chatml';
63
93
  if (template) tmpl = template; // Force replace if provided
64
- return RNLlama.getFormattedChat(this.id, chat, tmpl);
94
+ const jsonSchema = getJsonSchema(params === null || params === void 0 ? void 0 : params.response_format);
95
+ return RNLlama.getFormattedChat(this.id, JSON.stringify(chat), tmpl, {
96
+ jinja: useJinja,
97
+ json_schema: jsonSchema ? JSON.stringify(jsonSchema) : undefined,
98
+ tools: params !== null && params !== void 0 && params.tools ? JSON.stringify(params.tools) : undefined,
99
+ parallel_tool_calls: params !== null && params !== void 0 && params.parallel_tool_calls ? JSON.stringify(params.parallel_tool_calls) : undefined,
100
+ tool_choice: params === null || params === void 0 ? void 0 : params.tool_choice
101
+ });
65
102
  }
66
103
  async completion(params, callback) {
67
- let finalPrompt = params.prompt;
104
+ const nativeParams = {
105
+ ...params,
106
+ prompt: params.prompt || '',
107
+ emit_partial_completion: !!callback
108
+ };
68
109
  if (params.messages) {
69
110
  // messages always win
70
- finalPrompt = await this.getFormattedChat(params.messages, params.chatTemplate);
111
+ const formattedResult = await this.getFormattedChat(params.messages, params.chat_template || params.chatTemplate, {
112
+ jinja: params.jinja,
113
+ tools: params.tools,
114
+ parallel_tool_calls: params.parallel_tool_calls,
115
+ tool_choice: params.tool_choice
116
+ });
117
+ if (typeof formattedResult === 'string') {
118
+ nativeParams.prompt = formattedResult || '';
119
+ } else {
120
+ nativeParams.prompt = formattedResult.prompt || '';
121
+ if (typeof formattedResult.chat_format === 'number') nativeParams.chat_format = formattedResult.chat_format;
122
+ if (formattedResult.grammar) nativeParams.grammar = formattedResult.grammar;
123
+ if (typeof formattedResult.grammar_lazy === 'boolean') nativeParams.grammar_lazy = formattedResult.grammar_lazy;
124
+ if (formattedResult.grammar_triggers) nativeParams.grammar_triggers = formattedResult.grammar_triggers;
125
+ if (formattedResult.preserved_tokens) nativeParams.preserved_tokens = formattedResult.preserved_tokens;
126
+ if (formattedResult.additional_stops) {
127
+ if (!nativeParams.stop) nativeParams.stop = [];
128
+ nativeParams.stop.push(...formattedResult.additional_stops);
129
+ }
130
+ }
131
+ } else {
132
+ nativeParams.prompt = params.prompt || '';
133
+ }
134
+ if (nativeParams.response_format && !nativeParams.grammar) {
135
+ const jsonSchema = getJsonSchema(params.response_format);
136
+ if (jsonSchema) nativeParams.json_schema = JSON.stringify(jsonSchema);
71
137
  }
72
138
  let tokenListener = callback && EventEmitter.addListener(EVENT_ON_TOKEN, evt => {
73
139
  const {
@@ -77,12 +143,8 @@ export class LlamaContext {
77
143
  if (contextId !== this.id) return;
78
144
  callback(tokenResult);
79
145
  });
80
- if (!finalPrompt) throw new Error('Prompt is required');
81
- const promise = RNLlama.completion(this.id, {
82
- ...params,
83
- prompt: finalPrompt,
84
- emit_partial_completion: !!callback
85
- });
146
+ if (!nativeParams.prompt) throw new Error('Prompt is required');
147
+ const promise = RNLlama.completion(this.id, nativeParams);
86
148
  return promise.then(completionResult => {
87
149
  var _tokenListener;
88
150
  (_tokenListener = tokenListener) === null || _tokenListener === void 0 ? void 0 : _tokenListener.remove();
@@ -144,6 +206,17 @@ export class LlamaContext {
144
206
  export async function getCpuFeatures() {
145
207
  return RNLlama.getCpuFeatures();
146
208
  }
209
+ export async function toggleNativeLog(enabled) {
210
+ return RNLlama.toggleNativeLog(enabled);
211
+ }
212
+ export function addNativeLogListener(listener) {
213
+ logListeners.push(listener);
214
+ return {
215
+ remove: () => {
216
+ logListeners.splice(logListeners.indexOf(listener), 1);
217
+ }
218
+ };
219
+ }
147
220
  export async function setContextLimit(limit) {
148
221
  return RNLlama.setContextLimit(limit);
149
222
  }
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","RNLlama","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EventEmitter","OS","CACHE_TYPE","LlamaContext","gpu","reasonNoGPU","model","constructor","_ref","contextId","id","loadSession","filepath","path","startsWith","slice","saveSession","options","tokenSize","getFormattedChat","messages","template","_this$model","chat","tmpl","isChatTemplateSupported","undefined","completion","params","callback","finalPrompt","prompt","chatTemplate","tokenListener","addListener","evt","tokenResult","Error","promise","emit_partial_completion","then","completionResult","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenizeAsync","text","tokenizeSync","detokenize","tokens","embedding","bench","pp","tg","pl","nr","result","modelDesc","modelSize","modelNParams","ppAvg","ppStd","tgAvg","tgStd","JSON","parse","applyLoraAdapters","loraList","loraAdapters","map","l","replace","scaled","removeLoraAdapters","getLoadedLoraAdapters","release","releaseContext","getCpuFeatures","setContextLimit","limit","contextIdCounter","contextIdRandom","process","env","NODE_ENV","Math","floor","random","modelInfoSkip","loadLlamaModelInfo","modelInfo","poolTypeMap","none","mean","cls","last","rank","initLlama","_ref2","onProgress","_loraPath","_removeProgressListen2","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","_removeProgressListen","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAE/E,OAAOC,OAAO,MAAM,iBAAiB;AAmBrC,SAASC,sBAAsB,EAAEC,0BAA0B,QAAQ,WAAW;AAE9E,SAASC,UAAU,QAAQ,QAAQ;AAoBnC,SAASF,sBAAsB,EAAEC,0BAA0B;AAE3D,MAAME,8BAA8B,GAAG,gCAAgC;AACvE,MAAMC,cAAc,GAAG,kBAAkB;AAEzC,IAAIC,YAA2D;AAC/D,IAAIP,QAAQ,CAACQ,EAAE,KAAK,KAAK,EAAE;EACzB;EACAD,YAAY,GAAG,IAAIT,kBAAkB,CAACG,OAAO,CAAC;AAChD;AACA,IAAID,QAAQ,CAACQ,EAAE,KAAK,SAAS,EAAE;EAC7BD,YAAY,GAAGR,kBAAkB;AACnC;AAYA,WAAYU,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA;AA0CtB,OAAO,MAAMC,YAAY,CAAC;EAGxBC,GAAG,GAAY,KAAK;EAEpBC,WAAW,GAAW,EAAE;EAExBC,KAAK,GAED,CAAC,CAAC;EAENC,WAAWA,CAAAC,IAAA,EAA6D;IAAA,IAA5D;MAAEC,SAAS;MAAEL,GAAG;MAAEC,WAAW;MAAEC;IAA0B,CAAC,GAAAE,IAAA;IACpE,IAAI,CAACE,EAAE,GAAGD,SAAS;IACnB,IAAI,CAACL,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;;EAEA;AACF;AACA;EACE,MAAMK,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,OAAOrB,OAAO,CAACiB,WAAW,CAAC,IAAI,CAACD,EAAE,EAAEG,IAAI,CAAC;EAC3C;;EAEA;AACF;AACA;EACE,MAAMG,WAAWA,CACfJ,QAAgB,EAChBK,OAA+B,EACd;IACjB,OAAOvB,OAAO,CAACsB,WAAW,CAAC,IAAI,CAACN,EAAE,EAAEE,QAAQ,EAAE,CAAAK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,SAAS,KAAI,CAAC,CAAC,CAAC;EACzE;EAEA,MAAMC,gBAAgBA,CACpBC,QAAuC,EACvCC,QAAiB,EACA;IAAA,IAAAC,WAAA;IACjB,MAAMC,IAAI,GAAG1B,UAAU,CAACuB,QAAQ,CAAC;IACjC,IAAII,IAAI,GAAG,CAAAF,WAAA,OAAI,CAAChB,KAAK,cAAAgB,WAAA,eAAVA,WAAA,CAAYG,uBAAuB,GAAGC,SAAS,GAAG,QAAQ;IACrE,IAAIL,QAAQ,EAAEG,IAAI,GAAGH,QAAQ,EAAC;IAC9B,OAAO3B,OAAO,CAACyB,gBAAgB,CAAC,IAAI,CAACT,EAAE,EAAEa,IAAI,EAAEC,IAAI,CAAC;EACtD;EAEA,MAAMG,UAAUA,CACdC,MAAwB,EACxBC,QAAoC,EACH;IACjC,IAAIC,WAAW,GAAGF,MAAM,CAACG,MAAM;IAC/B,IAAIH,MAAM,CAACR,QAAQ,EAAE;MACnB;MACAU,WAAW,GAAG,MAAM,IAAI,CAACX,gBAAgB,CACvCS,MAAM,CAACR,QAAQ,EACfQ,MAAM,CAACI,YACT,CAAC;IACH;IAEA,IAAIC,aAAkB,GACpBJ,QAAQ,IACR7B,YAAY,CAACkC,WAAW,CAACnC,cAAc,EAAGoC,GAAqB,IAAK;MAClE,MAAM;QAAE1B,SAAS;QAAE2B;MAAY,CAAC,GAAGD,GAAG;MACtC,IAAI1B,SAAS,KAAK,IAAI,CAACC,EAAE,EAAE;MAC3BmB,QAAQ,CAACO,WAAW,CAAC;IACvB,CAAC,CAAC;IAEJ,IAAI,CAACN,WAAW,EAAE,MAAM,IAAIO,KAAK,CAAC,oBAAoB,CAAC;IACvD,MAAMC,OAAO,GAAG5C,OAAO,CAACiC,UAAU,CAAC,IAAI,CAACjB,EAAE,EAAE;MAC1C,GAAGkB,MAAM;MACTG,MAAM,EAAED,WAAW;MACnBS,uBAAuB,EAAE,CAAC,CAACV;IAC7B,CAAC,CAAC;IACF,OAAOS,OAAO,CACXE,IAAI,CAAEC,gBAAgB,IAAK;MAAA,IAAAC,cAAA;MAC1B,CAAAA,cAAA,GAAAT,aAAa,cAAAS,cAAA,uBAAbA,cAAA,CAAeC,MAAM,CAAC,CAAC;MACvBV,aAAa,GAAG,IAAI;MACpB,OAAOQ,gBAAgB;IACzB,CAAC,CAAC,CACDG,KAAK,CAAEC,GAAQ,IAAK;MAAA,IAAAC,eAAA;MACnB,CAAAA,eAAA,GAAAb,aAAa,cAAAa,eAAA,uBAAbA,eAAA,CAAeH,MAAM,CAAC,CAAC;MACvBV,aAAa,GAAG,IAAI;MACpB,MAAMY,GAAG;IACX,CAAC,CAAC;EACN;EAEAE,cAAcA,CAAA,EAAkB;IAC9B,OAAOrD,OAAO,CAACqD,cAAc,CAAC,IAAI,CAACrC,EAAE,CAAC;EACxC;EAEAsC,aAAaA,CAACC,IAAY,EAAiC;IACzD,OAAOvD,OAAO,CAACsD,aAAa,CAAC,IAAI,CAACtC,EAAE,EAAEuC,IAAI,CAAC;EAC7C;EAEAC,YAAYA,CAACD,IAAY,EAAwB;IAC/C,OAAOvD,OAAO,CAACwD,YAAY,CAAC,IAAI,CAACxC,EAAE,EAAEuC,IAAI,CAAC;EAC5C;EAEAE,UAAUA,CAACC,MAAgB,EAAmB;IAC5C,OAAO1D,OAAO,CAACyD,UAAU,CAAC,IAAI,CAACzC,EAAE,EAAE0C,MAAM,CAAC;EAC5C;EAEAC,SAASA,CACPJ,IAAY,EACZrB,MAAwB,EACQ;IAChC,OAAOlC,OAAO,CAAC2D,SAAS,CAAC,IAAI,CAAC3C,EAAE,EAAEuC,IAAI,EAAErB,MAAM,IAAI,CAAC,CAAC,CAAC;EACvD;EAEA,MAAM0B,KAAKA,CACTC,EAAU,EACVC,EAAU,EACVC,EAAU,EACVC,EAAU,EACY;IACtB,MAAMC,MAAM,GAAG,MAAMjE,OAAO,CAAC4D,KAAK,CAAC,IAAI,CAAC5C,EAAE,EAAE6C,EAAE,EAAEC,EAAE,EAAEC,EAAE,EAAEC,EAAE,CAAC;IAC3D,MAAM,CAACE,SAAS,EAAEC,SAAS,EAAEC,YAAY,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC,GACpEC,IAAI,CAACC,KAAK,CAACT,MAAM,CAAC;IACpB,OAAO;MACLC,SAAS;MACTC,SAAS;MACTC,YAAY;MACZC,KAAK;MACLC,KAAK;MACLC,KAAK;MACLC;IACF,CAAC;EACH;EAEA,MAAMG,iBAAiBA,CACrBC,QAAkD,EACnC;IACf,IAAIC,YAAsD,GAAG,EAAE;IAC/D,IAAID,QAAQ,EACVC,YAAY,GAAGD,QAAQ,CAACE,GAAG,CAAEC,CAAC,KAAM;MAClC5D,IAAI,EAAE4D,CAAC,CAAC5D,IAAI,CAAC6D,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;MACrCC,MAAM,EAAEF,CAAC,CAACE;IACZ,CAAC,CAAC,CAAC;IACL,OAAOjF,OAAO,CAAC2E,iBAAiB,CAAC,IAAI,CAAC3D,EAAE,EAAE6D,YAAY,CAAC;EACzD;EAEA,MAAMK,kBAAkBA,CAAA,EAAkB;IACxC,OAAOlF,OAAO,CAACkF,kBAAkB,CAAC,IAAI,CAAClE,EAAE,CAAC;EAC5C;EAEA,MAAMmE,qBAAqBA,CAAA,EAEzB;IACA,OAAOnF,OAAO,CAACmF,qBAAqB,CAAC,IAAI,CAACnE,EAAE,CAAC;EAC/C;EAEA,MAAMoE,OAAOA,CAAA,EAAkB;IAC7B,OAAOpF,OAAO,CAACqF,cAAc,CAAC,IAAI,CAACrE,EAAE,CAAC;EACxC;AACF;AAEA,OAAO,eAAesE,cAAcA,CAAA,EAAgC;EAClE,OAAOtF,OAAO,CAACsF,cAAc,CAAC,CAAC;AACjC;AAEA,OAAO,eAAeC,eAAeA,CAACC,KAAa,EAAiB;EAClE,OAAOxF,OAAO,CAACuF,eAAe,CAACC,KAAK,CAAC;AACvC;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,CACxB;AACD,OAAO,eAAeC,kBAAkBA,CAACtF,KAAa,EAAmB;EACvE,IAAIO,IAAI,GAAGP,KAAK;EAChB,IAAIO,IAAI,CAACC,UAAU,CAAC,SAAS,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;EACpD,OAAOrB,OAAO,CAACmG,SAAS,CAAChF,IAAI,EAAE8E,aAAa,CAAC;AAC/C;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,CAAAC,KAAA,EAS7BC,UAAuC,EAChB;EAAA,IAAAC,SAAA,EAAAC,sBAAA;EAAA,IATvB;IACElG,KAAK;IACLmG,cAAc,EAAEC,YAAY;IAC5BC,YAAY,EAAEC,WAAW;IACzBC,IAAI;IACJC,SAAS,EAAExC,QAAQ;IACnB,GAAGyC;EACU,CAAC,GAAAV,KAAA;EAGhB,IAAIxF,IAAI,GAAGP,KAAK;EAChB,IAAIO,IAAI,CAACC,UAAU,CAAC,SAAS,CAAC,EAAED,IAAI,GAAGA,IAAI,CAACE,KAAK,CAAC,CAAC,CAAC;EAEpD,IAAIiG,QAAQ,GAAGH,IAAI;EACnB,KAAAN,SAAA,GAAIS,QAAQ,cAAAT,SAAA,eAARA,SAAA,CAAUzF,UAAU,CAAC,SAAS,CAAC,EAAEkG,QAAQ,GAAGA,QAAQ,CAACjG,KAAK,CAAC,CAAC,CAAC;EAEjE,IAAIwD,YAAsD,GAAG,EAAE;EAC/D,IAAID,QAAQ,EACVC,YAAY,GAAGD,QAAQ,CAACE,GAAG,CAAEC,CAAC,KAAM;IAClC5D,IAAI,EAAE4D,CAAC,CAAC5D,IAAI,CAAC6D,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;IACrCC,MAAM,EAAEF,CAAC,CAACE;EACZ,CAAC,CAAC,CAAC;EAEL,MAAMlE,SAAS,GAAG0E,gBAAgB,GAAGC,eAAe,CAAC,CAAC;EACtDD,gBAAgB,IAAI,CAAC;EAErB,IAAI8B,sBAA2B,GAAG,IAAI;EACtC,IAAIX,UAAU,EAAE;IACdW,sBAAsB,GAAGjH,YAAY,CAACkC,WAAW,CAC/CpC,8BAA8B,EAC7BqC,GAA4C,IAAK;MAChD,IAAIA,GAAG,CAAC1B,SAAS,KAAKA,SAAS,EAAE;MACjC6F,UAAU,CAACnE,GAAG,CAAC+E,QAAQ,CAAC;IAC1B,CACF,CAAC;EACH;EAEA,MAAMC,QAAQ,GAAGrB,WAAW,CAACc,WAAW,CAA6B;EACrE,MAAM;IACJxG,GAAG;IACHC,WAAW;IACXC,KAAK,EAAE8G,YAAY;IACnBC;EACF,CAAC,GAAG,MAAM3H,OAAO,CAAC4H,WAAW,CAAC7G,SAAS,EAAE;IACvCH,KAAK,EAAEO,IAAI;IACX4F,cAAc,EAAE,CAAC,CAACC,YAAY;IAC9Ba,qBAAqB,EAAE,CAAC,CAACjB,UAAU;IACnCK,YAAY,EAAEQ,QAAQ;IACtBN,IAAI,EAAEG,QAAQ;IACdF,SAAS,EAAEvC,YAAY;IACvB,GAAGwC;EACL,CAAC,CAAC,CAACnE,KAAK,CAAEC,GAAQ,IAAK;IAAA,IAAA2E,qBAAA;IACrB,CAAAA,qBAAA,GAAAP,sBAAsB,cAAAO,qBAAA,uBAAtBA,qBAAA,CAAwB7E,MAAM,CAAC,CAAC;IAChC,MAAME,GAAG;EACX,CAAC,CAAC;EACF,CAAA2D,sBAAA,GAAAS,sBAAsB,cAAAT,sBAAA,uBAAtBA,sBAAA,CAAwB7D,MAAM,CAAC,CAAC;EAChC,OAAO,IAAIxC,YAAY,CAAC;IACtBM,SAAS;IACTL,GAAG;IACHC,WAAW;IACXC,KAAK,EAAE8G,YAAY;IACnBC;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,eAAeI,eAAeA,CAAA,EAAkB;EACrD,OAAO/H,OAAO,CAACgI,kBAAkB,CAAC,CAAC;AACrC"}
1
+ {"version":3,"names":["NativeEventEmitter","DeviceEventEmitter","Platform","RNLlama","SchemaGrammarConverter","convertJsonSchemaToGrammar","formatChat","EVENT_ON_INIT_CONTEXT_PROGRESS","EVENT_ON_TOKEN","EVENT_ON_NATIVE_LOG","EventEmitter","OS","logListeners","_RNLlama$toggleNative","addListener","evt","forEach","listener","level","text","toggleNativeLog","call","CACHE_TYPE","getJsonSchema","responseFormat","type","_responseFormat$json_","json_schema","schema","LlamaContext","gpu","reasonNoGPU","constructor","_ref","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","_tokenListener","remove","catch","err","_tokenListener2","stopCompletion","tokenizeAsync","tokenizeSync","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","getCpuFeatures","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","_ref2","onProgress","_loraPath","_removeProgressListen2","is_model_asset","isModelAsset","pooling_type","poolingType","lora","lora_list","rest","loraPath","removeProgressListener","progress","poolType","modelDetails","androidLib","initContext","use_progress_callback","_removeProgressListen","releaseAllLlama","releaseAllContexts"],"sourceRoot":"..\\..\\src","sources":["index.ts"],"mappings":"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"}