node-llama-cpp 3.0.0-beta.13 → 3.0.0-beta.14

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 (108) hide show
  1. package/dist/TemplateChatWrapper.d.ts +10 -9
  2. package/dist/TemplateChatWrapper.js.map +1 -1
  3. package/dist/bindings/AddonTypes.d.ts +14 -6
  4. package/dist/bindings/Llama.d.ts +8 -0
  5. package/dist/bindings/Llama.js +59 -7
  6. package/dist/bindings/Llama.js.map +1 -1
  7. package/dist/bindings/getLlama.js +1 -1
  8. package/dist/bindings/getLlama.js.map +1 -1
  9. package/dist/bindings/types.d.ts +3 -0
  10. package/dist/bindings/types.js +4 -0
  11. package/dist/bindings/types.js.map +1 -1
  12. package/dist/bindings/utils/cloneLlamaCppRepo.js +1 -1
  13. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  14. package/dist/bindings/utils/compileLLamaCpp.d.ts +4 -1
  15. package/dist/bindings/utils/compileLLamaCpp.js +133 -97
  16. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  17. package/dist/bindings/utils/detectAvailableComputeLayers.d.ts +3 -0
  18. package/dist/bindings/utils/detectAvailableComputeLayers.js +155 -13
  19. package/dist/bindings/utils/detectAvailableComputeLayers.js.map +1 -1
  20. package/dist/bindings/utils/logDistroInstallInstruction.d.ts +1 -0
  21. package/dist/bindings/utils/logDistroInstallInstruction.js +16 -6
  22. package/dist/bindings/utils/logDistroInstallInstruction.js.map +1 -1
  23. package/dist/bindings/utils/testBindingBinary.js +2 -2
  24. package/dist/bindings/utils/testBindingBinary.js.map +1 -1
  25. package/dist/bindings/utils/testCmakeBinary.d.ts +5 -0
  26. package/dist/bindings/utils/testCmakeBinary.js +32 -0
  27. package/dist/bindings/utils/testCmakeBinary.js.map +1 -0
  28. package/dist/cli/commands/ChatCommand.js +31 -14
  29. package/dist/cli/commands/ChatCommand.js.map +1 -1
  30. package/dist/cli/commands/CompleteCommand.js +30 -13
  31. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  32. package/dist/cli/commands/InfillCommand.js +30 -13
  33. package/dist/cli/commands/InfillCommand.js.map +1 -1
  34. package/dist/cli/commands/InspectCommand.js +1 -1
  35. package/dist/cli/commands/InspectCommand.js.map +1 -1
  36. package/dist/cli/commands/OnPostInstallCommand.js +2 -0
  37. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  38. package/dist/config.d.ts +1 -1
  39. package/dist/config.js +1 -1
  40. package/dist/config.js.map +1 -1
  41. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +5 -8
  42. package/dist/evaluator/LlamaContext/LlamaContext.js +111 -65
  43. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  44. package/dist/evaluator/LlamaContext/types.d.ts +13 -6
  45. package/dist/evaluator/LlamaEmbeddingContext.d.ts +6 -5
  46. package/dist/evaluator/LlamaEmbeddingContext.js +32 -22
  47. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  48. package/dist/evaluator/LlamaGrammar.js +1 -0
  49. package/dist/evaluator/LlamaGrammar.js.map +1 -1
  50. package/dist/evaluator/LlamaModel.d.ts +16 -16
  51. package/dist/evaluator/LlamaModel.js +95 -20
  52. package/dist/evaluator/LlamaModel.js.map +1 -1
  53. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +2 -3
  54. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +1 -1
  55. package/dist/gguf/ggufParser/stream/GGUFReadStream.js +1 -1
  56. package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +1 -1
  57. package/dist/index.d.ts +2 -2
  58. package/dist/index.js.map +1 -1
  59. package/dist/state.d.ts +2 -0
  60. package/dist/state.js +7 -0
  61. package/dist/state.js.map +1 -1
  62. package/dist/utils/DisposeGuard.d.ts +13 -0
  63. package/dist/utils/DisposeGuard.js +120 -0
  64. package/dist/utils/DisposeGuard.js.map +1 -0
  65. package/dist/utils/cmake.js +1 -1
  66. package/dist/utils/cmake.js.map +1 -1
  67. package/dist/utils/getConsoleLogPrefix.js +3 -2
  68. package/dist/utils/getConsoleLogPrefix.js.map +1 -1
  69. package/dist/utils/removeNullFields.d.ts +2 -2
  70. package/dist/utils/removeNullFields.js.map +1 -1
  71. package/dist/utils/spawnCommand.d.ts +11 -1
  72. package/dist/utils/spawnCommand.js +55 -7
  73. package/dist/utils/spawnCommand.js.map +1 -1
  74. package/llama/addon.cpp +676 -83
  75. package/llama/binariesGithubRelease.json +1 -1
  76. package/llama/gitRelease.bundle +0 -0
  77. package/llama/grammars/json.gbnf +1 -1
  78. package/llama/grammars/json_arr.gbnf +1 -1
  79. package/llama/llama.cpp.info.json +1 -1
  80. package/llamaBins/linux-arm64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  81. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  82. package/llamaBins/linux-armv7l/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  83. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  84. package/llamaBins/linux-x64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  85. package/llamaBins/linux-x64/llama-addon.node +0 -0
  86. package/llamaBins/linux-x64-cuda/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  87. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  88. package/llamaBins/linux-x64-vulkan/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  89. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  90. package/llamaBins/mac-arm64-metal/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  91. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  92. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  93. package/llamaBins/mac-x64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  94. package/llamaBins/mac-x64/llama-addon.node +0 -0
  95. package/llamaBins/win-x64/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  96. package/llamaBins/win-x64/llama-addon.exp +0 -0
  97. package/llamaBins/win-x64/llama-addon.lib +0 -0
  98. package/llamaBins/win-x64/llama-addon.node +0 -0
  99. package/llamaBins/win-x64-cuda/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  100. package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
  101. package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
  102. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  103. package/llamaBins/win-x64-vulkan/{.buildMetadata.json → _nlcBuildMetadata.json} +1 -1
  104. package/llamaBins/win-x64-vulkan/llama-addon.exp +0 -0
  105. package/llamaBins/win-x64-vulkan/llama-addon.lib +0 -0
  106. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  107. package/package.json +10 -7
  108. package/llamaBins/mac-arm64-metal/ggml-metal.metal +0 -7731
