node-llama-cpp 3.3.1 → 3.4.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 (194) hide show
  1. package/README.md +2 -1
  2. package/dist/bindings/AddonTypes.d.ts +12 -4
  3. package/dist/bindings/Llama.d.ts +9 -0
  4. package/dist/bindings/Llama.js +52 -28
  5. package/dist/bindings/Llama.js.map +1 -1
  6. package/dist/bindings/getLlama.d.ts +2 -1
  7. package/dist/bindings/getLlama.js +19 -9
  8. package/dist/bindings/getLlama.js.map +1 -1
  9. package/dist/bindings/utils/asyncSome.js +2 -0
  10. package/dist/bindings/utils/asyncSome.js.map +1 -1
  11. package/dist/bindings/utils/compileLLamaCpp.d.ts +1 -1
  12. package/dist/bindings/utils/compileLLamaCpp.js +108 -34
  13. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  14. package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +1 -0
  15. package/dist/bindings/utils/detectAvailableComputeLayers.js +4 -4
  16. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
  17. package/dist/bindings/utils/detectBuildTools.d.ts +14 -0
  18. package/dist/bindings/utils/detectBuildTools.js +149 -0
  19. package/dist/bindings/utils/detectBuildTools.js.map +1 -0
  20. package/dist/bindings/utils/resolveActualBindingBinaryPath.d.ts +1 -0
  21. package/dist/bindings/utils/resolveActualBindingBinaryPath.js +18 -0
  22. package/dist/bindings/utils/resolveActualBindingBinaryPath.js.map +1 -0
  23. package/dist/bindings/utils/testBindingBinary.d.ts +1 -1
  24. package/dist/bindings/utils/testBindingBinary.js +58 -5
  25. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  26. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +4 -0
  27. package/dist/chatWrappers/AlpacaChatWrapper.js +4 -0
  28. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
  29. package/dist/chatWrappers/FalconChatWrapper.d.ts +4 -0
  30. package/dist/chatWrappers/FalconChatWrapper.js +4 -0
  31. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
  32. package/dist/chatWrappers/GeneralChatWrapper.d.ts +4 -0
  33. package/dist/chatWrappers/GeneralChatWrapper.js +4 -0
  34. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
  35. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +2 -0
  36. package/dist/chatWrappers/utils/resolveChatWrapper.js +8 -27
  37. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -1
  38. package/dist/cli/commands/ChatCommand.d.ts +4 -0
  39. package/dist/cli/commands/ChatCommand.js +155 -11
  40. package/dist/cli/commands/ChatCommand.js.map +1 -1
  41. package/dist/cli/commands/CompleteCommand.d.ts +4 -0
  42. package/dist/cli/commands/CompleteCommand.js +143 -10
  43. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  44. package/dist/cli/commands/DebugCommand.js +5 -5
  45. package/dist/cli/commands/DebugCommand.js.map +1 -1
  46. package/dist/cli/commands/InfillCommand.d.ts +4 -0
  47. package/dist/cli/commands/InfillCommand.js +142 -10
  48. package/dist/cli/commands/InfillCommand.js.map +1 -1
  49. package/dist/cli/commands/OnPostInstallCommand.js +12 -2
  50. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  51. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.d.ts +1 -0
  52. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js +14 -7
  53. package/dist/cli/commands/inspect/commands/InspectEstimateCommand.js.map +1 -1
  54. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +13 -3
  55. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -1
  56. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +20 -10
  57. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -1
  58. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +2 -0
  59. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +234 -77
  60. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -1
  61. package/dist/cli/utils/ConsoleTable.d.ts +1 -0
  62. package/dist/cli/utils/ConsoleTable.js +5 -1
  63. package/dist/cli/utils/ConsoleTable.js.map +1 -1
  64. package/dist/cli/utils/interactivelyAskForModel.d.ts +2 -1
  65. package/dist/cli/utils/interactivelyAskForModel.js +16 -13
  66. package/dist/cli/utils/interactivelyAskForModel.js.map +1 -1
  67. package/dist/cli/utils/isRunningUnderRosetta.d.ts +1 -0
  68. package/dist/cli/utils/isRunningUnderRosetta.js +20 -0
  69. package/dist/cli/utils/isRunningUnderRosetta.js.map +1 -0
  70. package/dist/cli/utils/printCommonInfoLines.d.ts +4 -2
  71. package/dist/cli/utils/printCommonInfoLines.js +67 -5
  72. package/dist/cli/utils/printCommonInfoLines.js.map +1 -1
  73. package/dist/cli/utils/resolveCommandGgufPath.d.ts +3 -1
  74. package/dist/cli/utils/resolveCommandGgufPath.js +6 -5
  75. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -1
  76. package/dist/cli/utils/toBytes.d.ts +1 -0
  77. package/dist/cli/utils/toBytes.js +5 -0
  78. package/dist/cli/utils/toBytes.js.map +1 -0
  79. package/dist/config.d.ts +3 -0
  80. package/dist/config.js +3 -0
  81. package/dist/config.js.map +1 -1
  82. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +12 -3
  83. package/dist/evaluator/LlamaChat/LlamaChat.js +21 -7
  84. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  85. package/dist/evaluator/LlamaChatSession/LlamaChatSession.d.ts +6 -2
  86. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +3 -0
  87. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -1
  88. package/dist/evaluator/LlamaCompletion.d.ts +3 -0
  89. package/dist/evaluator/LlamaCompletion.js +5 -0
  90. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  91. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +81 -38
  92. package/dist/evaluator/LlamaContext/LlamaContext.js +678 -132
  93. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  94. package/dist/evaluator/LlamaContext/TokenPredictor.d.ts +55 -0
  95. package/dist/evaluator/LlamaContext/TokenPredictor.js +20 -0
  96. package/dist/evaluator/LlamaContext/TokenPredictor.js.map +1 -0
  97. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.d.ts +56 -0
  98. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js +266 -0
  99. package/dist/evaluator/LlamaContext/tokenPredictors/DraftSequenceTokenPredictor.js.map +1 -0
  100. package/dist/evaluator/LlamaContext/tokenPredictors/InputLookupTokenPredictor.d.ts +58 -0
  101. package/dist/evaluator/LlamaContext/tokenPredictors/InputLookupTokenPredictor.js +138 -0
  102. package/dist/evaluator/LlamaContext/tokenPredictors/InputLookupTokenPredictor.js.map +1 -0
  103. package/dist/evaluator/LlamaContext/types.d.ts +198 -5
  104. package/dist/evaluator/LlamaEmbeddingContext.d.ts +3 -0
  105. package/dist/evaluator/LlamaEmbeddingContext.js +3 -0
  106. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  107. package/dist/evaluator/LlamaGrammar.d.ts +7 -1
  108. package/dist/evaluator/LlamaGrammar.js +6 -0
  109. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  110. package/dist/evaluator/LlamaGrammarEvaluationState.d.ts +4 -4
  111. package/dist/evaluator/LlamaGrammarEvaluationState.js +16 -8
  112. package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -1
  113. package/dist/evaluator/LlamaJsonSchemaGrammar.d.ts +5 -0
  114. package/dist/evaluator/LlamaJsonSchemaGrammar.js +7 -0
  115. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -1
  116. package/dist/evaluator/LlamaModel/LlamaModel.d.ts +19 -11
  117. package/dist/evaluator/LlamaModel/LlamaModel.js +24 -38
  118. package/dist/evaluator/LlamaModel/LlamaModel.js.map +1 -1
  119. package/dist/evaluator/LlamaRankingContext.d.ts +76 -0
  120. package/dist/evaluator/LlamaRankingContext.js +159 -0
  121. package/dist/evaluator/LlamaRankingContext.js.map +1 -0
  122. package/dist/evaluator/TokenBias.d.ts +3 -0
  123. package/dist/evaluator/TokenBias.js +3 -0
  124. package/dist/evaluator/TokenBias.js.map +1 -1
  125. package/dist/evaluator/utils/chunkDocument.d.ts +86 -0
  126. package/dist/evaluator/utils/chunkDocument.js +212 -0
  127. package/dist/evaluator/utils/chunkDocument.js.map +1 -0
  128. package/dist/gguf/insights/GgufInsights.d.ts +3 -1
  129. package/dist/gguf/insights/GgufInsights.js +114 -8
  130. package/dist/gguf/insights/GgufInsights.js.map +1 -1
  131. package/dist/gguf/insights/GgufInsightsConfigurationResolver.d.ts +6 -3
  132. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js +11 -7
  133. package/dist/gguf/insights/GgufInsightsConfigurationResolver.js.map +1 -1
  134. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.d.ts +2 -1
  135. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js +13 -7
  136. package/dist/gguf/insights/utils/resolveModelGpuLayersOption.js.map +1 -1
  137. package/dist/gguf/parser/GgufV2Parser.js +29 -8
  138. package/dist/gguf/parser/GgufV2Parser.js.map +1 -1
  139. package/dist/gguf/parser/parseGguf.js +11 -11
  140. package/dist/gguf/parser/parseGguf.js.map +1 -1
  141. package/dist/gguf/readGgufFileInfo.js +8 -3
  142. package/dist/gguf/readGgufFileInfo.js.map +1 -1
  143. package/dist/gguf/types/GgufFileInfoTypes.d.ts +1 -0
  144. package/dist/gguf/types/GgufMetadataTypes.d.ts +9 -9
  145. package/dist/gguf/types/GgufMetadataTypes.js +1 -1
  146. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -1
  147. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +13 -0
  148. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -1
  149. package/dist/index.d.ts +7 -2
  150. package/dist/index.js +6 -1
  151. package/dist/index.js.map +1 -1
  152. package/dist/tsconfig.tsbuildinfo +1 -1
  153. package/dist/utils/LlamaText.d.ts +4 -1
  154. package/dist/utils/LlamaText.js +4 -1
  155. package/dist/utils/LlamaText.js.map +1 -1
  156. package/dist/utils/cmake.js +23 -0
  157. package/dist/utils/cmake.js.map +1 -1
  158. package/dist/utils/pushAll.d.ts +1 -1
  159. package/dist/utils/pushAll.js.map +1 -1
  160. package/dist/utils/tokenizerUtils.js +1 -1
  161. package/dist/utils/utilTypes.d.ts +5 -0
  162. package/llama/CMakeLists.txt +25 -8
  163. package/llama/addon/AddonContext.cpp +188 -16
  164. package/llama/addon/AddonContext.h +1 -0
  165. package/llama/addon/AddonGrammar.cpp +1 -4
  166. package/llama/addon/AddonGrammarEvaluationState.cpp +16 -5
  167. package/llama/addon/AddonModel.cpp +11 -15
  168. package/llama/addon/AddonModel.h +0 -1
  169. package/llama/addon/AddonSampler.cpp +1 -6
  170. package/llama/addon/addon.cpp +26 -7
  171. package/llama/addon/globals/getGpuInfo.cpp +30 -5
  172. package/llama/addon/globals/getGpuInfo.h +6 -1
  173. package/llama/addon/globals/getMemoryInfo.cpp +63 -0
  174. package/llama/addon/globals/getMemoryInfo.h +4 -0
  175. package/llama/binariesGithubRelease.json +1 -1
  176. package/llama/cmake/win32.ensureNinjaPath.cmake +68 -0
  177. package/llama/cmake/win32.ensureNodeLib.cmake +34 -0
  178. package/llama/cmake/win32.llvmApplyGnuModeAdaptations.cmake +12 -0
  179. package/llama/cmake/win32.llvmEnsureCmakeAr.cmake +37 -0
  180. package/llama/cmake/win32.llvmUseGnuModeCompilers.cmake +87 -0
  181. package/llama/cmake/win32.programFilesPaths.cmake +31 -0
  182. package/llama/gitRelease.bundle +0 -0
  183. package/llama/gpuInfo/vulkan-gpu-info.cpp +29 -2
  184. package/llama/gpuInfo/vulkan-gpu-info.h +1 -0
  185. package/llama/llama.cpp.info.json +1 -1
  186. package/llama/profiles/llvm.win32.host-arm64.target-arm64.cmake +14 -0
  187. package/llama/profiles/llvm.win32.host-x64.target-arm64.cmake +14 -0
  188. package/llama/profiles/llvm.win32.host-x64.target-x64.cmake +14 -0
  189. package/llama/toolchains/llvm.win32.host-x64.target-x64.cmake +20 -0
  190. package/llama/toolchains/win32.host-arm64.target-arm64.cmake +21 -0
  191. package/llama/toolchains/win32.host-x64.target-arm64.cmake +14 -34
  192. package/package.json +43 -43
  193. package/templates/packed/electron-typescript-react.json +1 -1
  194. package/templates/packed/node-typescript.json +1 -1
