node-llama-cpp 3.10.0 → 3.12.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.
- package/README.md +1 -1
- package/dist/bindings/AddonTypes.d.ts +4 -2
- package/dist/bindings/Llama.d.ts +5 -1
- package/dist/bindings/Llama.js +22 -3
- package/dist/bindings/Llama.js.map +1 -1
- package/dist/bindings/getLlama.d.ts +40 -2
- package/dist/bindings/getLlama.js +16 -7
- package/dist/bindings/getLlama.js.map +1 -1
- package/dist/bindings/types.d.ts +6 -2
- package/dist/bindings/types.js +16 -1
- package/dist/bindings/types.js.map +1 -1
- package/dist/bindings/utils/getBestComputeLayersAvailable.d.ts +1 -1
- package/dist/bindings/utils/getGpuTypesToUseForOption.d.ts +1 -1
- package/dist/bindings/utils/getLlamaWithoutBackend.js +1 -1
- package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -1
- package/dist/chatWrappers/HarmonyChatWrapper.d.ts +78 -0
- package/dist/chatWrappers/HarmonyChatWrapper.js +527 -0
- package/dist/chatWrappers/HarmonyChatWrapper.js.map +1 -0
- package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +4 -2
- package/dist/chatWrappers/utils/resolveChatWrapper.js +21 -6
- package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +2 -1
- package/dist/cli/commands/ChatCommand.js +21 -7
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.d.ts +2 -1
- package/dist/cli/commands/CompleteCommand.js +21 -7
- package/dist/cli/commands/CompleteCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.d.ts +2 -1
- package/dist/cli/commands/InfillCommand.js +21 -7
- package/dist/cli/commands/InfillCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +23 -2
- package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +1 -0
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +16 -5
- package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
- package/dist/cli/recommendedModels.js +22 -0
- package/dist/cli/recommendedModels.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/evaluator/LlamaChat/LlamaChat.js +246 -31
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +2 -2
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
- package/dist/evaluator/LlamaCompletion.js +2 -2
- package/dist/evaluator/LlamaCompletion.js.map +1 -1
- package/dist/evaluator/LlamaContext/LlamaContext.js +17 -17
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
- package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js +5 -5
- package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js.map +1 -1
- package/dist/evaluator/LlamaEmbeddingContext.js +1 -1
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
- package/dist/evaluator/LlamaModel/LlamaModel.js +3 -3
- package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
- package/dist/evaluator/LlamaRankingContext.js +1 -1
- package/dist/evaluator/LlamaRankingContext.js.map +1 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.js +1 -1
- package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +1 -1
- package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -1
- package/dist/gguf/insights/GgufInsights.js +22 -3
- package/dist/gguf/insights/GgufInsights.js.map +1 -1
- package/dist/gguf/types/GgufMetadataTypes.d.ts +25 -2
- package/dist/gguf/types/GgufMetadataTypes.js +23 -0
- package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
- package/dist/gguf/types/GgufTensorInfoTypes.d.ts +2 -1
- package/dist/gguf/types/GgufTensorInfoTypes.js +1 -0
- package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
- package/dist/gguf/utils/getGgufFileTypeName.d.ts +1 -1
- package/dist/gguf/utils/ggufQuantNames.js +1 -0
- package/dist/gguf/utils/ggufQuantNames.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types.d.ts +144 -2
- package/dist/types.js.map +1 -1
- package/dist/utils/LruCache.d.ts +1 -1
- package/dist/utils/ReplHistory.js +1 -1
- package/dist/utils/ReplHistory.js.map +1 -1
- package/dist/utils/gbnfJson/types.d.ts +1 -1
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js +2 -0
- package/dist/utils/gbnfJson/utils/getGbnfJsonTerminalForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/getBuildDefaults.d.ts +1 -1
- package/dist/utils/getChatWrapperSegmentDefinition.js +2 -0
- package/dist/utils/getChatWrapperSegmentDefinition.js.map +1 -1
- package/dist/utils/isLockfileActive.js +2 -2
- package/dist/utils/isLockfileActive.js.map +1 -1
- package/dist/utils/utilTypes.d.ts +10 -0
- package/dist/utils/waitForLockfileRelease.js +3 -3
- package/dist/utils/waitForLockfileRelease.js.map +1 -1
- package/dist/utils/withLockfile.js +1 -1
- package/dist/utils/withLockfile.js.map +1 -1
- package/llama/addon/addon.cpp +31 -0
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/llama.cpp.info.json +1 -1
- package/package.json +22 -20
- package/templates/packed/electron-typescript-react.json +1 -1
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
export type Writable<T> = {
|
|
2
2
|
-readonly [P in keyof T]: T[P];
|
|
3
3
|
};
|
|
4
|
+
/**
|
|
5
|
+
* Omit all the keys from `Value` that are not present in `Options` and are `true`.
|
|
6
|
+
*
|
|
7
|
+
* For example:
|
|
8
|
+
* ```ts
|
|
9
|
+
* type Value = {a: number, b: string, c: boolean};
|
|
10
|
+
* type Options = {a: true, b: false, c: true};
|
|
11
|
+
* type Result = PickOptions<Value, Options>; // {a: number, c: boolean}
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
4
14
|
export type PickOptions<Value extends Readonly<Record<string, any>>, Options extends {
|
|
5
15
|
readonly [key: string]: boolean | undefined;
|
|
6
16
|
}> = Pick<Value, {
|
|
@@ -3,12 +3,12 @@ import { isLockActive, waitForLockRelease } from "lifecycle-utils";
|
|
|
3
3
|
import { lockfileLockScope } from "./withLockfile.js";
|
|
4
4
|
export async function waitForLockfileRelease({ resourcePath, checkInterval = 1000 * 5.5, staleDuration = 1000 * 10 }) {
|
|
5
5
|
while (true) {
|
|
6
|
-
if (isLockActive(lockfileLockScope, resourcePath)) {
|
|
7
|
-
await waitForLockRelease(lockfileLockScope, resourcePath);
|
|
6
|
+
if (isLockActive([lockfileLockScope, resourcePath])) {
|
|
7
|
+
await waitForLockRelease([lockfileLockScope, resourcePath]);
|
|
8
8
|
continue;
|
|
9
9
|
}
|
|
10
10
|
const lockfileActive = await lockfile.check(resourcePath, { stale: staleDuration, realpath: false });
|
|
11
|
-
const lockIsActive = isLockActive(lockfileLockScope, resourcePath);
|
|
11
|
+
const lockIsActive = isLockActive([lockfileLockScope, resourcePath]);
|
|
12
12
|
if (lockIsActive)
|
|
13
13
|
continue;
|
|
14
14
|
if (!lockfileActive)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForLockfileRelease.js","sourceRoot":"","sources":["../../src/utils/waitForLockfileRelease.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EACzC,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAGtE;IACG,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"waitForLockfileRelease.js","sourceRoot":"","sources":["../../src/utils/waitForLockfileRelease.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EACzC,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAGtE;IACG,OAAO,IAAI,EAAE,CAAC;QACV,IAAI,YAAY,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,kBAAkB,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;YAC5D,SAAS;QACb,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;QAErE,IAAI,YAAY;YACZ,SAAS;QAEb,IAAI,CAAC,cAAc;YACf,OAAO;QAEX,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IACvE,CAAC;AACL,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { withLock } from "lifecycle-utils";
|
|
|
3
3
|
import { getConsoleLogPrefix } from "./getConsoleLogPrefix.js";
|
|
4
4
|
export const lockfileLockScope = {};
|
|
5
5
|
export async function withLockfile({ resourcePath, staleDuration = 1000 * 10, updateInterval = staleDuration / 2, retries = 2 }, callback) {
|
|
6
|
-
return await withLock(lockfileLockScope, resourcePath, async () => {
|
|
6
|
+
return await withLock([lockfileLockScope, resourcePath], async () => {
|
|
7
7
|
let releaseLock;
|
|
8
8
|
let res;
|
|
9
9
|
const lockPromise = lockfile.lock(resourcePath, {
|
|
@@ -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;
|
|
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"}
|
package/llama/addon/addon.cpp
CHANGED
|
@@ -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
|
});
|
package/llama/gitRelease.bundle
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-llama-cpp",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.12.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",
|
|
@@ -113,6 +113,8 @@
|
|
|
113
113
|
"deepseek",
|
|
114
114
|
"qwen",
|
|
115
115
|
"qwq",
|
|
116
|
+
"gpt",
|
|
117
|
+
"gpt-oss",
|
|
116
118
|
"typescript",
|
|
117
119
|
"lora",
|
|
118
120
|
"batching",
|
|
@@ -155,9 +157,9 @@
|
|
|
155
157
|
"@types/validate-npm-package-name": "^4.0.2",
|
|
156
158
|
"@types/which": "^3.0.4",
|
|
157
159
|
"@types/yargs": "^17.0.33",
|
|
158
|
-
"@vitest/coverage-v8": "^3.
|
|
159
|
-
"@vitest/ui": "^3.
|
|
160
|
-
"electron": "^
|
|
160
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
161
|
+
"@vitest/ui": "^3.2.4",
|
|
162
|
+
"electron": "^37.2.4",
|
|
161
163
|
"eslint": "^9.26.0",
|
|
162
164
|
"eslint-import-resolver-typescript": "^4.3.4",
|
|
163
165
|
"eslint-plugin-import": "^2.31.0",
|
|
@@ -176,14 +178,14 @@
|
|
|
176
178
|
"typedoc-vitepress-theme": "^1.1.2",
|
|
177
179
|
"typescript": "^5.8.3",
|
|
178
180
|
"typescript-eslint": "^8.32.0",
|
|
179
|
-
"vite-node": "^3.
|
|
181
|
+
"vite-node": "^3.2.4",
|
|
180
182
|
"vitepress": "^1.6.3",
|
|
181
|
-
"vitepress-plugin-llms": "
|
|
182
|
-
"vitest": "^3.
|
|
183
|
+
"vitepress-plugin-llms": "^1.7.2",
|
|
184
|
+
"vitest": "^3.2.4",
|
|
183
185
|
"zx": "^8.5.4"
|
|
184
186
|
},
|
|
185
187
|
"dependencies": {
|
|
186
|
-
"@huggingface/jinja": "^0.5.
|
|
188
|
+
"@huggingface/jinja": "^0.5.1",
|
|
187
189
|
"async-retry": "^1.3.3",
|
|
188
190
|
"bytes": "^3.1.2",
|
|
189
191
|
"chalk": "^5.4.1",
|
|
@@ -197,7 +199,7 @@
|
|
|
197
199
|
"ignore": "^7.0.4",
|
|
198
200
|
"ipull": "^3.9.2",
|
|
199
201
|
"is-unicode-supported": "^2.1.0",
|
|
200
|
-
"lifecycle-utils": "^
|
|
202
|
+
"lifecycle-utils": "^3.0.1",
|
|
201
203
|
"log-symbols": "^7.0.0",
|
|
202
204
|
"nanoid": "^5.1.5",
|
|
203
205
|
"node-addon-api": "^8.3.1",
|
|
@@ -223,16 +225,16 @@
|
|
|
223
225
|
}
|
|
224
226
|
},
|
|
225
227
|
"optionalDependencies": {
|
|
226
|
-
"@node-llama-cpp/linux-arm64": "3.
|
|
227
|
-
"@node-llama-cpp/linux-armv7l": "3.
|
|
228
|
-
"@node-llama-cpp/linux-x64": "3.
|
|
229
|
-
"@node-llama-cpp/linux-x64-cuda": "3.
|
|
230
|
-
"@node-llama-cpp/linux-x64-vulkan": "3.
|
|
231
|
-
"@node-llama-cpp/mac-arm64-metal": "3.
|
|
232
|
-
"@node-llama-cpp/mac-x64": "3.
|
|
233
|
-
"@node-llama-cpp/win-arm64": "3.
|
|
234
|
-
"@node-llama-cpp/win-x64": "3.
|
|
235
|
-
"@node-llama-cpp/win-x64-cuda": "3.
|
|
236
|
-
"@node-llama-cpp/win-x64-vulkan": "3.
|
|
228
|
+
"@node-llama-cpp/linux-arm64": "3.12.0",
|
|
229
|
+
"@node-llama-cpp/linux-armv7l": "3.12.0",
|
|
230
|
+
"@node-llama-cpp/linux-x64": "3.12.0",
|
|
231
|
+
"@node-llama-cpp/linux-x64-cuda": "3.12.0",
|
|
232
|
+
"@node-llama-cpp/linux-x64-vulkan": "3.12.0",
|
|
233
|
+
"@node-llama-cpp/mac-arm64-metal": "3.12.0",
|
|
234
|
+
"@node-llama-cpp/mac-x64": "3.12.0",
|
|
235
|
+
"@node-llama-cpp/win-arm64": "3.12.0",
|
|
236
|
+
"@node-llama-cpp/win-x64": "3.12.0",
|
|
237
|
+
"@node-llama-cpp/win-x64-cuda": "3.12.0",
|
|
238
|
+
"@node-llama-cpp/win-x64-vulkan": "3.12.0"
|
|
237
239
|
}
|
|
238
240
|
}
|