@@ -13,10 +13,28 @@ export function spawnCommand(command, args, cwd, env = process.env, progressLogs
13
13
  return res;
14
14
  }
15
15
  return new Promise((resolve, reject) => {
16
+ const stdout = [];
17
+ const stderr = [];
18
+ const combinedStd = [];
19
+ function createResult() {
20
+ const finalStdout = stdout.join("");
21
+ stdout.length = 0;
22
+ const finalStderr = stderr.join("");
23
+ stderr.length = 0;
24
+ const finalCombinedStd = combinedStd.join("");
25
+ combinedStd.length = 0;
26
+ return {
27
+ stdout: finalStdout,
28
+ stderr: finalStderr,
29
+ combinedStd: finalCombinedStd
30
+ };
31
+ }
32
+ function createError(message) {
33
+ const { stdout: finalStdout, stderr: finalStderr, combinedStd: finalCombinedStd } = createResult();
34
+ return new SpawnError(message, finalStdout, finalStderr, finalCombinedStd);
35
+ }
16
36
  const child = spawn(command, args, {
17
- stdio: progressLogs
18
- ? "inherit"
19
- : ["ignore", "ignore", process.stderr],
37
+ stdio: [null, null, null],
20
38
  cwd,
21
39
  env,
22
40
  detached: false,
@@ -24,18 +42,48 @@ export function spawnCommand(command, args, cwd, env = process.env, progressLogs
24
42
  });
25
43
  child.on("exit", (code) => {
26
44
  if (code == 0)
27
- resolve();
45
+ resolve(createResult());
28
46
  else
29
- reject(new Error(`Command ${getCommandString()} exited with code ${code}`));
47
+ reject(createError(`Command ${getCommandString()} exited with code ${code}`));
30
48
  });
31
49
  child.on("error", reject);
32
50
  child.on("disconnect", () => reject(new Error(`Command ${getCommandString()} disconnected`)));
33
51
  child.on("close", code => {
34
52
  if (code == 0)
35
- resolve();
53
+ resolve(createResult());
36
54
  else
37
- reject(new Error(`Command ${getCommandString()} closed with code ${code}`));
55
+ reject(createError(`Command ${getCommandString()} closed with code ${code}`));
56
+ });
57
+ if (progressLogs) {
58
+ child.stdout?.pipe(process.stdout);
59
+ child.stderr?.pipe(process.stderr);
60
+ process.stdin.pipe(child.stdin);
61
+ }
62
+ else {
63
+ child.stderr?.pipe(process.stderr);
64
+ }
65
+ child.stdout?.on("data", (data) => {
66
+ stdout.push(data.toString());
67
+ combinedStd.push(data.toString());
68
+ });
69
+ child.stderr?.on("data", (data) => {
70
+ stderr.push(data.toString());
71
+ combinedStd.push(data.toString());
38
72
  });
39
73
  });
40
74
  }
75
+ export class SpawnError extends Error {
76
+ stdout;
77
+ stderr;
78
+ combinedStd;
79
+ constructor(message, stdout, stderr, combinedStd) {
80
+ super(message);
81
+ Object.defineProperty(this, "stdout", { enumerable: false });
82
+ Object.defineProperty(this, "stderr", { enumerable: false });
83
+ Object.defineProperty(this, "combinedStd", { enumerable: false });
84
+ this.stdout = stdout;
85
+ this.stderr = stderr;
86
+ this.combinedStd = combinedStd;
87
+ }
88
+ }
41
89
  //# sourceMappingURL=spawnCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spawnCommand.js","sourceRoot":"","sources":["../../src/utils/spawnCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,eAAwB,IAAI;IACtH,SAAS,gBAAgB;QACrB,IAAI,GAAG,GAAG,OAAO,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnB,GAAG,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aAC7C;iBAAM;gBACH,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;aACpB;SACJ;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC/B,KAAK,EAAE,YAAY;gBACf,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;YAC1C,GAAG;YACH,GAAG;YACH,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,IAAI,IAAI,CAAC;gBACT,OAAO,EAAE,CAAC;;gBAEV,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,gBAAgB,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,IAAI,CAAC;gBACT,OAAO,EAAE,CAAC;;gBAEV,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,gBAAgB,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"spawnCommand.js","sourceRoot":"","sources":["../../src/utils/spawnCommand.ts"],"names":[],"mappings":"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"}