@@ -0,0 +1,68 @@
1
+ function(ensureNinjaPath)
2
+ if ((NOT DEFINED CMAKE_MAKE_PROGRAM OR NOT EXISTS "${CMAKE_MAKE_PROGRAM}" OR NOT CMAKE_MAKE_PROGRAM) AND (CMAKE_GENERATOR STREQUAL "Ninja" OR CMAKE_GENERATOR STREQUAL "Ninja Multi-Config"))
3
+ find_program(NINJA_EXECUTABLE ninja)
4
+
5
+ set(CMAKE_MAKE_PROGRAM "")
6
+ set(CMAKE_MAKE_PROGRAM "" PARENT_SCOPE)
7
+
8
+ if(NINJA_EXECUTABLE AND EXISTS "${NINJA_EXECUTABLE}")
9
+ set(CMAKE_MAKE_PROGRAM "${NINJA_EXECUTABLE}")
10
+ set(CMAKE_MAKE_PROGRAM "${NINJA_EXECUTABLE}" CACHE FILEPATH "Make program")
11
+ set(CMAKE_MAKE_PROGRAM "${NINJA_EXECUTABLE}" PARENT_SCOPE)
12
+ endif()
13
+
14
+ if (NOT CMAKE_MAKE_PROGRAM OR NOT EXISTS "${CMAKE_MAKE_PROGRAM}")
15
+ set(PROGRAMDATA_PATH "$ENV{ProgramData}")
16
+ file(TO_CMAKE_PATH "${PROGRAMDATA_PATH}" PROGRAMDATA_PATH)
17
+
18
+ if (PROGRAMDATA_PATH AND EXISTS "${PROGRAMDATA_PATH}")
19
+ file(GLOB_RECURSE FOUND_NINJA_EXE "${PROGRAMDATA_PATH}/chocolatey/bin/ninja.exe")
20
+
21
+ if(FOUND_NINJA_EXE)
22
+ list(GET FOUND_NINJA_EXE 0 FOUND_CMAKE_MAKE_PROGRAM)
23
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}")
24
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}" CACHE FILEPATH "Make program")
25
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}" PARENT_SCOPE)
26
+ endif()
27
+ endif()
28
+ endif()
29
+
30
+ if (NOT CMAKE_MAKE_PROGRAM OR NOT EXISTS "${CMAKE_MAKE_PROGRAM}")
31
+ set(LOCALAPPDATA_PATH "$ENV{LOCALAPPDATA}")
32
+ file(TO_CMAKE_PATH "${LOCALAPPDATA_PATH}" LOCALAPPDATA_PATH)
33
+
34
+ if (LOCALAPPDATA_PATH AND EXISTS "${LOCALAPPDATA_PATH}")
35
+ file(GLOB_RECURSE FOUND_NINJA_EXE "${LOCALAPPDATA_PATH}/Microsoft/WinGet/Packages/Ninja-build.Ninja_Microsoft.Winget.*/ninja.exe")
36
+
37
+ if(FOUND_NINJA_EXE)
38
+ list(GET FOUND_NINJA_EXE 0 FOUND_CMAKE_MAKE_PROGRAM)
39
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}")
40
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}" CACHE FILEPATH "Make program")
41
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}" PARENT_SCOPE)
42
+ endif()
43
+ endif()
44
+ endif()
45
+
46
+ if (NOT CMAKE_MAKE_PROGRAM OR NOT EXISTS "${CMAKE_MAKE_PROGRAM}")
47
+ foreach(PATH IN LISTS PROGRAMFILES_PATHS)
48
+ file(GLOB_RECURSE FOUND_NINJA_EXE
49
+ "${PATH}/Microsoft Visual Studio/*/CMake/Ninja/ninja.exe"
50
+ "${PATH}/Microsoft Visual Studio/**/*/CMake/Ninja/ninja.exe"
51
+ "${PATH}/Microsoft Visual Studio/*/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe"
52
+ "${PATH}/Microsoft Visual Studio/**/*/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe")
53
+
54
+ if(FOUND_NINJA_EXE)
55
+ list(GET FOUND_NINJA_EXE 0 FOUND_CMAKE_MAKE_PROGRAM)
56
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}")
57
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}" CACHE FILEPATH "Make program")
58
+ set(CMAKE_MAKE_PROGRAM "${FOUND_CMAKE_MAKE_PROGRAM}" PARENT_SCOPE)
59
+ break()
60
+ endif()
61
+ endforeach()
62
+ endif()
63
+
64
+ if (NOT CMAKE_MAKE_PROGRAM OR NOT EXISTS "${CMAKE_MAKE_PROGRAM}")
65
+ message(FATAL_ERROR "Ninja build system not found. Please install Ninja or Visual Studio Build Tools.")
66
+ endif()
67
+ endif()
68
+ endfunction()
@@ -0,0 +1,34 @@
1
+ function(ensureNodeLib HOST_ARCH TARGET_ARCH)
2
+ if (CMAKE_JS_NODELIB_DEF AND CMAKE_JS_NODELIB_TARGET)
3
+ if (NOT DEFINED NODE_LIB_CMAKE_AR)
4
+ foreach(PATH IN LISTS PROGRAMFILES_PATHS)
5
+ if(NODE_LIB_CMAKE_AR)
6
+ break()
7
+ endif()
8
+
9
+ file(GLOB_RECURSE FOUND_LIB_EXE
10
+ "${PATH}/Microsoft Visual Studio/*/VC/Tools/MSVC/*/bin/Host${HOST_ARCH}/${TARGET_ARCH}/lib.exe"
11
+ "${PATH}/Microsoft Visual Studio/**/*/VC/Tools/MSVC/*/bin/Host${HOST_ARCH}/${TARGET_ARCH}/lib.exe")
12
+
13
+ if(FOUND_LIB_EXE)
14
+ list(GET FOUND_LIB_EXE 0 NODE_LIB_CMAKE_AR)
15
+ break()
16
+ endif()
17
+ endforeach()
18
+ endif()
19
+
20
+ set(NODE_LIB_CMAKE_AR_MACHINE_FLAG "")
21
+ if (TARGET_ARCH STREQUAL "x64")
22
+ set(NODE_LIB_CMAKE_AR_MACHINE_FLAG "/MACHINE:X64")
23
+ elseif (TARGET_ARCH STREQUAL "arm64")
24
+ set(NODE_LIB_CMAKE_AR_MACHINE_FLAG "/MACHINE:ARM64")
25
+ endif()
26
+
27
+ if (EXISTS "${NODE_LIB_CMAKE_AR}")
28
+ # Generate node.lib
29
+ execute_process(COMMAND ${NODE_LIB_CMAKE_AR} /def:${CMAKE_JS_NODELIB_DEF} /out:${CMAKE_JS_NODELIB_TARGET} ${CMAKE_STATIC_LINKER_FLAGS} ${NODE_LIB_CMAKE_AR_MACHINE_FLAG} /nologo)
30
+ else()
31
+ message(FATAL_ERROR "Windows Resource Compiler (lib.exe) not found. Please install Visual Studio Build Tools.")
32
+ endif()
33
+ endif()
34
+ endfunction()
@@ -0,0 +1,12 @@
1
+ function(llvmApplyGnuModeAdaptations)
2
+ # adapt cmake-js to work with llvm in GNU mode
3
+ if (NOT CMAKE_SHARED_LINKER_FLAGS MATCHES "-Xlinker /DELAYLOAD:NODE.EXE")
4
+ string(REPLACE "/DELAYLOAD:NODE.EXE" "-Xlinker /DELAYLOAD:NODE.EXE -Xlinker /defaultlib:delayimp"
5
+ UPDATED_CMAKE_SHARED_LINKER_FLAGS
6
+ "${CMAKE_SHARED_LINKER_FLAGS}")
7
+ set(CMAKE_SHARED_LINKER_FLAGS "${UPDATED_CMAKE_SHARED_LINKER_FLAGS}" PARENT_SCOPE)
8
+ endif()
9
+
10
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Xclang --dependent-lib=msvcrt" PARENT_SCOPE)
11
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Xclang --dependent-lib=msvcrt" PARENT_SCOPE)
12
+ endfunction()
@@ -0,0 +1,37 @@
1
+ function(llvmEnsureCmakeAr CURRENT_ARCH)
2
+ set (LLVM_DIR_ARCH_NAME "")
3
+ if (CURRENT_ARCH STREQUAL "x64")
4
+ set (LLVM_DIR_ARCH_NAME "x64")
5
+ elseif (CURRENT_ARCH STREQUAL "arm64")
6
+ set (LLVM_DIR_ARCH_NAME "ARM64")
7
+ endif()
8
+
9
+ if (NOT DEFINED CMAKE_AR OR NOT EXISTS "${CMAKE_AR}")
10
+ set(LLVM_INSTALL_PATHS "")
11
+ foreach(PATH IN LISTS PROGRAMFILES_PATHS)
12
+ list(APPEND LLVM_INSTALL_PATHS "${PATH}/LLVM")
13
+
14
+ file(GLOB_RECURSE FOUND_LLVM_ROOT LIST_DIRECTORIES true
15
+ "${PATH}/Microsoft Visual Studio/*/VC/Tools/Llvm/${LLVM_DIR_ARCH_NAME}"
16
+ "${PATH}/Microsoft Visual Studio/**/*/VC/Tools/Llvm/${LLVM_DIR_ARCH_NAME}")
17
+ list(FILTER FOUND_LLVM_ROOT INCLUDE REGEX "VC/Tools/Llvm/${LLVM_DIR_ARCH_NAME}$")
18
+
19
+ if(FOUND_LLVM_ROOT)
20
+ list(APPEND LLVM_INSTALL_PATHS ${FOUND_LLVM_ROOT})
21
+ endif()
22
+ endforeach()
23
+
24
+ if(DEFINED LLVM_ROOT AND EXISTS "${LLVM_ROOT}")
25
+ list(INSERT LLVM_INSTALL_PATHS 0 "${LLVM_ROOT}")
26
+ endif()
27
+
28
+ list(REMOVE_DUPLICATES LLVM_INSTALL_PATHS)
29
+
30
+ foreach(PATH IN LISTS LLVM_INSTALL_PATHS)
31
+ if(EXISTS "${PATH}/bin/llvm-ar.exe" AND EXISTS "${PATH}/bin/llvm-ar.exe")
32
+ set(CMAKE_AR "${PATH}/bin/llvm-ar.exe" PARENT_SCOPE)
33
+ break()
34
+ endif()
35
+ endforeach()
36
+ endif()
37
+ endfunction()
@@ -0,0 +1,87 @@
1
+ function(llvmUseGnuModeCompilers CURRENT_ARCH)
2
+ set(LLVM_INSTALLATION_URL "https://github.com/llvm/llvm-project/releases/tag/llvmorg-19.1.5")
3
+
4
+ set(CMAKE_C_COMPILER clang)
5
+ set(CMAKE_C_COMPILER clang PARENT_SCOPE)
6
+ set(CMAKE_CXX_COMPILER clang++)
7
+ set(CMAKE_CXX_COMPILER clang++ PARENT_SCOPE)
8
+ set(CMAKE_RC_COMPILER llvm-rc)
9
+ set(CMAKE_RC_COMPILER llvm-rc PARENT_SCOPE)
10
+
11
+
12
+ set (LLVM_DIR_ARCH_NAME "")
13
+ if (CURRENT_ARCH STREQUAL "x64")
14
+ set (LLVM_DIR_ARCH_NAME "x64")
15
+ elseif (CURRENT_ARCH STREQUAL "arm64")
16
+ set (LLVM_DIR_ARCH_NAME "ARM64")
17
+ endif()
18
+
19
+ set(LLVM_INSTALL_PATHS "")
20
+ foreach(PATH IN LISTS PROGRAMFILES_PATHS)
21
+ list(APPEND LLVM_INSTALL_PATHS "${PATH}/LLVM")
22
+
23
+ file(GLOB_RECURSE FOUND_LLVM_ROOT LIST_DIRECTORIES true
24
+ "${PATH}/Microsoft Visual Studio/*/VC/Tools/Llvm/${LLVM_DIR_ARCH_NAME}"
25
+ "${PATH}/Microsoft Visual Studio/**/*/VC/Tools/Llvm/${LLVM_DIR_ARCH_NAME}")
26
+ list(FILTER FOUND_LLVM_ROOT INCLUDE REGEX "VC/Tools/Llvm/${LLVM_DIR_ARCH_NAME}$")
27
+
28
+ if(FOUND_LLVM_ROOT)
29
+ list(APPEND LLVM_INSTALL_PATHS ${FOUND_LLVM_ROOT})
30
+ endif()
31
+ endforeach()
32
+
33
+ if(DEFINED LLVM_ROOT AND EXISTS "${LLVM_ROOT}")
34
+ list(INSERT LLVM_INSTALL_PATHS 0 "${LLVM_ROOT}")
35
+ endif()
36
+
37
+ list(REMOVE_DUPLICATES LLVM_INSTALL_PATHS)
38
+
39
+ set(LLVM_ROOT "")
40
+ set(LLVM_ROOT "" PARENT_SCOPE)
41
+ foreach(PATH IN LISTS LLVM_INSTALL_PATHS)
42
+ if(EXISTS "${PATH}/bin/clang.exe" AND EXISTS "${PATH}/bin/clang++.exe" AND EXISTS "${PATH}/bin/llvm-rc.exe")
43
+ set(LLVM_ROOT "${PATH}")
44
+ set(LLVM_ROOT "${PATH}" PARENT_SCOPE)
45
+ break()
46
+ endif()
47
+ endforeach()
48
+
49
+ if(LLVM_ROOT STREQUAL "")
50
+ if (CURRENT_ARCH STREQUAL "arm64")
51
+ message(FATAL_ERROR "LLVM installation was not found. Please install LLVM for WoA (Windows on Arm): ${LLVM_INSTALLATION_URL}")
52
+ else()
53
+ message(FATAL_ERROR "LLVM installation was not found. Please install LLVM: ${LLVM_INSTALLATION_URL}")
54
+ endif()
55
+ endif()
56
+
57
+ if (NOT EXISTS "${CMAKE_C_COMPILER}" OR NOT EXISTS "${CMAKE_CXX_COMPILER}" OR NOT EXISTS "${CMAKE_RC_COMPILER}")
58
+ set(CMAKE_C_COMPILER "${LLVM_ROOT}/bin/clang.exe")
59
+ set(CMAKE_C_COMPILER "${LLVM_ROOT}/bin/clang.exe" PARENT_SCOPE)
60
+ set(CMAKE_CXX_COMPILER "${LLVM_ROOT}/bin/clang++.exe")
61
+ set(CMAKE_CXX_COMPILER "${LLVM_ROOT}/bin/clang++.exe" PARENT_SCOPE)
62
+ set(CMAKE_RC_COMPILER "${LLVM_ROOT}/bin/llvm-rc.exe")
63
+ set(CMAKE_RC_COMPILER "${LLVM_ROOT}/bin/llvm-rc.exe" PARENT_SCOPE)
64
+ endif()
65
+
66
+ if (NOT EXISTS "${CMAKE_C_COMPILER}")
67
+ if (CURRENT_ARCH STREQUAL "arm64")
68
+ message(FATAL_ERROR "Clang compiler not found at ${CMAKE_C_COMPILER}. Please reinstall LLVM for WoA (Windows on Arm): ${LLVM_INSTALLATION_URL}")
69
+ else()
70
+ message(FATAL_ERROR "Clang compiler not found at ${CMAKE_C_COMPILER}. Please reinstall LLVM: ${LLVM_INSTALLATION_URL}")
71
+ endif()
72
+ endif()
73
+ if (NOT EXISTS "${CMAKE_CXX_COMPILER}")
74
+ if (CURRENT_ARCH STREQUAL "arm64")
75
+ message(FATAL_ERROR "Clang++ compiler not found at ${CMAKE_CXX_COMPILER}. Please reinstall LLVM for WoA (Windows on Arm): ${LLVM_INSTALLATION_URL}")
76
+ else()
77
+ message(FATAL_ERROR "Clang++ compiler not found at ${CMAKE_CXX_COMPILER}. Please reinstall LLVM: ${LLVM_INSTALLATION_URL}")
78
+ endif()
79
+ endif()
80
+ if (NOT EXISTS "${CMAKE_RC_COMPILER}")
81
+ if (CURRENT_ARCH STREQUAL "arm64")
82
+ message(FATAL_ERROR "LLVM Resource Compiler not found at ${CMAKE_RC_COMPILER}. Please reinstall LLVM for WoA (Windows on Arm): ${LLVM_INSTALLATION_URL}")
83
+ else()
84
+ message(FATAL_ERROR "LLVM Resource Compiler not found at ${CMAKE_RC_COMPILER}. Please reinstall LLVM: ${LLVM_INSTALLATION_URL}")
85
+ endif()
86
+ endif()
87
+ endfunction()
@@ -0,0 +1,31 @@
1
+ function(setProgramFilesPaths CURRENT_ARCH)
2
+ set(PROGRAMFILES "$ENV{ProgramFiles}")
3
+ set(PROGRAMFILES_X86 "$ENV{ProgramFiles\(x86\)}")
4
+ file(TO_CMAKE_PATH "${PROGRAMFILES}" PROGRAMFILES)
5
+ file(TO_CMAKE_PATH "${PROGRAMFILES_X86}" PROGRAMFILES_X86)
6
+
7
+ if(CURRENT_ARCH STREQUAL "arm64")
8
+ set(PROGRAMFILES_ARM64 "$ENV{ProgramFiles\(Arm\)}")
9
+ file(TO_CMAKE_PATH "${PROGRAMFILES_ARM64}" PROGRAMFILES_ARM64)
10
+
11
+ set(PROGRAMFILES_PATHS_LIST
12
+ "${PROGRAMFILES_ARM64}"
13
+ "${PROGRAMFILES}"
14
+ "${PROGRAMFILES_X86}"
15
+ "C:/Program Files (Arm)"
16
+ "C:/Program Files"
17
+ "C:/Program Files (x86)"
18
+ )
19
+ list(REMOVE_DUPLICATES PROGRAMFILES_PATHS_LIST)
20
+ set(PROGRAMFILES_PATHS ${PROGRAMFILES_PATHS_LIST} PARENT_SCOPE)
21
+ else()
22
+ set(PROGRAMFILES_PATHS_LIST
23
+ "${PROGRAMFILES}"
24
+ "${PROGRAMFILES_X86}"
25
+ "C:/Program Files"
26
+ "C:/Program Files (x86)"
27
+ )
28
+ list(REMOVE_DUPLICATES PROGRAMFILES_PATHS_LIST)
29
+ set(PROGRAMFILES_PATHS ${PROGRAMFILES_PATHS_LIST} PARENT_SCOPE)
30
+ endif()
31
+ endfunction()
Binary file
@@ -5,7 +5,7 @@
5
5
 
