@realtimex/node-llama-cpp 0.51.0 → 0.53.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.
@@ -7,6 +7,7 @@ export type LlamaServerRuntimeGithubReleaseAsset = {
7
7
  gpu: BuildGpu;
8
8
  runtimePlatform: NodeJS.Platform;
9
9
  runtimeArch: string;
10
+ runtimeFlavor?: "cuda" | "vulkan";
10
11
  };
11
12
  export declare function getLlamaServerGithubReleaseAssets(): LlamaServerRuntimeGithubReleaseAsset[];
12
13
  export declare function getLlamaServerGithubReleaseAssetForBuildOptions(buildOptions: {
@@ -21,6 +21,22 @@ const llamaServerRuntimeGithubReleaseAssets = Object.freeze([
21
21
  runtimePlatform: "linux",
22
22
  runtimeArch: "x64"
23
23
  },
24
+ {
25
+ platform: "linux",
26
+ arch: "x64",
27
+ gpu: "cuda",
28
+ runtimePlatform: "linux",
29
+ runtimeArch: "x64",
30
+ runtimeFlavor: "cuda"
31
+ },
32
+ {
33
+ platform: "linux",
34
+ arch: "x64",
35
+ gpu: "vulkan",
36
+ runtimePlatform: "linux",
37
+ runtimeArch: "x64",
38
+ runtimeFlavor: "vulkan"
39
+ },
24
40
  {
25
41
  platform: "linux",
26
42
  arch: "arm64",
@@ -28,6 +44,14 @@ const llamaServerRuntimeGithubReleaseAssets = Object.freeze([
28
44
  runtimePlatform: "linux",
29
45
  runtimeArch: "arm64"
30
46
  },
47
+ {
48
+ platform: "linux",
49
+ arch: "arm64",
50
+ gpu: "cuda",
51
+ runtimePlatform: "linux",
52
+ runtimeArch: "arm64",
53
+ runtimeFlavor: "cuda"
54
+ },
31
55
  {
32
56
  platform: "linux",
33
57
  arch: "arm",
@@ -42,6 +66,22 @@ const llamaServerRuntimeGithubReleaseAssets = Object.freeze([
42
66
  runtimePlatform: "win32",
43
67
  runtimeArch: "x64"
44
68
  },
69
+ {
70
+ platform: "win",
71
+ arch: "x64",
72
+ gpu: "cuda",
73
+ runtimePlatform: "win32",
74
+ runtimeArch: "x64",
75
+ runtimeFlavor: "cuda"
76
+ },
77
+ {
78
+ platform: "win",
79
+ arch: "x64",
80
+ gpu: "vulkan",
81
+ runtimePlatform: "win32",
82
+ runtimeArch: "x64",
83
+ runtimeFlavor: "vulkan"
84
+ },
45
85
  {
46
86
  platform: "win",
47
87
  arch: "arm64",
@@ -65,7 +105,13 @@ export function getLlamaServerGithubReleaseAssetFileName(release, buildOptions)
65
105
  const asset = getLlamaServerGithubReleaseAssetForBuildOptions(buildOptions);
66
106
  if (asset == null)
67
107
  return null;
68
- return `llama-server-${asset.runtimePlatform}-${asset.runtimeArch}-${release}.zip`;
108
+ return [
109
+ "llama-server",
110
+ asset.runtimePlatform,
111
+ asset.runtimeArch,
112
+ asset.runtimeFlavor,
113
+ release
114
+ ].filter((part) => part != null && part !== "").join("-") + ".zip";
69
115
  }
70
116
  export function getLlamaServerGithubReleaseAssetFileNameForBuildMetadata(buildOptions) {
71
117
  return getLlamaServerGithubReleaseAssetFileName(buildOptions.llamaCpp.release, {
@@ -1 +1 @@
1
- {"version":3,"file":"llamaServerGithubReleaseAssets.js","sourceRoot":"","sources":["../../../src/bindings/utils/llamaServerGithubReleaseAssets.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,gDAAgD,EAChD,mCAAmC,EACtC,MAAM,0CAA0C,CAAC;AAUlD,MAAM,qCAAqC,GAAoD,MAAM,CAAC,MAAM,CAAC;IACzG;QACI,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,OAAO;QACZ,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,OAAO;KACvB;IACD;QACI,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,KAAK;KACrB;IACD;QACI,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,KAAK;KACrB;IACD;QACI,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,OAAO;KACvB;IACD;QACI,QAAQ,EAAE,OAAO;QACjB,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,QAAQ;KACxB;IACD;QACI,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,KAAK;QACX,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,KAAK;KACrB;IACD;QACI,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,KAAK;QACV,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,OAAO;KACvB;CACK,CAAC,CAAC;AAEZ,MAAM,UAAU,iCAAiC;IAC7C,OAAO,CAAC,GAAG,qCAAqC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,+CAA+C,CAAC,YAI/D;IACG,OAAO,qCAAqC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACzD,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,QAAQ;QACxC,CACI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI;YAChC,CACI,KAAK,CAAC,QAAQ,KAAK,OAAO;gBAC1B,KAAK,CAAC,IAAI,KAAK,KAAK;gBACpB,YAAY,CAAC,IAAI,KAAK,QAAQ,CACjC,CACJ;QACD,KAAK,CAAC,GAAG,KAAK,YAAY,CAAC,GAAG,CACjC,CAAC,IAAI,IAAI,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wCAAwC,CACpD,OAAe,EACf,YAIC;IAED,MAAM,KAAK,GAAG,+CAA+C,CAAC,YAAY,CAAC,CAAC;IAC5E,IAAI,KAAK,IAAI,IAAI;QACb,OAAO,IAAI,CAAC;IAEhB,OAAO,gBAAgB,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,MAAM,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,wDAAwD,CACpE,YAA8E;IAE9E,OAAO,wCAAwC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE;QAC3E,QAAQ,EAAE,YAAY,CAAC,QAAQ;QAC/B,IAAI,EAAE,YAAY,CAAC,IAAI;QACvB,GAAG,EAAE,YAAY,CAAC,GAAG;KACxB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,UAAU,2CAA2C,CAAC,cAAsB,EAAE,aAAqB;IACrG,OAAO,gDAAgD,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAC3F,CAAC;AAED,OAAO,EAAC,mCAAmC,IAAI,8BAA8B,EAAC,CAAC"}
1
+ {"version":3,"file":"llamaServerGithubReleaseAssets.js","sourceRoot":"","sources":["../../../src/bindings/utils/llamaServerGithubReleaseAssets.ts"],"names":[],"mappings":"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"}
@@ -127,12 +127,25 @@ file(GLOB SOURCE_FILES "addon/*.cpp" "addon/**/*.cpp" ${GPU_INFO_SOURCES})
127
127
 
128
128
  add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC} ${GPU_INFO_HEADERS})
129
129
  set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
130
- target_link_libraries(${PROJECT_NAME} ${CMAKE_JS_LIB})
131
- target_link_libraries(${PROJECT_NAME} "llama")
132
- target_link_libraries(${PROJECT_NAME} "common")
130
+ target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
133
131
 
134
- if (DEFINED GPU_INFO_EXTRA_LIBS)
135
- target_link_libraries(${PROJECT_NAME} ${GPU_INFO_EXTRA_LIBS})
132
+ if (TARGET llama-common)
133
+ set(NLC_LLAMA_COMMON_TARGET llama-common)
134
+ elseif(TARGET common)
135
+ set(NLC_LLAMA_COMMON_TARGET common)
136
+ else()
137
+ message(FATAL_ERROR "llama.cpp common target was not found")
138
+ endif()
139
+
140
+ target_link_libraries(${PROJECT_NAME}
141
+ PRIVATE
142
+ ${CMAKE_JS_LIB}
143
+ llama
144
+ ${NLC_LLAMA_COMMON_TARGET}
145
+ )
146
+
147
+ if (GPU_INFO_EXTRA_LIBS)
148
+ target_link_libraries(${PROJECT_NAME} PRIVATE ${GPU_INFO_EXTRA_LIBS})
136
149
  endif()
137
150
 
138
151
  if(MSVC AND CMAKE_JS_NODELIB_DEF AND CMAKE_JS_NODELIB_TARGET)
@@ -236,7 +236,7 @@ Napi::Value addonSetNuma(const Napi::CallbackInfo& info) {
236
236
  }
237
237
 
238
238
  Napi::Value markLoaded(const Napi::CallbackInfo& info) {
239
- static std::atomic_bool loaded = false;
239
+ static std::atomic_bool loaded{false};
240
240
  return Napi::Boolean::New(info.Env(), loaded.exchange(true));
241
241
  }
242
242
 
@@ -1,3 +1,3 @@
1
1
  {
2
- "release": "b8827"
2
+ "release": "b8840"
3
3
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@realtimex/node-llama-cpp",
3
- "version": "0.51.0",
3
+ "version": "0.53.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",
@@ -233,19 +233,19 @@
233
233
  }
234
234
  },
235
235
  "optionalDependencies": {
236
- "@realtimex/node-llama-cpp-linux-arm64": "0.51.0",
237
- "@realtimex/node-llama-cpp-linux-armv7l": "0.51.0",
238
- "@realtimex/node-llama-cpp-linux-x64": "0.51.0",
239
- "@realtimex/node-llama-cpp-linux-x64-cuda": "0.51.0",
240
- "@realtimex/node-llama-cpp-linux-x64-cuda-ext": "0.51.0",
241
- "@realtimex/node-llama-cpp-linux-x64-vulkan": "0.51.0",
242
- "@realtimex/node-llama-cpp-mac-arm64-metal": "0.51.0",
243
- "@realtimex/node-llama-cpp-mac-x64": "0.51.0",
244
- "@realtimex/node-llama-cpp-win-arm64": "0.51.0",
245
- "@realtimex/node-llama-cpp-win-x64": "0.51.0",
246
- "@realtimex/node-llama-cpp-win-x64-cuda": "0.51.0",
247
- "@realtimex/node-llama-cpp-win-x64-cuda-ext": "0.51.0",
248
- "@realtimex/node-llama-cpp-win-x64-vulkan": "0.51.0"
236
+ "@realtimex/node-llama-cpp-linux-arm64": "0.53.0",
237
+ "@realtimex/node-llama-cpp-linux-armv7l": "0.53.0",
238
+ "@realtimex/node-llama-cpp-linux-x64": "0.53.0",
239
+ "@realtimex/node-llama-cpp-linux-x64-cuda": "0.53.0",
240
+ "@realtimex/node-llama-cpp-linux-x64-cuda-ext": "0.53.0",
241
+ "@realtimex/node-llama-cpp-linux-x64-vulkan": "0.53.0",
242
+ "@realtimex/node-llama-cpp-mac-arm64-metal": "0.53.0",
243
+ "@realtimex/node-llama-cpp-mac-x64": "0.53.0",
244
+ "@realtimex/node-llama-cpp-win-arm64": "0.53.0",
245
+ "@realtimex/node-llama-cpp-win-x64": "0.53.0",
246
+ "@realtimex/node-llama-cpp-win-x64-cuda": "0.53.0",
247
+ "@realtimex/node-llama-cpp-win-x64-cuda-ext": "0.53.0",
248
+ "@realtimex/node-llama-cpp-win-x64-vulkan": "0.53.0"
249
249
  },
250
250
  "publishConfig": {
251
251
  "access": "public"