node-llama-cpp 3.17.1 → 3.18.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 (121) hide show
  1. package/dist/bindings/AddonTypes.d.ts +13 -0
  2. package/dist/bindings/Llama.js +20 -2
  3. package/dist/bindings/Llama.js.map +1 -1
  4. package/dist/bindings/getLlama.d.ts +1 -1
  5. package/dist/bindings/getLlama.js +19 -8
  6. package/dist/bindings/getLlama.js.map +1 -1
  7. package/dist/bindings/utils/compileLLamaCpp.d.ts +2 -1
  8. package/dist/bindings/utils/compileLLamaCpp.js +8 -0
  9. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  10. package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +1 -1
  11. package/dist/bindings/utils/getLlamaGpuTypes.js +2 -0
  12. package/dist/bindings/utils/getLlamaGpuTypes.js.map +1 -1
  13. package/dist/chatWrappers/QwenChatWrapper.d.ts +7 -0
  14. package/dist/chatWrappers/QwenChatWrapper.js +176 -56
  15. package/dist/chatWrappers/QwenChatWrapper.js.map +1 -1
  16. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +127 -88
  17. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -1
  18. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.d.ts +16 -10
  19. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js +115 -5
  20. package/dist/chatWrappers/generic/utils/extractFunctionCallSettingsFromJinjaTemplate.js.map +1 -1
  21. package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js +1 -0
  22. package/dist/chatWrappers/generic/utils/extractSegmentSettingsFromTokenizerAndChatTemplate.js.map +1 -1
  23. package/dist/cli/commands/ChatCommand.d.ts +3 -0
  24. package/dist/cli/commands/ChatCommand.js +34 -5
  25. package/dist/cli/commands/ChatCommand.js.map +1 -1
  26. package/dist/cli/commands/CompleteCommand.d.ts +3 -0
  27. package/dist/cli/commands/CompleteCommand.js +34 -4
  28. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  29. package/dist/cli/commands/InfillCommand.d.ts +3 -0
  30. package/dist/cli/commands/InfillCommand.js +34 -4
  31. package/dist/cli/commands/InfillCommand.js.map +1 -1
  32. package/dist/cli/commands/OnPostInstallCommand.js +31 -4
  33. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  34. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +3 -0
  35. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +28 -1
  36. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -1
  37. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +5 -0
  38. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  39. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +51 -4
  40. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  41. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +3 -0
  42. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +46 -5
  43. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  44. package/dist/cli/utils/interactivelyAskForModel.d.ts +4 -1
  45. package/dist/cli/utils/interactivelyAskForModel.js +21 -7
  46. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  47. package/dist/cli/utils/packageJsonConfig.d.ts +6 -0
  48. package/dist/cli/utils/packageJsonConfig.js +51 -0
  49. package/dist/cli/utils/packageJsonConfig.js.map +1 -0
  50. package/dist/cli/utils/packageManager.d.ts +1 -0
  51. package/dist/cli/utils/packageManager.js +15 -0
  52. package/dist/cli/utils/packageManager.js.map +1 -0
  53. package/dist/cli/utils/printCommonInfoLines.js +9 -0
  54. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  55. package/dist/cli/utils/resolveCommandGgufPath.d.ts +4 -1
  56. package/dist/cli/utils/resolveCommandGgufPath.js +9 -2
  57. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  58. package/dist/cli/utils/resolveNpmrcConfig.d.ts +18 -0
  59. package/dist/cli/utils/resolveNpmrcConfig.js +129 -0
  60. package/dist/cli/utils/resolveNpmrcConfig.js.map +1 -0
  61. package/dist/config.d.ts +6 -1
  62. package/dist/config.js +12 -2
  63. package/dist/config.js.map +1 -1
  64. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +8 -2
  65. package/dist/evaluator/LlamaChat/LlamaChat.js +99 -6
  66. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  67. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +8 -2
  68. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -1
  69. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +8 -2
  70. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  71. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +91 -0
  72. package/dist/evaluator/LlamaContext/LlamaContext.js +215 -19
  73. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  74. package/dist/evaluator/LlamaContext/LlamaContextSequenceCheckpoints.d.ts +27 -0
  75. package/dist/evaluator/LlamaContext/LlamaContextSequenceCheckpoints.js +130 -0
  76. package/dist/evaluator/LlamaContext/LlamaContextSequenceCheckpoints.js.map +1 -0
  77. package/dist/evaluator/LlamaContext/types.d.ts +32 -1
  78. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +33 -0
  79. package/dist/evaluator/LlamaModel/LlamaModel.js +24 -3
  80. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  81. package/dist/gguf/insights/GgufInsights.d.ts +12 -1
  82. package/dist/gguf/insights/GgufInsights.js +246 -49
  83. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  84. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +13 -4
  85. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +17 -5
  86. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  87. package/dist/gguf/insights/utils/resolveContextContextSizeOption.d.ts +4 -1
  88. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js +7 -1
  89. package/dist/gguf/insights/utils/resolveContextContextSizeOption.js.map +1 -1
  90. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +4 -1
  91. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +16 -4
  92. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
  93. package/dist/gguf/types/GgufMetadataTypes.d.ts +18 -2
  94. package/dist/gguf/types/GgufMetadataTypes.js +6 -0
  95. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  96. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +4 -2
  97. package/dist/gguf/types/GgufTensorInfoTypes.js +11 -1
  98. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
  99. package/dist/gguf/utils/getGgufFileTypeName.d.ts +1 -1
  100. package/dist/gguf/utils/ggufQuantNames.js +1 -0
  101. package/dist/gguf/utils/ggufQuantNames.js.map +1 -1
  102. package/dist/tsconfig.tsbuildinfo +1 -1
  103. package/dist/types.d.ts +1 -0
  104. package/dist/utils/getBuildDefaults.d.ts +1 -1
  105. package/dist/utils/getFirstWritableDir.d.ts +8 -0
  106. package/dist/utils/getFirstWritableDir.js +60 -0
  107. package/dist/utils/getFirstWritableDir.js.map +1 -0
  108. package/dist/utils/getTempDir.d.ts +10 -0
  109. package/dist/utils/getTempDir.js +121 -0
  110. package/dist/utils/getTempDir.js.map +1 -0
  111. package/dist/utils/prettyPrintObject.js +1 -1
  112. package/dist/utils/prettyPrintObject.js.map +1 -1
  113. package/dist/utils/resolveModelFile.js +19 -8
  114. package/dist/utils/resolveModelFile.js.map +1 -1
  115. package/llama/addon/AddonContext.cpp +182 -0
  116. package/llama/addon/AddonContext.h +27 -0
  117. package/llama/addon/addon.cpp +1 -0
  118. package/llama/binariesGithubRelease.json +1 -1
  119. package/llama/gitRelease.bundle +0 -0
  120. package/llama/llama.cpp.info.json +1 -1
  121. package/package.json +24 -24