6
6
  typedef void (*gpuInfoVulkanWarningLogCallback_t)(const char* message);
7
7
 
8
- static bool enumerateVulkanDevices(size_t* total, size_t* used, size_t* unifiedMemorySize, bool addDeviceNames, std::vector<std::string> * deviceNames, gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
8
+ static bool enumerateVulkanDevices(size_t* total, size_t* used, size_t* unifiedMemorySize, bool addDeviceNames, std::vector<std::string> * deviceNames, gpuInfoVulkanWarningLogCallback_t warningLogCallback, bool * checkSupported) {
9
9
  vk::ApplicationInfo appInfo("node-llama-cpp GPU info", 1, "llama.cpp", 1, VK_API_VERSION_1_2);
10
10
  vk::InstanceCreateInfo createInfo(vk::InstanceCreateFlags(), &appInfo, {}, {});
11
11
  vk::Instance instance = vk::createInstance(createInfo);
@@ -56,6 +56,22 @@ static bool enumerateVulkanDevices(size_t* total, size_t* used, size_t* unifiedM
56
56
  if (size > 0 && addDeviceNames) {
57
57
  (*deviceNames).push_back(std::string(deviceProps.deviceName.data()));
58
58
  }
59
+
60
+ if (checkSupported != nullptr && checkSupported) {
61
+ VkPhysicalDeviceFeatures2 features2 = {};
62
+ features2.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2;
63
+
64
+ VkPhysicalDeviceVulkan11Features vk11Features = {};
65
+ vk11Features.sType = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES;
66
+ features2.pNext = &vk11Features;
67
+
68
+ vkGetPhysicalDeviceFeatures2(physicalDevice, &features2);
69
+ VkPhysicalDeviceFeatures2 device_features2;
70
+
71
+ if (!vk11Features.storageBuffer16BitAccess) {
72
+ *checkSupported = false;
73
+ }
74
+ }
59
75
  }
60
76
  }
61
77
  } else {
@@ -78,5 +94,16 @@ static bool enumerateVulkanDevices(size_t* total, size_t* used, size_t* unifiedM
78
94
  }
79
95
 
80
96
  bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, size_t* unifiedMemorySize, gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
81
- return enumerateVulkanDevices(total, used, unifiedMemorySize, false, nullptr, warningLogCallback);
97
+ return enumerateVulkanDevices(total, used, unifiedMemorySize, false, nullptr, warningLogCallback, nullptr);
98
+ }
99
+
100
+ bool checkIsVulkanEnvSupported(gpuInfoVulkanWarningLogCallback_t warningLogCallback) {
101
+ size_t total = 0;
102
+ size_t used = 0;
103
+ size_t unifiedMemorySize = 0;
104
+
105
+ bool isSupported = true;
106
+ enumerateVulkanDevices(&total, &used, &unifiedMemorySize, false, nullptr, warningLogCallback, &isSupported);
107
+
108
+ return isSupported;
82
109
  }
