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
@@ -19,7 +19,12 @@ import { getPlatform } from "./getPlatform.js";
19
19
  import { logDistroInstallInstruction } from "./logDistroInstallInstruction.js";
20
20
  import { testCmakeBinary } from "./testCmakeBinary.js";
21
21
  import { getCudaNvccPaths } from "./detectAvailableComputeLayers.js";
22
+ import { detectWindowsBuildTools } from "./detectBuildTools.js";
23
+ import { asyncSome } from "./asyncSome.js";
22
24
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
25
+ const buildConfigType = "Release";
26
+ const requiresMsvcOnWindowsFlags = ["blas", "cann", "cuda", "hip", "kompute", "musa", "sycl", "opencl"]
27
+ .map((backend) => ("GGML_" + backend.toUpperCase()));
23
28
  export async function compileLlamaCpp(buildOptions, compileOptions) {
24
29
  const { nodeTarget = process.version, updateLastBuildInfo: updateLastBuildInfoArg = true, includeBuildOptionsInBinaryFolderName = true, ensureLlamaCppRepoIsCloned: ensureLlamaCppRepoIsClonedArg = false, downloadCmakeIfNeeded: downloadCmakeIfNeededArg = false, ignoreWorkarounds = [], envVars = process.env, ciMode = false } = compileOptions;
25
30
  const platform = getPlatform();
@@ -27,6 +32,13 @@ export async function compileLlamaCpp(buildOptions, compileOptions) {
27
32
  const finalBuildFolderName = includeBuildOptionsInBinaryFolderName
28
33
  ? buildFolderName.withCustomCmakeOptions
29
34
  : buildFolderName.withoutCustomCmakeOptions;
35
+ const useWindowsLlvm = (platform === "win" &&
36
+ (buildOptions.gpu === false || buildOptions.gpu === "vulkan") &&
37
+ !ignoreWorkarounds.includes("avoidWindowsLlvm") &&
38
+ !buildOptions.customCmakeOptions.has("CMAKE_TOOLCHAIN_FILE") &&
39
+ !requiresMsvcOnWindowsFlags.some((flag) => buildOptions.customCmakeOptions.has(flag)))
40
+ ? areWindowsBuildToolsCapableForLlvmBuild(await detectWindowsBuildTools())
41
+ : false;
30
42
  const outDirectory = path.join(llamaLocalBuildBinsDirectory, finalBuildFolderName);
31
43
  let parallelBuildThreads = getParallelBuildThreadsToUse(platform, buildOptions.gpu, ciMode);
32
44
  if (ignoreWorkarounds.includes("singleBuildThread"))
@@ -46,30 +58,42 @@ export async function compileLlamaCpp(buildOptions, compileOptions) {
46
58
  if (downloadCmakeIfNeededArg)
47
59
  await downloadCmakeIfNeeded(buildOptions.progressLogs);
48
60
  const cmakePathArgs = await getCmakePathArgs();
49
- const toolchainFile = await getToolchainFileForArch(buildOptions.arch);
61
+ const cmakeGeneratorArgs = getCmakeGeneratorArgs(buildOptions.platform, buildOptions.arch, useWindowsLlvm);
62
+ const toolchainFile = await getToolchainFileForArch(buildOptions.arch, useWindowsLlvm);
50
63
  const runtimeVersion = nodeTarget.startsWith("v") ? nodeTarget.slice("v".length) : nodeTarget;
51
64
  const cmakeCustomOptions = new Map(buildOptions.customCmakeOptions);
65
+ const cmakeToolchainOptions = new Map();
66
+ cmakeCustomOptions.set("CMAKE_CONFIGURATION_TYPES", buildConfigType);
67
+ cmakeCustomOptions.set("NLC_CURRENT_PLATFORM", platform + "-" + process.arch);
68
+ cmakeCustomOptions.set("NLC_TARGET_PLATFORM", buildOptions.platform + "-" + buildOptions.arch);
69
+ if (toolchainFile != null && !cmakeCustomOptions.has("CMAKE_TOOLCHAIN_FILE"))
70
+ cmakeToolchainOptions.set("CMAKE_TOOLCHAIN_FILE", toolchainFile);
52
71
  if (buildOptions.gpu === "metal" && process.platform === "darwin" && !cmakeCustomOptions.has("GGML_METAL"))
53
72
  cmakeCustomOptions.set("GGML_METAL", "1");
54
73
  else if (!cmakeCustomOptions.has("GGML_METAL"))
55
74
  cmakeCustomOptions.set("GGML_METAL", "OFF");
56
- // if (cmakeCustomOptions.get("GGML_METAL") === "1" && !cmakeCustomOptions.has("GGML_METAL_EMBED_LIBRARY"))
57
- // cmakeCustomOptions.set("GGML_METAL_EMBED_LIBRARY", "1");
58
75
  if (buildOptions.gpu === "cuda" && !cmakeCustomOptions.has("GGML_CUDA"))
59
76
  cmakeCustomOptions.set("GGML_CUDA", "1");
60
77
  if (buildOptions.gpu === "vulkan" && !cmakeCustomOptions.has("GGML_VULKAN"))
61
78
  cmakeCustomOptions.set("GGML_VULKAN", "1");
62
79
  if (!cmakeCustomOptions.has("GGML_CCACHE"))
63
80
  cmakeCustomOptions.set("GGML_CCACHE", "OFF");
64
- if (toolchainFile != null && !cmakeCustomOptions.has("CMAKE_TOOLCHAIN_FILE"))
65
- cmakeCustomOptions.set("CMAKE_TOOLCHAIN_FILE", toolchainFile);
81
+ if (buildOptions.platform === "win" && buildOptions.arch === "arm64" && !cmakeCustomOptions.has("GGML_OPENMP"))
82
+ cmakeCustomOptions.set("GGML_OPENMP", "OFF");
83
+ if (useWindowsLlvm)
84
+ cmakeCustomOptions.set("GGML_OPENMP", "OFF");
66
85
  if (ciMode) {
67
86
  if (!cmakeCustomOptions.has("GGML_OPENMP"))
68
87
  cmakeCustomOptions.set("GGML_OPENMP", "OFF");
69
- if (!cmakeCustomOptions.has("GGML_AMX"))
70
- cmakeCustomOptions.set("GGML_AMX", "OFF");
71
- if (!cmakeCustomOptions.has("GGML_NATIVE") && buildOptions.platform !== "mac")
88
+ if (!cmakeCustomOptions.has("GGML_NATIVE") || isCmakeValueOff(cmakeCustomOptions.get("GGML_NATIVE"))) {
72
89
  cmakeCustomOptions.set("GGML_NATIVE", "OFF");
90
+ if (buildOptions.arch === "x64" && !cmakeCustomOptions.has("GGML_CPU_ALL_VARIANTS")) {
91
+ cmakeCustomOptions.set("GGML_CPU_ALL_VARIANTS", "ON");
92
+ cmakeCustomOptions.set("GGML_BACKEND_DL", "ON");
93
+ }
94
+ else if (!cmakeCustomOptions.has("GGML_BACKEND_DL"))
95
+ cmakeCustomOptions.set("GGML_BACKEND_DL", "ON");
96
+ }
73
97
  }
74
98
  await fs.remove(outDirectory);
75
99
  await spawnCommand("npm", [
@@ -81,30 +105,19 @@ export async function compileLlamaCpp(buildOptions, compileOptions) {
81
105
  await spawnCommand("npm", [
82
106
  "run", "-s", "cmake-js-llama", "--", "compile",
83
107
  "--log-level", "warn",
84
- "--config", "Release",
108
+ "--config", buildConfigType,
85
109
  "--arch=" + buildOptions.arch,
86
110
  "--out", path.relative(llamaDirectory, outDirectory),
87
111
  "--runtime-version=" + runtimeVersion,
88
112
  "--parallel=" + parallelBuildThreads,
113
+ ...cmakeGeneratorArgs,
89
114
  ...cmakePathArgs,
90
- ...([...cmakeCustomOptions].map(([key, value]) => "--CD" + key + "=" + value))
115
+ ...([
116
+ ...cmakeCustomOptions,
117
+ ...cmakeToolchainOptions
118
+ ].map(([key, value]) => "--CD" + key + "=" + value))
91
119
  ], __dirname, envVars, buildOptions.progressLogs);
92
- const binFilesDirPaths = [
93
- path.join(outDirectory, "bin"),
94
- path.join(outDirectory, "llama.cpp", "bin")
95
- ];
96
- const compiledResultDirPath = path.join(outDirectory, "Release");
97
- if (!await fs.pathExists(compiledResultDirPath))
98
- throw new Error("Could not find Release directory");
99
- for (const binFilesDirPath of binFilesDirPaths) {
100
- if (await fs.pathExists(binFilesDirPath)) {
101
- const itemNames = await fs.readdir(binFilesDirPath);
102
- await Promise.all(itemNames.map((itemName) => (fs.copy(path.join(binFilesDirPath, itemName), path.join(compiledResultDirPath, itemName), {
103
- overwrite: false
104
- }))));
105
- }
106
- }
107
- await applyResultDirFixes(compiledResultDirPath, path.join(outDirectory, "_temp"));
120
+ const compiledResultDirPath = await moveBuildFilesToResultDir(outDirectory);
108
121
  await fs.writeFile(path.join(compiledResultDirPath, buildMetadataFileName), JSON.stringify({
109
122
  buildOptions: convertBuildOptionsToBuildOptionsJSON(buildOptions)
110
123
  }), "utf8");
@@ -206,12 +219,26 @@ export async function compileLlamaCpp(buildOptions, compileOptions) {
206
219
  getConsoleLogPrefix(true) +
207
220
  chalk.yellow("To resolve errors related to Vulkan compilation, see the Vulkan guide: ") +
208
221
  documentationPageUrls.Vulkan);
222
+ else if (useWindowsLlvm && !ciMode) {
223
+ if (buildOptions.progressLogs)
224
+ console.info(getConsoleLogPrefix(true) + "Trying to compile again without LLVM");
225
+ try {
226
+ return await compileLlamaCpp(buildOptions, {
227
+ ...compileOptions,
228
+ ignoreWorkarounds: [...ignoreWorkarounds, "avoidWindowsLlvm"]
229
+ });
230
+ }
231
+ catch (err) {
232
+ if (buildOptions.progressLogs)
233
+ console.error(getConsoleLogPrefix(true, false), err);
234
+ }
235
+ }
209
236
  throw err;
210
237
  }
211
238
  }
212
239
  export async function getLocalBuildBinaryPath(folderName) {
213
- const binaryPath = path.join(llamaLocalBuildBinsDirectory, folderName, "Release", "llama-addon.node");
214
- const buildMetadataFilePath = path.join(llamaLocalBuildBinsDirectory, folderName, "Release", buildMetadataFileName);
240
+ const binaryPath = path.join(llamaLocalBuildBinsDirectory, folderName, buildConfigType, "llama-addon.node");
241
+ const buildMetadataFilePath = path.join(llamaLocalBuildBinsDirectory, folderName, buildConfigType, buildMetadataFileName);
215
242
  const buildDoneStatusPath = path.join(llamaLocalBuildBinsDirectory, folderName, "buildDone.status");
216
243
  const [binaryExists, buildMetadataExists, buildDoneStatusExists] = await Promise.all([
217
244
  fs.pathExists(binaryPath),
@@ -223,7 +250,7 @@ export async function getLocalBuildBinaryPath(folderName) {
223
250
  return null;
224
251
  }
225
252
  export async function getLocalBuildBinaryBuildMetadata(folderName) {
226
- const buildMetadataFilePath = path.join(llamaLocalBuildBinsDirectory, folderName, "Release", buildMetadataFileName);
253
+ const buildMetadataFilePath = path.join(llamaLocalBuildBinsDirectory, folderName, buildConfigType, buildMetadataFileName);
227
254
  if (!(await fs.pathExists(buildMetadataFilePath)))
228
255
  throw new Error(`Could not find build metadata file for local build "${folderName}"`);
229
256
  const buildMetadata = await fs.readJson(buildMetadataFilePath);
@@ -258,8 +285,35 @@ export async function getPrebuiltBinaryBuildMetadata(folderPath, folderName) {
258
285
  const buildMetadata = await fs.readJson(buildMetadataFilePath);
259
286
  return buildMetadata;
260
287
  }
288
+ async function moveBuildFilesToResultDir(outDirectory, canCreateReleaseDir = false) {
289
+ const binFilesDirPaths = [
290
+ path.join(outDirectory, "bin"),
291
+ path.join(outDirectory, "llama.cpp", "bin")
292
+ ];
293
+ const compiledResultDirPath = path.join(outDirectory, buildConfigType);
294
+ if (!await fs.pathExists(compiledResultDirPath)) {
295
+ if (canCreateReleaseDir) {
296
+ if (await asyncSome(binFilesDirPaths.map((dirPath) => fs.pathExists(dirPath))))
297
+ await fs.ensureDir(compiledResultDirPath);
298
+ else
299
+ throw new Error(`Could not find ${buildConfigType} directory or any other output directory`);
300
+ }
301
+ else
302
+ throw new Error(`Could not find ${buildConfigType} directory`);
303
+ }
304
+ for (const binFilesDirPath of binFilesDirPaths) {
305
+ if (await fs.pathExists(binFilesDirPath)) {
306
+ const itemNames = await fs.readdir(binFilesDirPath);
307
+ await Promise.all(itemNames.map((itemName) => (fs.copy(path.join(binFilesDirPath, itemName), path.join(compiledResultDirPath, itemName), {
308
+ overwrite: false
309
+ }))));
310
+ }
311
+ }
312
+ await applyResultDirFixes(compiledResultDirPath, path.join(outDirectory, "_temp"));
313
+ return compiledResultDirPath;
314
+ }
261
315
  async function applyResultDirFixes(resultDirPath, tempDirPath) {
262
- const releaseDirPath = path.join(resultDirPath, "Release");
316
+ const releaseDirPath = path.join(resultDirPath, buildConfigType);
263
317
  if (await fs.pathExists(releaseDirPath)) {
264
318
  await fs.remove(tempDirPath);
265
319
  await fs.move(releaseDirPath, tempDirPath);
@@ -352,17 +406,31 @@ async function getCmakePathArgs() {
352
406
  return [];
353
407
  return ["--cmake-path", cmakePath];
354
408
  }
355
- async function getToolchainFileForArch(targetArch) {
356
- if (process.arch === targetArch)
409
+ async function getToolchainFileForArch(targetArch, windowsLlvmSupport = false) {
410
+ let toolchainPrefix = "";
411
+ if (process.platform === "win32" && process.arch === "arm64") {
412
+ // a toolchain is needed to cross-compile to arm64 on Windows, and to compile on arm64 on Windows
413
+ }
414
+ else if (process.platform === "win32" && process.arch === "x64" && targetArch === "x64" && windowsLlvmSupport) {
415
+ toolchainPrefix = "llvm.";
416
+ }
417
+ else if (process.arch === targetArch)
357
418
  return null;
358
419
  const platform = process.platform;
359
420
  const hostArch = process.arch;
360
- const toolchainFilename = `${platform}.host-${hostArch}.target-${targetArch}.cmake`;
421
+ const toolchainFilename = `${toolchainPrefix}${platform}.host-${hostArch}.target-${targetArch}.cmake`;
361
422
  const filePath = path.join(llamaToolchainsDirectory, toolchainFilename);
362
423
  if (await fs.pathExists(filePath))
363
- return filePath;
424
+ return path.resolve(filePath);
364
425
  return null;
365
426
  }
427
+ function getCmakeGeneratorArgs(targetPlatform, targetArch, windowsLlvmSupport) {
428
+ if (targetPlatform === "win" && targetArch === "arm64")
429
+ return ["--generator", "Ninja Multi-Config"];
430
+ else if (windowsLlvmSupport && targetPlatform === "win" && process.arch === "x64" && targetArch === "x64")
431
+ return ["--generator", "Ninja Multi-Config"];
432
+ return [];
433
+ }
366
434
  function getParallelBuildThreadsToUse(platform, gpu, ciMode = false) {
367
435
  const cpuCount = os.cpus().length;
368
436
  if (ciMode && platform === "win" && gpu === "cuda" && cpuCount === 4)
@@ -376,4 +444,10 @@ function getParallelBuildThreadsToUse(platform, gpu, ciMode = false) {
376
444
  function reduceParallelBuildThreads(originalParallelBuildThreads) {
377
445
  return Math.max(1, Math.round(originalParallelBuildThreads / 2));
378
446
  }
447
+ function isCmakeValueOff(value) {
448
+ return value === "OFF" || value === "0";
449
+ }
450
+ function areWindowsBuildToolsCapableForLlvmBuild(detectedBuildTools) {
451
+ return detectedBuildTools.hasLlvm && detectedBuildTools.hasNinja && detectedBuildTools.hasLibExe;
452
+ }
379
453
  //# sourceMappingURL=compileLLamaCpp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compileLLamaCpp.js","sourceRoot":"","sources":["../../../src/bindings/utils/compileLLamaCpp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compileLLamaCpp.js","sourceRoot":"","sources":["../../../src/bindings/utils/compileLLamaCpp.ts"],"names":[],"mappings":"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"}
@@ -12,3 +12,4 @@ export declare function detectAvailableComputeLayers({ platform }?: {
12
12
  export declare function getCudaNvccPaths({ platform }?: {
13
13
  platform?: BinaryPlatform;
14
14
  }): Promise<string[]>;
15
+ export declare function getWindowsProgramFilesPaths(): Promise<string[]>;
@@ -284,14 +284,14 @@ function getWindir() {
284
284
  return process.env.windir || process.env.WINDIR || process.env.SystemRoot || process.env.systemroot || process.env.SYSTEMROOT ||
285
285
  "C:\\Windows";
286
286
  }
287
- async function getWindowsProgramFilesPaths() {
287
+ export async function getWindowsProgramFilesPaths() {
288
288
  const potentialPaths = await Promise.all([
289
+ process.env["ProgramFiles(Arm)"],
289
290
  process.env.ProgramFiles,
290
291
  process.env["ProgramFiles(x86)"],
291
- process.env["ProgramFiles(Arm)"],
292
+ `${process.env.SystemDrive ?? "C:"}\\Program Files (Arm)`,
292
293
  `${process.env.SystemDrive ?? "C:"}\\Program Files`,
293
- `${process.env.SystemDrive ?? "C:"}\\Program Files (x86)`,
294
- `${process.env.SystemDrive ?? "C:"}\\Program Files (Arm)`
294
+ `${process.env.SystemDrive ?? "C:"}\\Program Files (x86)`
295
295
  ]
296
296
  .map(async (programFilesPath) => {
297
297
  if (programFilesPath == null)
@@ -1 +1 @@
1
- {"version":3,"file":"detectAvailableComputeLayers.js","sourceRoot":"","sources":["../../../src/bindings/utils/detectAvailableComputeLayers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detectAvailableComputeLayers.js","sourceRoot":"","sources":["../../../src/bindings/utils/detectAvailableComputeLayers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * On platforms other than Windows, this function will return an empty array
3
+ * @returns Visual Studio edition installation paths - the paths are ordered from the most recent version to the oldest
4
+ */
5
+ export declare function getWindowsVisualStudioEditionPaths(): Promise<{
6
+ vsEditionPaths: string[];
7
+ programFilesPaths: string[];
8
+ }>;
9
+ export declare function detectWindowsBuildTools(targetArch?: typeof process.arch): Promise<{
10
+ hasCmake: boolean;
11
+ hasNinja: boolean;
12
+ hasLlvm: boolean;
13
+ hasLibExe: boolean;
14
+ }>;
@@ -0,0 +1,149 @@
1
+ import path from "path";
2
+ import fs from "fs-extra";
3
+ import { getWindowsProgramFilesPaths } from "./detectAvailableComputeLayers.js";
4
+ import { asyncSome } from "./asyncSome.js";
5
+ import { asyncEvery } from "./asyncEvery.js";
6
+ import { getPlatform } from "./getPlatform.js";
7
+ /**
8
+ * On platforms other than Windows, this function will return an empty array
9
+ * @returns Visual Studio edition installation paths - the paths are ordered from the most recent version to the oldest
10
+ */
11
+ export async function getWindowsVisualStudioEditionPaths() {
12
+ const platform = getPlatform();
13
+ if (platform !== "win")
14
+ return {
15
+ vsEditionPaths: [],
16
+ programFilesPaths: []
17
+ };
18
+ const programFilesPaths = await getWindowsProgramFilesPaths();
19
+ const potentialVisualStudioPaths = programFilesPaths
20
+ .map((programFilesPath) => `${programFilesPath}/Microsoft Visual Studio`);
21
+ const versionPaths = (await Promise.all(potentialVisualStudioPaths.map(async (vsPath) => {
22
+ if (await fs.pathExists(vsPath)) {
23
+ const versions = await fs.readdir(vsPath, { withFileTypes: true });
24
+ return versions
25
+ .filter((dirent) => dirent.isDirectory())
26
+ .map((dirent) => dirent.name)
27
+ .sort((a, b) => {
28
+ const aNumber = parseInt(a);
29
+ const bNumber = parseInt(b);
30
+ if (Number.isFinite(aNumber) && Number.isFinite(bNumber))
31
+ return bNumber - aNumber;
32
+ else if (Number.isFinite(aNumber))
33
+ return -1;
34
+ else if (Number.isFinite(bNumber))
35
+ return 1;
36
+ return 0;
37
+ })
38
+ .map((version) => path.join(vsPath, version));
39
+ }
40
+ return [];
41
+ }))).flat();
42
+ const vsEditionPaths = (await Promise.all(versionPaths.map(async (versionPath) => {
43
+ const editions = await fs.readdir(versionPath, { withFileTypes: true });
44
+ return editions
45
+ .filter((dirent) => dirent.isDirectory())
46
+ .map((edition) => path.join(versionPath, edition.name));
47
+ }))).flat();
48
+ return {
49
+ vsEditionPaths,
50
+ programFilesPaths
51
+ };
52
+ }
53
+ export async function detectWindowsBuildTools(targetArch = process.arch) {
54
+ try {
55
+ const currentArch = process.arch;
56
+ const { vsEditionPaths, programFilesPaths } = await getWindowsVisualStudioEditionPaths();
57
+ if (vsEditionPaths.length === 0 && programFilesPaths.length === 0)
58
+ return {
59
+ hasCmake: false,
60
+ hasNinja: false,
61
+ hasLlvm: false,
62
+ hasLibExe: false
63
+ };
64
+ const programDataPaths = [
65
+ process.env["ProgramData"]
66
+ ].filter((programDataPath) => programDataPath != null);
67
+ const msvcPaths = (await Promise.all(vsEditionPaths.map(async (editionPath) => {
68
+ const msvcVersionsPath = path.join(editionPath, "VC", "Tools", "MSVC");
69
+ if (await fs.pathExists(msvcVersionsPath)) {
70
+ const msvcVersions = await fs.readdir(msvcVersionsPath);
71
+ return msvcVersions
72
+ .sort((a, b) => {
73
+ const aNumber = parseInt(a);
74
+ const bNumber = parseInt(b);
75
+ if (Number.isFinite(aNumber) && Number.isFinite(bNumber))
76
+ return bNumber - aNumber;
77
+ else if (Number.isFinite(aNumber))
78
+ return -1;
79
+ else if (Number.isFinite(bNumber))
80
+ return 1;
81
+ return 0;
82
+ })
83
+ .map((msvcVersion) => path.join(msvcVersionsPath, msvcVersion));
84
+ }
85
+ return [];
86
+ }))).flat();
87
+ const potentialCmakePaths = [
88
+ ...programFilesPaths.map((programFilesPath) => path.join(programFilesPath, "CMake", "bin", "cmake.exe")),
89
+ ...vsEditionPaths.map((editionPath) => (path.join(editionPath, "Common7", "IDE", "CommonExtensions", "Microsoft", "CMake", "CMake", "bin", "cmake.exe")))
90
+ ];
91
+ const potentialNinjaPaths = [
92
+ ...programDataPaths.map((programDataPath) => path.join(programDataPath, "chocolatey", "bin", "ninja.exe")),
93
+ ...vsEditionPaths.map((editionPath) => (path.join(editionPath, "Common7", "IDE", "CommonExtensions", "Microsoft", "CMake", "Ninja", "ninja.exe")))
94
+ ];
95
+ const potentialLlvmPaths = [
96
+ ...programFilesPaths.map((programFilesPath) => path.join(programFilesPath, "LLVM", "bin")),
97
+ ...vsEditionPaths.map((editionPath) => {
98
+ if (currentArch === "x64")
99
+ return path.join(editionPath, "VC", "Tools", "Llvm", "x64", "bin");
100
+ else if (currentArch === "arm64")
101
+ return path.join(editionPath, "VC", "Tools", "Llvm", "ARM64", "bin");
102
+ return path.join(editionPath, "VC", "Tools", "Llvm", "bin");
103
+ })
104
+ ];
105
+ const potentialLibExePaths = msvcPaths.map((msvcPath) => {
106
+ const hostArchDirName = currentArch === "x64"
107
+ ? "Hostx64"
108
+ : currentArch === "arm64"
109
+ ? "Hostarm64"
110
+ : "_";
111
+ const targetArchDirName = targetArch === "x64"
112
+ ? "x64"
113
+ : targetArch === "arm64"
114
+ ? "arm64"
115
+ : "_";
116
+ return path.join(msvcPath, "bin", hostArchDirName, targetArchDirName, "lib.exe");
117
+ });
118
+ const [hasCmake, hasNinja, hasLibExe, hasLlvm] = await Promise.all([
119
+ asyncSome(potentialCmakePaths.map((cmakePath) => fs.pathExists(cmakePath))),
120
+ asyncSome(potentialNinjaPaths.map((ninjaPath) => fs.pathExists(ninjaPath))),
121
+ asyncSome(potentialLibExePaths.map((libExePath) => fs.pathExists(libExePath))),
122
+ asyncSome(potentialLlvmPaths.map((llvmPath) => isLlvmPathValid(llvmPath)))
123
+ ]);
124
+ return {
125
+ hasCmake,
126
+ hasNinja,
127
+ hasLlvm,
128
+ hasLibExe
129
+ };
130
+ }
131
+ catch (err) {
132
+ return {
133
+ hasCmake: false,
134
+ hasNinja: false,
135
+ hasLlvm: false,
136
+ hasLibExe: false
137
+ };
138
+ }
139
+ }
140
+ async function isLlvmPathValid(llvmPath) {
141
+ if (!(await fs.pathExists(llvmPath)))
142
+ return false;
143
+ return await asyncEvery([
144
+ fs.pathExists(path.join(llvmPath, "clang.exe")),
145
+ fs.pathExists(path.join(llvmPath, "clang++.exe")),
146
+ fs.pathExists(path.join(llvmPath, "llvm-rc.exe"))
147
+ ]);
148
+ }
149
+ //# sourceMappingURL=detectBuildTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detectBuildTools.js","sourceRoot":"","sources":["../../../src/bindings/utils/detectBuildTools.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,2BAA2B,EAAC,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC;IACpD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,KAAK;QAClB,OAAO;YACH,cAAc,EAAE,EAAE;YAClB,iBAAiB,EAAE,EAAE;SACxB,CAAC;IAEN,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,EAAE,CAAC;IAC9D,MAAM,0BAA0B,GAAG,iBAAiB;SAC/C,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,GAAG,gBAAgB,0BAA0B,CAAC,CAAC;IAE9E,MAAM,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACnC,0BAA0B,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC5C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;YACjE,OAAO,QAAQ;iBACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;iBACxC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC5B,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACX,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAE5B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBACpD,OAAO,OAAO,GAAG,OAAO,CAAC;qBACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC7B,OAAO,CAAC,CAAC,CAAC;qBACT,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC7B,OAAO,CAAC,CAAC;gBAEb,OAAO,CAAC,CAAC;YACb,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC,CAAC,CACL,CAAC,CAAC,IAAI,EAAE,CAAC;IAEV,MAAM,cAAc,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CACrC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC,CAAC;QACtE,OAAO,QAAQ;aACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;aACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CACL,CAAC,CAAC,IAAI,EAAE,CAAC;IAEV,OAAO;QACH,cAAc;QACd,iBAAiB;KACpB,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,aAAkC,OAAO,CAAC,IAAI;IACxF,IAAI,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;QACjC,MAAM,EAAC,cAAc,EAAE,iBAAiB,EAAC,GAAG,MAAM,kCAAkC,EAAE,CAAC;QAEvF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC;YAC7D,OAAO;gBACH,QAAQ,EAAE,KAAK;gBACf,QAAQ,EAAE,KAAK;gBACf,OAAO,EAAE,KAAK;gBACd,SAAS,EAAE,KAAK;aACnB,CAAC;QAEN,MAAM,gBAAgB,GAAa;YAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;SAC7B,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;QAEvD,MAAM,SAAS,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAChC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YACrC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAEvE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBACxC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACxD,OAAO,YAAY;qBACd,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACX,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC5B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAE5B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;wBACpD,OAAO,OAAO,GAAG,OAAO,CAAC;yBACxB,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC7B,OAAO,CAAC,CAAC,CAAC;yBACT,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;wBAC7B,OAAO,CAAC,CAAC;oBAEb,OAAO,CAAC,CAAC;gBACb,CAAC,CAAC;qBACD,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC,CAAC;YACxE,CAAC;YAED,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CACL,CAAC,CAAC,IAAI,EAAE,CAAC;QAEV,MAAM,mBAAmB,GAAG;YACxB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YACxG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAClH,CAAC;SACL,CAAC;QACF,MAAM,mBAAmB,GAAG;YACxB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;YAC1G,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CACnC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAC3G,CAAC;SACL,CAAC;QACF,MAAM,kBAAkB,GAAG;YACvB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1F,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE;gBAClC,IAAI,WAAW,KAAK,KAAK;oBACrB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;qBAClE,IAAI,WAAW,KAAK,OAAO;oBAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAEzE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAChE,CAAC,CAAC;SACL,CAAC;QACF,MAAM,oBAAoB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpD,MAAM,eAAe,GAAG,WAAW,KAAK,KAAK;gBACzC,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,WAAW,KAAK,OAAO;oBACrB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,GAAG,CAAC;YACd,MAAM,iBAAiB,GAAG,UAAU,KAAK,KAAK;gBAC1C,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,UAAU,KAAK,OAAO;oBACpB,CAAC,CAAC,OAAO;oBACT,CAAC,CAAC,GAAG,CAAC;YAEd,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;QACrF,CAAC,CAAC,CAAC;QAEH,MAAM,CACF,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,CACV,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAClB,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3E,SAAS,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YAC9E,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC7E,CAAC,CAAC;QAEH,OAAO;YACH,QAAQ;YACR,QAAQ;YACR,OAAO;YACP,SAAS;SACZ,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,QAAQ,EAAE,KAAK;YACf,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,KAAK;SACnB,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB;IAC3C,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC;IAEjB,OAAO,MAAM,UAAU,CAAC;QACpB,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC/C,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;KACpD,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function resolveActualBindingBinaryPath(binaryPath: string): Promise<string>;
@@ -0,0 +1,18 @@
1
+ import path from "path";
2
+ import fs from "fs-extra";
3
+ import { runningInElectron } from "../../utils/runtime.js";
4
+ export async function resolveActualBindingBinaryPath(binaryPath) {
5
+ const absolutePath = path.resolve(binaryPath);
6
+ if (!runningInElectron)
7
+ return absolutePath;
8
+ const fixedAsarPath = absolutePath.replace(".asar" + path.sep, ".asar.unpacked" + path.sep);
9
+ try {
10
+ if (await fs.pathExists(fixedAsarPath))
11
+ return fixedAsarPath;
12
+ return absolutePath;
13
+ }
14
+ catch (err) {
15
+ return absolutePath;
16
+ }
17
+ }
18
+ //# sourceMappingURL=resolveActualBindingBinaryPath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveActualBindingBinaryPath.js","sourceRoot":"","sources":["../../../src/bindings/utils/resolveActualBindingBinaryPath.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,UAAkB;IACnE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,CAAC,iBAAiB;QAClB,OAAO,YAAY,CAAC;IAExB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5F,IAAI,CAAC;QACD,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YAClC,OAAO,aAAa,CAAC;QAEzB,OAAO,YAAY,CAAC;IACxB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,YAAY,CAAC;IACxB,CAAC;AACL,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { BuildGpu } from "../types.js";
2
- export declare function testBindingBinary(bindingBinaryPath: string, gpu: BuildGpu, testTimeout?: number): Promise<boolean>;
2
+ export declare function testBindingBinary(bindingBinaryPath: string, gpu: BuildGpu, testTimeout?: number, pipeOutputOnNode?: boolean): Promise<boolean>;