node-llama-cpp 3.10.0 → 3.11.0

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 (59) hide show
  1. package/dist/bindings/AddonTypes.d.ts +4 -2
  2. package/dist/bindings/Llama.js +12 -3
  3. package/dist/bindings/Llama.js.map +1 -1
  4. package/dist/bindings/getLlama.d.ts +40 -2
  5. package/dist/bindings/getLlama.js +16 -7
  6. package/dist/bindings/getLlama.js.map +1 -1
  7. package/dist/bindings/types.d.ts +1 -0
  8. package/dist/bindings/types.js.map +1 -1
  9. package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +1 -1
  10. package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +1 -1
  11. package/dist/bindings/utils/getLlamaWithoutBackend.js +1 -1
  12. package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -1
  13. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +23 -2
  14. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  15. package/dist/config.d.ts +1 -1
  16. package/dist/evaluator/LlamaChat/LlamaChat.js +2 -2
  17. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  18. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +2 -2
  19. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  20. package/dist/evaluator/LlamaCompletion.js +2 -2
  21. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  22. package/dist/evaluator/LlamaContext/LlamaContext.js +17 -17
  23. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  24. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js +5 -5
  25. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js.map +1 -1
  26. package/dist/evaluator/LlamaEmbeddingContext.js +1 -1
  27. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  28. package/dist/evaluator/LlamaModel/LlamaModel.js +3 -3
  29. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  30. package/dist/evaluator/LlamaRankingContext.js +1 -1
  31. package/dist/evaluator/LlamaRankingContext.js.map +1 -1
  32. package/dist/gguf/fileReaders/GgufFsFileReader.js +1 -1
  33. package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -1
  34. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +1 -1
  35. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
  36. package/dist/gguf/types/GgufMetadataTypes.d.ts +7 -1
  37. package/dist/gguf/types/GgufMetadataTypes.js +6 -0
  38. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  39. package/dist/index.d.ts +2 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/utils/LruCache.d.ts +1 -1
  42. package/dist/utils/ReplHistory.js +1 -1
  43. package/dist/utils/ReplHistory.js.map +1 -1
  44. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +2 -0
  45. package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
  46. package/dist/utils/getBuildDefaults.d.ts +1 -1
  47. package/dist/utils/isLockfileActive.js +2 -2
  48. package/dist/utils/isLockfileActive.js.map +1 -1
  49. package/dist/utils/utilTypes.d.ts +10 -0
  50. package/dist/utils/waitForLockfileRelease.js +3 -3
  51. package/dist/utils/waitForLockfileRelease.js.map +1 -1
  52. package/dist/utils/withLockfile.js +1 -1
  53. package/dist/utils/withLockfile.js.map +1 -1
  54. package/llama/addon/addon.cpp +31 -0
  55. package/llama/binariesGithubRelease.json +1 -1
  56. package/llama/gitRelease.bundle +0 -0
  57. package/llama/llama.cpp.info.json +1 -1
  58. package/package.json +16 -16
  59. package/templates/packed/electron-typescript-react.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"withLockfile.js","sourceRoot":"","sources":["../../src/utils/withLockfile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,EACI,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAAE,cAAc,GAAG,aAAa,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAG3F,EACD,QAA8B;IAE9B,OAAO,MAAM,QAAQ,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QAC9D,IAAI,WAAgC,CAAC;QACrC,IAAI,GAAM,CAAC;QAEX,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;YAC5C,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,OAAO;YACP,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,WAAW,GAAG,MAAM,WAAW,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,GAAG,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC;gBACD,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,GAAG,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,WAAW,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,GAAG,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"withLockfile.js","sourceRoot":"","sources":["../../src/utils/withLockfile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,EACI,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAAE,cAAc,GAAG,aAAa,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAG3F,EACD,QAA8B;IAE9B,OAAO,MAAM,QAAQ,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,KAAK,IAAI,EAAE;QAChE,IAAI,WAAgC,CAAC;QACrC,IAAI,GAAM,CAAC;QAEX,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;YAC5C,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,OAAO;YACP,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC;YACD,WAAW,GAAG,MAAM,WAAW,CAAC;QACpC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,GAAG,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,CAAC;gBACD,MAAM,WAAW,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YACnG,CAAC;YAED,MAAM,GAAG,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACD,MAAM,WAAW,EAAE,CAAC;QACxB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,GAAG,CAAC;QACd,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -196,6 +196,36 @@ Napi::Value addonLoadBackends(const Napi::CallbackInfo& info) {
196
196
  return info.Env().Undefined();
197
197
  }
198
198
 
199
+ Napi::Value addonSetNuma(const Napi::CallbackInfo& info) {
200
+ const bool numaDisabled = info.Length() == 0
201
+ ? true
202
+ : info[0].IsBoolean()
203
+ ? !info[0].As<Napi::Boolean>().Value()
204
+ : false;
205
+
206
+ if (numaDisabled)
207
+ return info.Env().Undefined();
208
+
209
+ const auto numaType = info[0].IsString()
210
+ ? info[0].As<Napi::String>().Utf8Value()
211
+ : "";
212
+
213
+ if (numaType == "distribute") {
214
+ llama_numa_init(GGML_NUMA_STRATEGY_DISTRIBUTE);
215
+ } else if (numaType == "isolate") {
216
+ llama_numa_init(GGML_NUMA_STRATEGY_ISOLATE);
217
+ } else if (numaType == "numactl") {
218
+ llama_numa_init(GGML_NUMA_STRATEGY_NUMACTL);
219
+ } else if (numaType == "mirror") {
220
+ llama_numa_init(GGML_NUMA_STRATEGY_MIRROR);
221
+ } else {
222
+ Napi::Error::New(info.Env(), std::string("Invalid NUMA strategy \"") + numaType + "\"").ThrowAsJavaScriptException();
223
+ return info.Env().Undefined();
224
+ }
225
+
226
+ return info.Env().Undefined();
227
+ }
228
+
199
229
  Napi::Value addonInit(const Napi::CallbackInfo& info) {
200
230
  if (backendInitialized) {
201
231
  Napi::Promise::Deferred deferred = Napi::Promise::Deferred::New(info.Env());
@@ -255,6 +285,7 @@ Napi::Object registerCallback(Napi::Env env, Napi::Object exports) {
255
285
  Napi::PropertyDescriptor::Function("getSwapInfo", getSwapInfo),
256
286
  Napi::PropertyDescriptor::Function("getMemoryInfo", getMemoryInfo),
257
287
  Napi::PropertyDescriptor::Function("loadBackends", addonLoadBackends),
288
+ Napi::PropertyDescriptor::Function("setNuma", addonSetNuma),
258
289
  Napi::PropertyDescriptor::Function("init", addonInit),
259
290
  Napi::PropertyDescriptor::Function("dispose", addonDispose),
260
291
  });
@@ -1,3 +1,3 @@
1
1
  {
2
- "release": "b5640"
2
+ "release": "b6018"
3
3
  }
Binary file
@@ -1,4 +1,4 @@
1
1
  {
2
- "tag": "b5640",
2
+ "tag": "b6018",
3
3
  "llamaCppGithubRepo": "ggml-org/llama.cpp"
4
4
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-llama-cpp",
3
- "version": "3.10.0",
3
+ "version": "3.11.0",
4
4
  "description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Enforce a JSON schema on the model output on the generation level",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -157,7 +157,7 @@
157
157
  "@types/yargs": "^17.0.33",
158
158
  "@vitest/coverage-v8": "^3.1.3",
159
159
  "@vitest/ui": "^3.1.3",
160
- "electron": "^36.2.0",
160
+ "electron": "^37.2.4",
161
161
  "eslint": "^9.26.0",
162
162
  "eslint-import-resolver-typescript": "^4.3.4",
163
163
  "eslint-plugin-import": "^2.31.0",
@@ -178,12 +178,12 @@
178
178
  "typescript-eslint": "^8.32.0",
179
179
  "vite-node": "^3.1.3",
180
180
  "vitepress": "^1.6.3",
181
- "vitepress-plugin-llms": "https://pkg.pr.new/vitepress-plugin-llms@51",
181
+ "vitepress-plugin-llms": "^1.7.2",
182
182
  "vitest": "^3.1.3",
183
183
  "zx": "^8.5.4"
184
184
  },
185
185
  "dependencies": {
186
- "@huggingface/jinja": "^0.5.0",
186
+ "@huggingface/jinja": "^0.5.1",
187
187
  "async-retry": "^1.3.3",
188
188
  "bytes": "^3.1.2",
189
189
  "chalk": "^5.4.1",
@@ -197,7 +197,7 @@
197
197
  "ignore": "^7.0.4",
198
198
  "ipull": "^3.9.2",
199
199
  "is-unicode-supported": "^2.1.0",
200
- "lifecycle-utils": "^2.0.1",
200
+ "lifecycle-utils": "^3.0.1",
201
201
  "log-symbols": "^7.0.0",
202
202
  "nanoid": "^5.1.5",
203
203
  "node-addon-api": "^8.3.1",
@@ -223,16 +223,16 @@
223
223
  }
224
224
  },
225
225
  "optionalDependencies": {
226
- "@node-llama-cpp/linux-arm64": "3.10.0",
227
- "@node-llama-cpp/linux-armv7l": "3.10.0",
228
- "@node-llama-cpp/linux-x64": "3.10.0",
229
- "@node-llama-cpp/linux-x64-cuda": "3.10.0",
230
- "@node-llama-cpp/linux-x64-vulkan": "3.10.0",
231
- "@node-llama-cpp/mac-arm64-metal": "3.10.0",
232
- "@node-llama-cpp/mac-x64": "3.10.0",
233
- "@node-llama-cpp/win-arm64": "3.10.0",
234
- "@node-llama-cpp/win-x64": "3.10.0",
235
- "@node-llama-cpp/win-x64-cuda": "3.10.0",
236
- "@node-llama-cpp/win-x64-vulkan": "3.10.0"
226
+ "@node-llama-cpp/linux-arm64": "3.11.0",
227
+ "@node-llama-cpp/linux-armv7l": "3.11.0",
228
+ "@node-llama-cpp/linux-x64": "3.11.0",
229
+ "@node-llama-cpp/linux-x64-cuda": "3.11.0",
230
+ "@node-llama-cpp/linux-x64-vulkan": "3.11.0",
231
+ "@node-llama-cpp/mac-arm64-metal": "3.11.0",
232
+ "@node-llama-cpp/mac-x64": "3.11.0",
233
+ "@node-llama-cpp/win-arm64": "3.11.0",
234
+ "@node-llama-cpp/win-x64": "3.11.0",
235
+ "@node-llama-cpp/win-x64-cuda": "3.11.0",
236
+ "@node-llama-cpp/win-x64-vulkan": "3.11.0"
237
237
  }
238
238
  }