@@ -6,3 +6,4 @@
6
6
  typedef void (*gpuInfoVulkanWarningLogCallback_t)(const char* message);
7
7
 
8
8
  bool gpuInfoGetTotalVulkanDevicesInfo(size_t* total, size_t* used, size_t* unifiedMemorySize, gpuInfoVulkanWarningLogCallback_t warningLogCallback);
9
+ bool checkIsVulkanEnvSupported(gpuInfoVulkanWarningLogCallback_t warningLogCallback);
@@ -1,4 +1,4 @@
1
1
  {
2
- "tag": "b4291",
2
+ "tag": "b4435",
3
3
  "llamaCppGithubRepo": "ggerganov/llama.cpp"
4
4
  }
@@ -0,0 +1,14 @@
1
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.programFilesPaths.cmake")
2
+ setProgramFilesPaths("arm64")
3
+
4
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNodeLib.cmake")
5
+ ensureNodeLib("arm64" "arm64")
6
+
7
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmApplyGnuModeAdaptations.cmake")
8
+ llvmApplyGnuModeAdaptations()
9
+
10
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmEnsureCmakeAr.cmake")
11
+ llvmEnsureCmakeAr("arm64")
12
+
13
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNinjaPath.cmake")
14
+ ensureNinjaPath()
@@ -0,0 +1,14 @@
1
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.programFilesPaths.cmake")
2
+ setProgramFilesPaths("x64")
3
+
4
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNodeLib.cmake")
5
+ ensureNodeLib("x64" "arm64")
6
+
7
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmApplyGnuModeAdaptations.cmake")
8
+ llvmApplyGnuModeAdaptations()
9
+
10
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmEnsureCmakeAr.cmake")
11
+ llvmEnsureCmakeAr("x64")
12
+
13
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNinjaPath.cmake")
14
+ ensureNinjaPath()
@@ -0,0 +1,14 @@
1
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.programFilesPaths.cmake")
2
+ setProgramFilesPaths("x64")
3
+
4
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNodeLib.cmake")
5
+ ensureNodeLib("x64" "x64")
6
+
7
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmApplyGnuModeAdaptations.cmake")
8
+ llvmApplyGnuModeAdaptations()
9
+
10
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmEnsureCmakeAr.cmake")
11
+ llvmEnsureCmakeAr("x64")
12
+
13
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNinjaPath.cmake")
14
+ ensureNinjaPath()
@@ -0,0 +1,20 @@
1
+ set(CMAKE_SYSTEM_NAME Windows)
2
+ set(CMAKE_SYSTEM_PROCESSOR x86_64)
3
+
4
+ set(target x86_64-pc-windows-msvc)
5
+ set(CMAKE_C_COMPILER_TARGET ${target})
6
+ set(CMAKE_CXX_COMPILER_TARGET ${target})
7
+
8
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.programFilesPaths.cmake")
9
+ setProgramFilesPaths("x64")
10
+
11
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmUseGnuModeCompilers.cmake")
12
+ llvmUseGnuModeCompilers("x64")
13
+
14
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNinjaPath.cmake")
15
+ ensureNinjaPath()
16
+
17
+ set(arch_c_flags "-march=native")
18
+
19
+ set(CMAKE_C_FLAGS_INIT "${arch_c_flags}")
20
+ set(CMAKE_CXX_FLAGS_INIT "${arch_c_flags}")
@@ -0,0 +1,21 @@
1
+ set(CMAKE_SYSTEM_NAME Windows)
2
+ set(CMAKE_SYSTEM_PROCESSOR arm64)
3
+
4
+ set(target arm64-pc-windows-msvc)
5
+ set(CMAKE_C_COMPILER_TARGET ${target})
6
+ set(CMAKE_CXX_COMPILER_TARGET ${target})
7
+
8
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.programFilesPaths.cmake")
9
+ setProgramFilesPaths("arm64")
10
+
11
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmUseGnuModeCompilers.cmake")
12
+ llvmUseGnuModeCompilers("arm64")
13
+
14
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNinjaPath.cmake")
15
+ ensureNinjaPath()
16
+
17
+ set(arch_c_flags "-march=armv8.7-a -fvectorize -ffp-model=fast -fno-finite-math-only")
18
+ set(warn_c_flags "-Wno-format -Wno-unused-variable -Wno-unused-function -Wno-gnu-zero-variadic-macro-arguments")
19
+
20
+ set(CMAKE_C_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}")
21
+ set(CMAKE_CXX_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}")
@@ -1,41 +1,21 @@
1
1
  set(CMAKE_SYSTEM_NAME Windows)
