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
@@ -1,3 +1,3 @@
1
1
  {
2
- "release": "b2329"
2
+ "release": "b2440"
3
3
  }
Binary file
@@ -15,7 +15,7 @@ array ::=
15
15
 
16
16
  string ::=
17
17
  "\"" (
18
- [^"\\] |
18
+ [^"\\\x7F\x00-\x1F] |
19
19
  "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
20
20
  )* "\"" ws
21
21
 
@@ -24,7 +24,7 @@ array ::=
24
24
 
25
25
  string ::=
26
26
  "\"" (
27
- [^"\\] |
27
+ [^"\\\x7F\x00-\x1F] |
28
28
  "\\" (["\\/bfnrt] | "u" [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F] [0-9a-fA-F]) # escapes
29
29
  )* "\"" ws
30
30
 
@@ -1,4 +1,4 @@
1
1
  {
2
- "tag": "b2329",
2
+ "tag": "b2440",
3
3
  "llamaCppGithubRepo": "ggerganov/llama.cpp"
4
4
  }
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"arm64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"arm64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"armv7l","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"armv7l","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"linux","platformInfo":{"name":"Ubuntu","version":"22.04"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"arm64","gpu":"metal","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"arm64","gpu":"metal","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"mac","platformInfo":{"name":"macOS","version":"21.6.0"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
Binary file
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":false,"llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
Binary file
Binary file
Binary file
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"cuda","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
@@ -1 +1 @@
1
- {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2329"}}}
1
+ {"buildOptions":{"customCmakeOptions":{},"progressLogs":true,"platform":"win","platformInfo":{"name":"Windows","version":"10.0.20348"},"arch":"x64","gpu":"vulkan","llamaCpp":{"repo":"ggerganov/llama.cpp","release":"b2440"}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-llama-cpp",
3
- "version": "3.0.0-beta.13",
3
+ "version": "3.0.0-beta.14",
4
4
  "description": "Run AI models locally on your machine with node.js bindings for llama.cpp. Force a JSON schema on the model output on the generation level",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -47,7 +47,8 @@
47
47
  "prewatch": "rimraf ./dist ./tsconfig.tsbuildinfo",
48
48
  "watch": "tsc --build tsconfig.json --watch --force",
49
49
  "cmake-js-llama": "cd llama && cmake-js",
50
- "test": "npm run test:typescript && npm run lint:eslint && npm run test:standalone && npm run test:modelDependent",
50
+ "test": "npm run test:typescript && npm run lint:eslint && npm run test:vitest",
51
+ "test:vitest": "vitest run ./test",
51
52
  "test:standalone": "vitest run ./test/standalone",
52
53
  "test:standalone:interactive": "vitest watch ./test/standalone",
53
54
  "test:modelDependent": "vitest run ./test/modelDependent",
@@ -56,7 +57,7 @@
56
57
  "lint": "npm run lint:eslint",
57
58
  "lint:eslint": "eslint --ext .js --ext .ts .",
58
59
  "format": "npm run lint:eslint -- --fix",
59
- "dev:setup:downloadAllTestModels": "node --loader ts-node/esm test/utils/scripts/downloadAllTestModels.ts",
60
+ "dev:setup:downloadAllTestModels": "vite-node test/utils/scripts/downloadAllTestModels.ts",
60
61
  "dev:setup": "npm run build && node ./dist/cli/cli.js download --noUsageExample && npm run docs:generateTypedoc && npm run dev:setup:downloadAllTestModels",
61
62
  "dev:build": "npm run build && node ./dist/cli/cli.js build --noUsageExample",
62
63
  "clean": "rm -rf ./node_modules ./dist ./tsconfig.tsbuildinfo ./test/.models",
@@ -121,6 +122,7 @@
121
122
  "@types/fs-extra": "^11.0.4",
122
123
  "@types/node": "^20.8.4",
123
124
  "@types/proper-lockfile": "^4.1.4",
125
+ "@types/semver": "^7.5.8",
124
126
  "@types/uuid": "^9.0.2",
125
127
  "@types/which": "^3.0.0",
126
128
  "@types/yargs": "^17.0.24",
@@ -133,16 +135,16 @@
133
135
  "eslint-plugin-jsdoc": "^46.9.0",
134
136
  "eslint-plugin-n": "^16.3.1",
135
137
  "husky": "^8.0.3",
136
- "ipull": "^1.2.1",
138
+ "ipull": "^3.0.5",
137
139
  "rimraf": "^5.0.1",
138
140
  "semantic-release": "^22.0.8",
139
- "ts-node": "^10.9.1",
140
141
  "tslib": "^2.6.1",
141
142
  "typedoc": "^0.25.3",
142
143
  "typedoc-plugin-markdown": "^4.0.0-next.53",
143
144
  "typedoc-plugin-mdn-links": "^3.1.5",
144
145
  "typedoc-vitepress-theme": "^1.0.0-next.9",
145
146
  "typescript": "^5.2.2",
147
+ "vite-node": "^1.4.0",
146
148
  "vitepress": "1.0.0-rc.22",
147
149
  "vitest": "^1.2.2",
148
150
  "zx": "^7.2.3"
@@ -153,17 +155,18 @@
153
155
  "chalk": "^5.3.0",
154
156
  "chmodrp": "^1.0.2",
155
157
  "cli-progress": "^3.12.0",
156
- "cmake-js": "^7.2.1",
158
+ "cmake-js": "^7.3.0",
157
159
  "cross-env": "^7.0.3",
158
160
  "cross-spawn": "^7.0.3",
159
161
  "env-var": "^7.3.1",
160
162
  "fs-extra": "^11.2.0",
161
- "lifecycle-utils": "^1.3.1",
163
+ "lifecycle-utils": "^1.4.0",
162
164
  "log-symbols": "^5.1.0",
163
165
  "node-addon-api": "^7.0.0",
164
166
  "octokit": "^3.1.0",
165
167
  "ora": "^7.0.1",
166
168
  "proper-lockfile": "^4.1.2",
169
+ "semver": "^7.6.0",
167
170
  "simple-git": "^3.19.1",
168
171
  "strip-ansi": "^7.1.0",
169
172
  "uuid": "^9.0.0",