@@ -1,4 +1,7 @@
1
1
  #pragma once
2
+
3
+ #include <mutex>
4
+
2
5
  #include "llama.h"
3
6
  #include "napi.h"
4
7
  #include "addonGlobals.h"
@@ -53,6 +56,30 @@ class AddonContext : public Napi::ObjectWrap<AddonContext> {
53
56
  Napi::Value EnsureDraftContextIsCompatibleForSpeculative(const Napi::CallbackInfo& info);
54
57
 
55
58
  Napi::Value SetLoras(const Napi::CallbackInfo& info);
59
+ Napi::Value RestoreCheckpoint(const Napi::CallbackInfo& info);
60
+
61
+ static void init(Napi::Object exports);
62
+ };
63
+
64
+ class AddonContextSequenceCheckpoint : public Napi::ObjectWrap<AddonContextSequenceCheckpoint> {
65
+ public:
66
+ std::mutex dataMutex;
67
+ std::vector<uint8_t> data;
68
+ llama_seq_id sequenceId = 0;
69
+ std::size_t minPos = 0;
70
+ std::size_t maxPos = 0;
71
+
72
+ AddonContextSequenceCheckpoint(const Napi::CallbackInfo& info);
73
+ ~AddonContextSequenceCheckpoint();
74
+
75
+ Napi::Value Init(const Napi::CallbackInfo& info);
76
+ Napi::Value Dispose(const Napi::CallbackInfo& info);
77
+
78
+ void dispose();
79
+
80
+ Napi::Value GetSize(const Napi::CallbackInfo& info);
81
+ Napi::Value GetMinPos(const Napi::CallbackInfo& info);
82
+ Napi::Value GetMaxPos(const Napi::CallbackInfo& info);
56
83
 
57
84
  static void init(Napi::Object exports);
58
85
  };