2
- set(CMAKE_SYSTEM_PROCESSOR ARM64)
2
+ set(CMAKE_SYSTEM_PROCESSOR arm64)
3
3
 
4
- # Look for cl.exe in the Visual Studio installation directories
5
- set(PROGRAMFILES "$ENV{ProgramFiles}")
6
- set(PROGRAMFILES_X86 "$ENV{ProgramFiles\(x86\)}")
4
+ set(target arm64-pc-windows-msvc)
5
+ set(CMAKE_C_COMPILER_TARGET ${target})
6
+ set(CMAKE_CXX_COMPILER_TARGET ${target})
7
7
 
8
- set(VS_INSTALL_PATHS
9
- "${PROGRAMFILES_X86}/Microsoft Visual Studio"
10
- "${PROGRAMFILES}/Microsoft Visual Studio"
11
- "C:/Program Files (x86)/Microsoft Visual Studio"
12
- "C:/Program Files/Microsoft Visual Studio"
13
- )
14
- foreach(PATH IN LISTS VS_INSTALL_PATHS)
15
- if(CL_EXE_PATH)
16
- break()
17
- endif()
8
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.programFilesPaths.cmake")
9
+ setProgramFilesPaths("x64")
18
10
 
19
- file(GLOB_RECURSE FOUND_CL_EXE "${PATH}/*/VC/Tools/MSVC/*/bin/Hostx64/arm64/cl.exe")
20
- if(FOUND_CL_EXE)
21
- list(GET FOUND_CL_EXE 0 CL_EXE_PATH)
22
- break()
23
- endif()
11
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.llvmUseGnuModeCompilers.cmake")
12
+ llvmUseGnuModeCompilers("x64")
24
13
 
25
- if(CL_EXE_PATH)
26
- break()
27
- endif()
14
+ include("${CMAKE_CURRENT_LIST_DIR}/../cmake/win32.ensureNinjaPath.cmake")
15
+ ensureNinjaPath()
28
16
 
29
- file(GLOB_RECURSE FOUND_CL_EXE "${PATH}/**/*/VC/Tools/MSVC/*/bin/Hostx64/arm64/cl.exe")
30
- if(FOUND_CL_EXE)
31
- list(GET FOUND_CL_EXE 0 CL_EXE_PATH)
32
- break()
33
- endif()
34
- endforeach()
17
+ set(arch_c_flags "-march=armv8.7-a -fvectorize -ffp-model=fast -fno-finite-math-only")
18
+ set(warn_c_flags "-Wno-format -Wno-unused-variable -Wno-unused-function -Wno-gnu-zero-variadic-macro-arguments")
35
19
 
36
- if(NOT CL_EXE_PATH)
37
- message(FATAL_ERROR "cl.exe not found for ARM architecture.")
38
- else()
39
- set(CMAKE_C_COMPILER "${CL_EXE_PATH}")
40
- set(CMAKE_CXX_COMPILER "${CL_EXE_PATH}")
41
- endif()
20
+ set(CMAKE_C_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}")
21
+ set(CMAKE_CXX_FLAGS_INIT "${arch_c_flags} ${warn_c_flags}")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-llama-cpp",
3
- "version": "3.3.1",
3
+ "version": "3.4.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",
@@ -127,59 +127,59 @@
127
127
  },