@@ -317,6 +317,7 @@ Napi::Object registerCallback(Napi::Env env, Napi::Object exports) {
317
317
  AddonGrammar::init(exports);
318
318
  AddonGrammarEvaluationState::init(exports);
319
319
  AddonContext::init(exports);
320
+ AddonContextSequenceCheckpoint::init(exports);
320
321
  AddonSampler::init(exports);
321
322
 
322
323
  llama_log_set(addonLlamaCppLogCallback, nullptr);
@@ -1,3 +1,3 @@
1
1
  {
2
- "release": "b8179"
2
+ "release": "b8390"
3
3
  }
Binary file
@@ -1,4 +1,4 @@
1
1
  {
2
- "tag": "b8179",
2
+ "tag": "b8390",
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.17.1",
3
+ "version": "3.18.1",
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",
@@ -145,7 +145,7 @@
145
145
  "@resvg/resvg-js": "^2.6.2",
146
146
  "@semantic-release/exec": "^7.1.0",
147
147
  "@semantic-release/github": "^12.0.6",
148
- "@semantic-release/npm": "^13.1.4",
148
+ "@semantic-release/npm": "^13.1.5",
149
149
  "@shikijs/vitepress-twoslash": "^3.22.0",
150
150
  "@stylistic/eslint-plugin": "^5.8.0",
151
151
  "@types/async-retry": "^1.4.9",
@@ -158,8 +158,8 @@
158
158
  "@types/validate-npm-package-name": "^4.0.2",
159
159
  "@types/which": "^3.0.4",
160
160
  "@types/yargs": "^17.0.33",
161
- "@vitest/coverage-v8": "^4.0.18",
162
- "@vitest/ui": "^4.0.18",
161
+ "@vitest/coverage-v8": "^4.1.0",
162
+ "@vitest/ui": "^4.1.0",
163
163
  "electron": "^40.4.1",
164
164
  "eslint": "^9.39.2",
165
165
  "eslint-import-resolver-typescript": "^4.4.4",
@@ -179,14 +179,14 @@
179
179
  "typedoc-vitepress-theme": "^1.1.2",
180
180
  "typescript": "^5.9.3",
181
181
  "typescript-eslint": "^8.56.0",
182
- "vite-node": "^5.3.0",
182
+ "vite-node": "^6.0.0",
183
183
  "vitepress": "^1.6.4",
184
184
  "vitepress-plugin-llms": "^1.11.0",
185
- "vitest": "^4.0.18",
185
+ "vitest": "^4.1.0",
186
186
  "zx": "^8.8.5"
187
187
  },
188
188
  "dependencies": {
189
- "@huggingface/jinja": "^0.5.5",
189
+ "@huggingface/jinja": "^0.5.6",
190
190
  "async-retry": "^1.3.3",
191
191
  "bytes": "^3.1.2",
192
192
  "chalk": "^5.6.2",
@@ -195,22 +195,22 @@
195
195
  "cross-spawn": "^7.0.6",
196
196
  "env-var": "^7.5.0",
197
197
  "filenamify": "^6.0.0",
198
- "fs-extra": "^11.3.0",
198
+ "fs-extra": "^11.3.4",
199
199
  "ignore": "^7.0.4",
200
200
  "ipull": "^3.9.5",
201
201
  "is-unicode-supported": "^2.1.0",
202
202
  "lifecycle-utils": "^3.1.1",
203
203
  "log-symbols": "^7.0.1",
204
204
  "nanoid": "^5.1.6",
205
- "node-addon-api": "^8.5.0",
205
+ "node-addon-api": "^8.6.0",
206
206
  "ora": "^9.3.0",
207
207
  "pretty-ms": "^9.3.0",
208
208
  "proper-lockfile": "^4.1.2",
209
209
  "semver": "^7.7.1",
210
- "simple-git": "^3.32.2",
210
+ "simple-git": "^3.33.0",
211
211
  "slice-ansi": "^8.0.0",
212
212
  "stdout-update": "^4.0.1",
213
- "strip-ansi": "^7.1.2",
213
+ "strip-ansi": "^7.2.0",
214
214
  "validate-npm-package-name": "^7.0.2",
215
215
  "which": "^6.0.1",
216
216
  "yargs": "^17.7.2"
@@ -224,18 +224,18 @@
224
224
  }
225
225
  },
226
226
  "optionalDependencies": {
227
- "@node-llama-cpp/linux-arm64": "3.17.1",
228
- "@node-llama-cpp/linux-armv7l": "3.17.1",
229
- "@node-llama-cpp/linux-x64": "3.17.1",
230
- "@node-llama-cpp/linux-x64-cuda": "3.17.1",
231
- "@node-llama-cpp/linux-x64-cuda-ext": "3.17.1",
232
- "@node-llama-cpp/linux-x64-vulkan": "3.17.1",
233
- "@node-llama-cpp/mac-arm64-metal": "3.17.1",
234
- "@node-llama-cpp/mac-x64": "3.17.1",
235
- "@node-llama-cpp/win-arm64": "3.17.1",
236
- "@node-llama-cpp/win-x64": "3.17.1",
237
- "@node-llama-cpp/win-x64-cuda": "3.17.1",
238
- "@node-llama-cpp/win-x64-cuda-ext": "3.17.1",
239
- "@node-llama-cpp/win-x64-vulkan": "3.17.1"
227
+ "@node-llama-cpp/linux-arm64": "3.18.1",
228
+ "@node-llama-cpp/linux-armv7l": "3.18.1",
229
+ "@node-llama-cpp/linux-x64": "3.18.1",
230
+ "@node-llama-cpp/linux-x64-cuda": "3.18.1",
231
+ "@node-llama-cpp/linux-x64-cuda-ext": "3.18.1",
232
+ "@node-llama-cpp/linux-x64-vulkan": "3.18.1",
233
+ "@node-llama-cpp/mac-arm64-metal": "3.18.1",
234
+ "@node-llama-cpp/mac-x64": "3.18.1",
235
+ "@node-llama-cpp/win-arm64": "3.18.1",
236
+ "@node-llama-cpp/win-x64": "3.18.1",
237
+ "@node-llama-cpp/win-x64-cuda": "3.18.1",
238
+ "@node-llama-cpp/win-x64-cuda-ext": "3.18.1",
239
+ "@node-llama-cpp/win-x64-vulkan": "3.18.1"
240
240
  }
241
241
  }