128
128
  "homepage": "https://node-llama-cpp.withcat.ai",
129
129
  "devDependencies": {
130
- "@commitlint/cli": "^19.6.0",
130
+ "@commitlint/cli": "^19.6.1",
131
131
  "@commitlint/config-conventional": "^19.6.0",
132
- "@eslint/compat": "^1.2.3",
133
- "@fontsource/inter": "^5.1.0",
134
- "@nolebase/vitepress-plugin-git-changelog": "^2.11.1",
135
- "@nolebase/vitepress-plugin-og-image": "^2.11.1",
132
+ "@eslint/compat": "^1.2.4",
133
+ "@fontsource/inter": "^5.1.1",
134
+ "@nolebase/vitepress-plugin-git-changelog": "^2.12.0",
135
+ "@nolebase/vitepress-plugin-og-image": "^2.12.0",
136
136
  "@resvg/resvg-js": "^2.6.2",
137
137
  "@semantic-release/exec": "^6.0.3",
138
138
  "@semantic-release/github": "11.0.1",
139
139
  "@semantic-release/npm": "12.0.1",
140
- "@shikijs/vitepress-twoslash": "^1.24.0",
141
- "@stylistic/eslint-plugin": "^2.11.0",
140
+ "@shikijs/vitepress-twoslash": "^1.26.1",
141
+ "@stylistic/eslint-plugin": "^2.12.1",
142
142
  "@types/async-retry": "^1.4.9",
143
- "@types/bytes": "^3.1.4",
144
- "@types/cross-spawn": "^6.0.2",
143
+ "@types/bytes": "^3.1.5",
144
+ "@types/cross-spawn": "^6.0.6",
145
145
  "@types/fs-extra": "^11.0.4",
146
- "@types/node": "^22.10.1",
146
+ "@types/node": "^22.10.5",
147
147
  "@types/proper-lockfile": "^4.1.4",
148
148
  "@types/semver": "^7.5.8",
149
149
  "@types/validate-npm-package-name": "^4.0.2",
150
150
  "@types/which": "^3.0.4",
151
151
  "@types/yargs": "^17.0.33",
152
- "@vitest/coverage-v8": "^2.1.6",
153
- "@vitest/ui": "^2.1.6",
154
- "electron": "^33.2.1",
155
- "eslint": "^9.16.0",
156
- "eslint-import-resolver-typescript": "^3.6.3",
152
+ "@vitest/coverage-v8": "^2.1.8",
153
+ "@vitest/ui": "^2.1.8",
154
+ "electron": "^33.3.1",
155
+ "eslint": "^9.17.0",
156
+ "eslint-import-resolver-typescript": "^3.7.0",
157
157
  "eslint-plugin-import": "^2.31.0",
158
- "eslint-plugin-jsdoc": "^50.6.0",
159
- "eslint-plugin-n": "^17.14.0",
158
+ "eslint-plugin-jsdoc": "^50.6.1",
159
+ "eslint-plugin-n": "^17.15.1",
160
160
  "feed": "^4.2.2",
161
161
  "husky": "^9.1.7",
162
- "rehype": "^13.0.1",
162
+ "rehype": "^13.0.2",
163
163
  "rimraf": "^6.0.1",
164
- "semantic-release": "^24.2.0",
164
+ "semantic-release": "^24.2.1",
165
165
  "sharp": "^0.33.5",
166
166
  "tslib": "^2.8.1",
167
- "typedoc": "^0.27.2",
168
- "typedoc-plugin-markdown": "^4.3.1",
169
- "typedoc-plugin-mdn-links": "^4.0.3",
170
- "typedoc-vitepress-theme": "^1.1.0",
167
+ "typedoc": "^0.27.6",
168
+ "typedoc-plugin-markdown": "^4.4.1",
169
+ "typedoc-plugin-mdn-links": "^4.0.7",
170
+ "typedoc-vitepress-theme": "^1.1.2",
171
171
  "typescript": "^5.7.2",
172
- "typescript-eslint": "^8.16.0",
173
- "vite-node": "^2.1.6",
172
+ "typescript-eslint": "^8.19.1",
173
+ "vite-node": "^2.1.8",
174
174
  "vitepress": "^1.5.0",
175
- "vitest": "^2.1.6",
176
- "zx": "^8.2.4"
175
+ "vitest": "^2.1.8",
176
+ "zx": "^8.3.0"
177
177
  },
178
178
  "dependencies": {
179
179
  "@huggingface/jinja": "^0.3.2",
180
180
  "async-retry": "^1.3.3",
181
181
  "bytes": "^3.1.2",
182
- "chalk": "^5.3.0",
182
+ "chalk": "^5.4.1",
183
183
  "chmodrp": "^1.0.2",
184
184
  "cmake-js": "^7.3.0",
185
185
  "cross-env": "^7.0.3",
@@ -187,14 +187,14 @@
187
187
  "env-var": "^7.5.0",
188
188
  "filenamify": "^6.0.0",
189
189
  "fs-extra": "^11.2.0",
190
- "ignore": "^5.3.2",
190
+ "ignore": "^7.0.0",
191
191
  "ipull": "^3.9.2",
192
192
  "is-unicode-supported": "^2.1.0",
193
- "lifecycle-utils": "^1.7.0",
193
+ "lifecycle-utils": "^2.0.0",
194
194
  "log-symbols": "^7.0.0",
195
195
  "nanoid": "^5.0.9",
196
196
  "node-addon-api": "^8.3.0",
197
- "octokit": "^4.0.2",
197
+ "octokit": "^4.0.3",
198
198
  "ora": "^8.1.1",
199
199
  "pretty-ms": "^9.2.0",
200
200
  "proper-lockfile": "^4.1.2",
@@ -216,16 +216,16 @@
216
216
  }
217
217
  },
218
218
  "optionalDependencies": {
219
- "@node-llama-cpp/linux-arm64": "3.3.1",
220
- "@node-llama-cpp/linux-armv7l": "3.3.1",
221
- "@node-llama-cpp/linux-x64": "3.3.1",
222
- "@node-llama-cpp/linux-x64-cuda": "3.3.1",
223
- "@node-llama-cpp/linux-x64-vulkan": "3.3.1",
224
- "@node-llama-cpp/mac-arm64-metal": "3.3.1",
225
- "@node-llama-cpp/mac-x64": "3.3.1",
226
- "@node-llama-cpp/win-arm64": "3.3.1",
227
- "@node-llama-cpp/win-x64": "3.3.1",
228
- "@node-llama-cpp/win-x64-cuda": "3.3.1",
229
- "@node-llama-cpp/win-x64-vulkan": "3.3.1"
219
+ "@node-llama-cpp/linux-arm64": "3.4.0",
220
+ "@node-llama-cpp/linux-armv7l": "3.4.0",
221
+ "@node-llama-cpp/linux-x64": "3.4.0",
222
+ "@node-llama-cpp/linux-x64-cuda": "3.4.0",
223
+ "@node-llama-cpp/linux-x64-vulkan": "3.4.0",
224
+ "@node-llama-cpp/mac-arm64-metal": "3.4.0",
225
+ "@node-llama-cpp/mac-x64": "3.4.0",
226
+ "@node-llama-cpp/win-arm64": "3.4.0",
227
+ "@node-llama-cpp/win-x64": "3.4.0",
228
+ "@node-llama-cpp/win-x64-cuda": "3.4.0",
229
+ "@node-llama-cpp/win-x64-vulkan": "3.4.0"
230
230
  }
231
231
  }