node-llama-cpp 3.0.0-beta.1 → 3.0.0-beta.11

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 (354) hide show
  1. package/README.md +2 -0
  2. package/dist/ChatWrapper.d.ts +49 -0
  3. package/dist/ChatWrapper.js +120 -0
  4. package/dist/ChatWrapper.js.map +1 -0
  5. package/dist/{utils/getBin.d.ts → bindings/AddonTypes.d.ts} +14 -4
  6. package/dist/bindings/AddonTypes.js +2 -0
  7. package/dist/bindings/AddonTypes.js.map +1 -0
  8. package/dist/bindings/Llama.d.ts +23 -0
  9. package/dist/bindings/Llama.js +225 -0
  10. package/dist/bindings/Llama.js.map +1 -0
  11. package/dist/bindings/getLlama.d.ts +103 -0
  12. package/dist/bindings/getLlama.js +228 -0
  13. package/dist/bindings/getLlama.js.map +1 -0
  14. package/dist/bindings/types.d.ts +33 -0
  15. package/dist/bindings/types.js +30 -0
  16. package/dist/bindings/types.js.map +1 -0
  17. package/dist/bindings/utils/NoBinaryFoundError.d.ts +2 -0
  18. package/dist/bindings/utils/NoBinaryFoundError.js +7 -0
  19. package/dist/bindings/utils/NoBinaryFoundError.js.map +1 -0
  20. package/dist/{utils → bindings/utils}/binariesGithubRelease.js +1 -1
  21. package/dist/bindings/utils/binariesGithubRelease.js.map +1 -0
  22. package/dist/bindings/utils/clearAllLocalBuilds.d.ts +1 -0
  23. package/dist/bindings/utils/clearAllLocalBuilds.js +47 -0
  24. package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -0
  25. package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +11 -0
  26. package/dist/bindings/utils/cloneLlamaCppRepo.js +155 -0
  27. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -0
  28. package/dist/bindings/utils/compileLLamaCpp.d.ts +12 -0
  29. package/dist/bindings/utils/compileLLamaCpp.js +157 -0
  30. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -0
  31. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.d.ts +5 -0
  32. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +85 -0
  33. package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -0
  34. package/dist/bindings/utils/getCanUsePrebuiltBinaries.d.ts +1 -0
  35. package/dist/bindings/utils/getCanUsePrebuiltBinaries.js +8 -0
  36. package/dist/bindings/utils/getCanUsePrebuiltBinaries.js.map +1 -0
  37. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.d.ts +2 -0
  38. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js +21 -0
  39. package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -0
  40. package/dist/bindings/utils/getPlatform.d.ts +2 -0
  41. package/dist/bindings/utils/getPlatform.js +15 -0
  42. package/dist/bindings/utils/getPlatform.js.map +1 -0
  43. package/dist/bindings/utils/lastBuildInfo.d.ts +6 -0
  44. package/dist/bindings/utils/lastBuildInfo.js +17 -0
  45. package/dist/bindings/utils/lastBuildInfo.js.map +1 -0
  46. package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +2 -0
  47. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +28 -0
  48. package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -0
  49. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +26 -0
  50. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +43 -0
  51. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +1 -0
  52. package/dist/bindings/utils/resolveCustomCmakeOptions.d.ts +1 -0
  53. package/dist/bindings/utils/resolveCustomCmakeOptions.js +43 -0
  54. package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -0
  55. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
  56. package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
  57. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
  58. package/dist/chatWrappers/ChatMLChatWrapper.d.ts +18 -0
  59. package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
  60. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
  61. package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
  62. package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
  63. package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
  64. package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
  65. package/dist/chatWrappers/FalconChatWrapper.js +104 -0
  66. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
  67. package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
  68. package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
  69. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
  70. package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
  71. package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
  72. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
  73. package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
  74. package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
  75. package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
  76. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +5 -5
  77. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +28 -17
  78. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
  79. package/dist/cli/cli.js +8 -0
  80. package/dist/cli/cli.js.map +1 -1
  81. package/dist/cli/commands/BuildCommand.d.ts +2 -1
  82. package/dist/cli/commands/BuildCommand.js +50 -10
  83. package/dist/cli/commands/BuildCommand.js.map +1 -1
  84. package/dist/cli/commands/ChatCommand.d.ts +11 -4
  85. package/dist/cli/commands/ChatCommand.js +138 -64
  86. package/dist/cli/commands/ChatCommand.js.map +1 -1
  87. package/dist/cli/commands/ClearCommand.js +4 -6
  88. package/dist/cli/commands/ClearCommand.js.map +1 -1
  89. package/dist/cli/commands/CompleteCommand.d.ts +25 -0
  90. package/dist/cli/commands/CompleteCommand.js +278 -0
  91. package/dist/cli/commands/CompleteCommand.js.map +1 -0
  92. package/dist/cli/commands/DebugCommand.d.ts +7 -0
  93. package/dist/cli/commands/DebugCommand.js +59 -0
  94. package/dist/cli/commands/DebugCommand.js.map +1 -0
  95. package/dist/cli/commands/DownloadCommand.d.ts +2 -1
  96. package/dist/cli/commands/DownloadCommand.js +47 -40
  97. package/dist/cli/commands/DownloadCommand.js.map +1 -1
  98. package/dist/cli/commands/InfillCommand.d.ts +27 -0
  99. package/dist/cli/commands/InfillCommand.js +316 -0
  100. package/dist/cli/commands/InfillCommand.js.map +1 -0
  101. package/dist/cli/commands/OnPostInstallCommand.js +7 -10
  102. package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
  103. package/dist/config.d.ts +10 -3
  104. package/dist/config.js +18 -7
  105. package/dist/config.js.map +1 -1
  106. package/dist/consts.d.ts +1 -0
  107. package/dist/consts.js +2 -0
  108. package/dist/consts.js.map +1 -0
  109. package/dist/evaluator/LlamaChat/LlamaChat.d.ts +154 -0
  110. package/dist/evaluator/LlamaChat/LlamaChat.js +684 -0
  111. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -0
  112. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +22 -0
  113. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +121 -0
  114. package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
  115. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
  116. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +135 -0
  117. package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
  118. package/dist/{llamaEvaluator → evaluator/LlamaChatSession}/LlamaChatSession.d.ts +59 -25
  119. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +219 -0
  120. package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
  121. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
  122. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
  123. package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
  124. package/dist/evaluator/LlamaCompletion.d.ts +148 -0
  125. package/dist/evaluator/LlamaCompletion.js +402 -0
  126. package/dist/evaluator/LlamaCompletion.js.map +1 -0
  127. package/dist/{llamaEvaluator → evaluator}/LlamaContext/LlamaContext.d.ts +20 -23
  128. package/dist/{llamaEvaluator → evaluator}/LlamaContext/LlamaContext.js +77 -107
  129. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -0
  130. package/dist/{llamaEvaluator → evaluator}/LlamaContext/types.d.ts +6 -14
  131. package/dist/evaluator/LlamaContext/types.js.map +1 -0
  132. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +1 -0
  133. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +1 -0
  134. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +1 -0
  135. package/dist/evaluator/LlamaEmbeddingContext.d.ts +37 -0
  136. package/dist/evaluator/LlamaEmbeddingContext.js +78 -0
  137. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -0
  138. package/dist/evaluator/LlamaGrammar.d.ts +30 -0
  139. package/dist/{llamaEvaluator → evaluator}/LlamaGrammar.js +14 -18
  140. package/dist/evaluator/LlamaGrammar.js.map +1 -0
  141. package/dist/{llamaEvaluator → evaluator}/LlamaGrammarEvaluationState.js +4 -4
  142. package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -0
  143. package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.d.ts +2 -1
  144. package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.js +4 -2
  145. package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -0
  146. package/dist/{llamaEvaluator → evaluator}/LlamaModel.d.ts +24 -6
  147. package/dist/{llamaEvaluator → evaluator}/LlamaModel.js +51 -12
  148. package/dist/evaluator/LlamaModel.js.map +1 -0
  149. package/dist/index.d.ts +30 -17
  150. package/dist/index.js +29 -15
  151. package/dist/index.js.map +1 -1
  152. package/dist/state.d.ts +2 -0
  153. package/dist/state.js +7 -0
  154. package/dist/state.js.map +1 -1
  155. package/dist/types.d.ts +72 -3
  156. package/dist/types.js +5 -1
  157. package/dist/types.js.map +1 -1
  158. package/dist/utils/LlamaText.d.ts +42 -0
  159. package/dist/utils/LlamaText.js +207 -0
  160. package/dist/utils/LlamaText.js.map +1 -0
  161. package/dist/utils/StopGenerationDetector.d.ts +28 -0
  162. package/dist/utils/StopGenerationDetector.js +205 -0
  163. package/dist/utils/StopGenerationDetector.js.map +1 -0
  164. package/dist/utils/TokenStreamRegulator.d.ts +30 -0
  165. package/dist/utils/TokenStreamRegulator.js +96 -0
  166. package/dist/utils/TokenStreamRegulator.js.map +1 -0
  167. package/dist/utils/UnsupportedError.d.ts +2 -0
  168. package/dist/utils/UnsupportedError.js +7 -0
  169. package/dist/utils/UnsupportedError.js.map +1 -0
  170. package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
  171. package/dist/utils/appendUserMessageToChatHistory.js +18 -0
  172. package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
  173. package/dist/utils/cmake.js +16 -11
  174. package/dist/utils/cmake.js.map +1 -1
  175. package/dist/utils/compareTokens.d.ts +2 -0
  176. package/dist/utils/compareTokens.js +4 -0
  177. package/dist/utils/compareTokens.js.map +1 -0
  178. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
  179. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
  180. package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
  181. package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
  182. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
  183. package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
  184. package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
  185. package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
  186. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
  187. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
  188. package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
  189. package/dist/utils/gbnfJson/types.d.ts +1 -1
  190. package/dist/utils/gbnfJson/types.js.map +1 -1
  191. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
  192. package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
  193. package/dist/utils/getConsoleLogPrefix.d.ts +1 -0
  194. package/dist/utils/getConsoleLogPrefix.js +9 -0
  195. package/dist/utils/getConsoleLogPrefix.js.map +1 -0
  196. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
  197. package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
  198. package/dist/utils/getGrammarsFolder.d.ts +2 -1
  199. package/dist/utils/getGrammarsFolder.js +8 -7
  200. package/dist/utils/getGrammarsFolder.js.map +1 -1
  201. package/dist/utils/getModuleVersion.d.ts +1 -0
  202. package/dist/utils/getModuleVersion.js +13 -0
  203. package/dist/utils/getModuleVersion.js.map +1 -0
  204. package/dist/utils/getQueuedTokensBeforeStopTrigger.d.ts +6 -0
  205. package/dist/utils/getQueuedTokensBeforeStopTrigger.js +22 -0
  206. package/dist/utils/getQueuedTokensBeforeStopTrigger.js.map +1 -0
  207. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
  208. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
  209. package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -0
  210. package/dist/utils/gitReleaseBundles.js +6 -5
  211. package/dist/utils/gitReleaseBundles.js.map +1 -1
  212. package/dist/utils/hashString.d.ts +1 -0
  213. package/dist/utils/hashString.js +8 -0
  214. package/dist/utils/hashString.js.map +1 -0
  215. package/dist/utils/isLockfileActive.d.ts +4 -0
  216. package/dist/utils/isLockfileActive.js +12 -0
  217. package/dist/utils/isLockfileActive.js.map +1 -0
  218. package/dist/utils/parseModelTypeDescription.d.ts +1 -1
  219. package/dist/utils/prettyPrintObject.d.ts +1 -0
  220. package/dist/utils/prettyPrintObject.js +40 -0
  221. package/dist/utils/prettyPrintObject.js.map +1 -0
  222. package/dist/utils/removeNullFields.d.ts +1 -0
  223. package/dist/utils/removeNullFields.js +8 -0
  224. package/dist/utils/removeNullFields.js.map +1 -1
  225. package/dist/utils/resolveChatWrapper.d.ts +4 -0
  226. package/dist/utils/resolveChatWrapper.js +16 -0
  227. package/dist/utils/resolveChatWrapper.js.map +1 -0
  228. package/dist/utils/resolveGithubRelease.d.ts +2 -0
  229. package/dist/utils/resolveGithubRelease.js +36 -0
  230. package/dist/utils/resolveGithubRelease.js.map +1 -0
  231. package/dist/utils/spawnCommand.d.ts +1 -1
  232. package/dist/utils/spawnCommand.js +4 -2
  233. package/dist/utils/spawnCommand.js.map +1 -1
  234. package/dist/utils/tokenizeInput.d.ts +3 -0
  235. package/dist/utils/tokenizeInput.js +9 -0
  236. package/dist/utils/tokenizeInput.js.map +1 -0
  237. package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
  238. package/dist/utils/truncateTextAndRoundToWords.js +27 -0
  239. package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
  240. package/dist/utils/waitForLockfileRelease.d.ts +5 -0
  241. package/dist/utils/waitForLockfileRelease.js +20 -0
  242. package/dist/utils/waitForLockfileRelease.js.map +1 -0
  243. package/dist/utils/withLockfile.d.ts +7 -0
  244. package/dist/utils/withLockfile.js +44 -0
  245. package/dist/utils/withLockfile.js.map +1 -0
  246. package/dist/utils/withOra.js +11 -1
  247. package/dist/utils/withOra.js.map +1 -1
  248. package/dist/utils/withStatusLogs.d.ts +2 -1
  249. package/dist/utils/withStatusLogs.js +11 -8
  250. package/dist/utils/withStatusLogs.js.map +1 -1
  251. package/llama/.clang-format +1 -2
  252. package/llama/CMakeLists.txt +87 -2
  253. package/llama/addon.cpp +319 -31
  254. package/llama/binariesGithubRelease.json +1 -1
  255. package/llama/gitRelease.bundle +0 -0
  256. package/llama/gpuInfo/cuda-gpu-info.cu +99 -0
  257. package/llama/gpuInfo/cuda-gpu-info.h +7 -0
  258. package/llama/gpuInfo/metal-gpu-info.h +5 -0
  259. package/llama/gpuInfo/metal-gpu-info.mm +17 -0
  260. package/llama/llama.cpp.info.json +4 -0
  261. package/llamaBins/linux-arm64/.buildMetadata.json +1 -0
  262. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  263. package/llamaBins/linux-armv7l/.buildMetadata.json +1 -0
  264. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  265. package/llamaBins/linux-x64/.buildMetadata.json +1 -0
  266. package/llamaBins/linux-x64/llama-addon.node +0 -0
  267. package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -0
  268. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  269. package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -0
  270. package/llamaBins/mac-arm64-metal/ggml-metal.metal +6491 -0
  271. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  272. package/llamaBins/mac-x64/.buildMetadata.json +1 -0
  273. package/llamaBins/mac-x64/llama-addon.node +0 -0
  274. package/llamaBins/win-x64/.buildMetadata.json +1 -0
  275. package/llamaBins/win-x64/llama-addon.exp +0 -0
  276. package/llamaBins/win-x64/llama-addon.node +0 -0
  277. package/llamaBins/win-x64-cuda/.buildMetadata.json +1 -0
  278. package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
  279. package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
  280. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  281. package/package.json +37 -15
  282. package/dist/AbortError.d.ts +0 -2
  283. package/dist/AbortError.js +0 -7
  284. package/dist/AbortError.js.map +0 -1
  285. package/dist/ChatPromptWrapper.d.ts +0 -11
  286. package/dist/ChatPromptWrapper.js +0 -20
  287. package/dist/ChatPromptWrapper.js.map +0 -1
  288. package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
  289. package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
  290. package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
  291. package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
  292. package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
  293. package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
  294. package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
  295. package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
  296. package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
  297. package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
  298. package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
  299. package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
  300. package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
  301. package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
  302. package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
  303. package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -15
  304. package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -39
  305. package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
  306. package/dist/llamaEvaluator/LlamaBins.d.ts +0 -19
  307. package/dist/llamaEvaluator/LlamaBins.js +0 -5
  308. package/dist/llamaEvaluator/LlamaBins.js.map +0 -1
  309. package/dist/llamaEvaluator/LlamaChatSession.js +0 -290
  310. package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
  311. package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +0 -1
  312. package/dist/llamaEvaluator/LlamaContext/types.js.map +0 -1
  313. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +0 -1
  314. package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +0 -1
  315. package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +0 -1
  316. package/dist/llamaEvaluator/LlamaGrammar.d.ts +0 -32
  317. package/dist/llamaEvaluator/LlamaGrammar.js.map +0 -1
  318. package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js.map +0 -1
  319. package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +0 -1
  320. package/dist/llamaEvaluator/LlamaModel.js.map +0 -1
  321. package/dist/utils/binariesGithubRelease.js.map +0 -1
  322. package/dist/utils/clearLlamaBuild.d.ts +0 -1
  323. package/dist/utils/clearLlamaBuild.js +0 -12
  324. package/dist/utils/clearLlamaBuild.js.map +0 -1
  325. package/dist/utils/cloneLlamaCppRepo.d.ts +0 -2
  326. package/dist/utils/cloneLlamaCppRepo.js +0 -102
  327. package/dist/utils/cloneLlamaCppRepo.js.map +0 -1
  328. package/dist/utils/compileLLamaCpp.d.ts +0 -8
  329. package/dist/utils/compileLLamaCpp.js +0 -127
  330. package/dist/utils/compileLLamaCpp.js.map +0 -1
  331. package/dist/utils/getBin.js +0 -78
  332. package/dist/utils/getBin.js.map +0 -1
  333. package/dist/utils/getReleaseInfo.d.ts +0 -7
  334. package/dist/utils/getReleaseInfo.js +0 -30
  335. package/dist/utils/getReleaseInfo.js.map +0 -1
  336. package/dist/utils/getTextCompletion.d.ts +0 -3
  337. package/dist/utils/getTextCompletion.js +0 -12
  338. package/dist/utils/getTextCompletion.js.map +0 -1
  339. package/dist/utils/usedBinFlag.d.ts +0 -6
  340. package/dist/utils/usedBinFlag.js +0 -15
  341. package/dist/utils/usedBinFlag.js.map +0 -1
  342. package/llama/usedBin.json +0 -3
  343. package/llamaBins/mac-arm64/ggml-metal.metal +0 -2929
  344. package/llamaBins/mac-arm64/llama-addon.node +0 -0
  345. package/llamaBins/mac-x64/ggml-metal.metal +0 -2929
  346. /package/dist/{utils → bindings/utils}/binariesGithubRelease.d.ts +0 -0
  347. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/types.js +0 -0
  348. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.d.ts +0 -0
  349. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js +0 -0
  350. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.d.ts +0 -0
  351. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js +0 -0
  352. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +0 -0
  353. /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js +0 -0
  354. /package/dist/{llamaEvaluator → evaluator}/LlamaGrammarEvaluationState.d.ts +0 -0
@@ -0,0 +1,18 @@
1
+ export function appendUserMessageToChatHistory(chatHistory, message) {
2
+ const newChatHistory = chatHistory.slice();
3
+ if (newChatHistory.length > 0 && newChatHistory[newChatHistory.length - 1].type === "user") {
4
+ const lastUserMessage = newChatHistory[newChatHistory.length - 1];
5
+ newChatHistory[newChatHistory.length - 1] = {
6
+ ...lastUserMessage,
7
+ text: [lastUserMessage.text, message].join("\n\n")
8
+ };
9
+ }
10
+ else {
11
+ newChatHistory.push({
12
+ type: "user",
13
+ text: message
14
+ });
15
+ }
16
+ return newChatHistory;
17
+ }
18
+ //# sourceMappingURL=appendUserMessageToChatHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appendUserMessageToChatHistory.js","sourceRoot":"","sources":["../../src/utils/appendUserMessageToChatHistory.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,8BAA8B,CAAC,WAAuC,EAAE,OAAe;IACnG,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;IAE3C,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE;QACxF,MAAM,eAAe,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAoB,CAAC;QAErF,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG;YACxC,GAAG,eAAe;YAClB,IAAI,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;SACrD,CAAC;KACL;SAAM;QACH,cAAc,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,OAAO;SAChB,CAAC,CAAC;KACN;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC"}
@@ -6,6 +6,7 @@ import { chmodr } from "chmodrp";
6
6
  import { defaultXpacksCacheDirectory, defaultXpacksStoreDirectory, llamaDirectory, localXpacksCacheDirectory, localXpacksStoreDirectory, xpackDirectory, xpmVersion } from "../config.js";
7
7
  import { spawnCommand } from "./spawnCommand.js";
8
8
  import withStatusLogs from "./withStatusLogs.js";
9
+ import { withLockfile } from "./withLockfile.js";
9
10
  export async function hasBuiltinCmake() {
10
11
  try {
11
12
  const resolvedPath = await which("cmake");
@@ -46,14 +47,14 @@ export async function downloadCmakeIfNeeded(wrapWithStatusLogs = false) {
46
47
  }
47
48
  catch (err) { }
48
49
  if (!wrapWithStatusLogs)
49
- await downloadCmake();
50
+ await downloadCmake({ progressLogs: wrapWithStatusLogs });
50
51
  else
51
52
  await withStatusLogs({
52
53
  loading: chalk.blue("Downloading cmake"),
53
54
  success: chalk.blue("Downloaded cmake"),
54
55
  fail: chalk.blue("Failed to download cmake")
55
56
  }, async () => {
56
- await downloadCmake();
57
+ await downloadCmake({ progressLogs: wrapWithStatusLogs });
57
58
  });
58
59
  }
59
60
  export async function clearLocalCmake() {
@@ -74,15 +75,19 @@ export async function fixXpackPermissions() {
74
75
  }
75
76
  catch (err) { }
76
77
  }
77
- async function downloadCmake() {
78
- const xpmEnv = {
79
- ...process.env,
80
- XPACKS_STORE_FOLDER: defaultXpacksStoreDirectory,
81
- XPACKS_CACHE_FOLDER: defaultXpacksCacheDirectory
82
- };
83
- await spawnCommand("npm", ["exec", "--yes", "--", `xpm@${xpmVersion}`, "install", "@xpack-dev-tools/cmake@latest", "--no-save"], xpackDirectory, xpmEnv);
84
- await fs.remove(localXpacksCacheDirectory);
85
- await fixXpackPermissions();
78
+ async function downloadCmake({ progressLogs = true } = {}) {
79
+ await withLockfile({
80
+ resourcePath: path.join(xpackDirectory, "cmakeInstall")
81
+ }, async () => {
82
+ const xpmEnv = {
83
+ ...process.env,
84
+ XPACKS_STORE_FOLDER: defaultXpacksStoreDirectory,
85
+ XPACKS_CACHE_FOLDER: defaultXpacksCacheDirectory
86
+ };
87
+ await spawnCommand("npm", ["exec", "--yes", "--", `xpm@${xpmVersion}`, "install", "@xpack-dev-tools/cmake@latest", "--no-save"], xpackDirectory, xpmEnv, progressLogs);
88
+ await fs.remove(localXpacksCacheDirectory);
89
+ await fixXpackPermissions();
90
+ });
86
91
  }
87
92
  async function getBinFromWindowCmd(cmdFilePath, binName) {
88
93
  const fileContent = await fs.readFile(cmdFilePath, "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"cmake.js","sourceRoot":"","sources":["../../src/utils/cmake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cmake.js","sourceRoot":"","sources":["../../src/utils/cmake.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,SAAS,CAAC;AAC/B,OAAO,EACH,2BAA2B,EAAE,2BAA2B,EAAE,cAAc,EAAE,yBAAyB,EAAE,yBAAyB,EAC9H,cAAc,EAAE,UAAU,EAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC/C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAG/C,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,IAAI;QACA,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,OAAO,YAAY,KAAK,EAAE,CAAC;KAC9B;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAC9B,IAAI;QACA,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,YAAY,KAAK,EAAE;YACnB,OAAO,YAAY,CAAC;KAC3B;IAAC,OAAO,GAAG,EAAE,GAAE;IAEhB,IAAI;QACA,IAAI,YAAY,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;SAC7D,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3C,YAAY,GAAG,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;aAC3E,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YAClD,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;YAEnE,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;gBAChC,YAAY,GAAG,CAAC,MAAM,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,IAAI,EAAE,CAAC;SAClF;QAED,IAAI,YAAY,KAAK,EAAE;YACnB,OAAO,YAAY,CAAC;KAC3B;IAAC,OAAO,GAAG,EAAE,GAAE;IAEhB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,qBAA8B,KAAK;IAC3E,IAAI;QACA,MAAM,YAAY,EAAE,CAAC;QACrB,OAAO;KACV;IAAC,OAAO,GAAG,EAAE,GAAE;IAEhB,IAAI,CAAC,kBAAkB;QACnB,MAAM,aAAa,CAAC,EAAC,YAAY,EAAE,kBAAkB,EAAC,CAAC,CAAC;;QAExD,MAAM,cAAc,CAAC;YACjB,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACxC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC;YACvC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;SAC/C,EAAE,KAAK,IAAI,EAAE;YACV,MAAM,aAAa,CAAC,EAAC,YAAY,EAAE,kBAAkB,EAAC,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;AACX,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe;IACjC,MAAM,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACrC,IAAI;QACA,MAAM,MAAM,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;KAC5D;IAAC,OAAO,GAAG,EAAE,GAAE;AACpB,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,EAAC,YAAY,GAAG,IAAI,KAA8B,EAAE;IAC7E,MAAM,YAAY,CAAC;QACf,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC;KAC1D,EAAE,KAAK,IAAI,EAAE;QACV,MAAM,MAAM,GAAsB;YAC9B,GAAG,OAAO,CAAC,GAAG;YACd,mBAAmB,EAAE,2BAA2B;YAChD,mBAAmB,EAAE,2BAA2B;SACnD,CAAC;QAEF,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,UAAU,EAAE,EAAE,SAAS,EAAE,+BAA+B,EAAE,WAAW,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAEvK,MAAM,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QAC3C,MAAM,mBAAmB,EAAE,CAAC;IAChC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,OAAe;IACnE,MAAM,WAAW,GAAW,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACnE,MAAM,oBAAoB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAEvD,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACvC,OAAO,IAAI,CAAC;IAEhB,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACrE,MAAM,qBAAqB,GAAG,WAAW,CAAC,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE/E,IAAI,qBAAqB,KAAK,GAAG,IAAI,qBAAqB,KAAK,GAAG;QAC9D,OAAO,IAAI,CAAC;IAEhB,MAAM,oBAAoB,GAAG,WAAW,CAAC,WAAW,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC;IAEhG,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjG,IAAI,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAC7B,OAAO,IAAI,CAAC;IAEhB,OAAO,OAAO,CAAC;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Token } from "../types.js";
2
+ export declare function compareTokens(token1: Token, token2: Token): boolean;
@@ -0,0 +1,4 @@
1
+ export function compareTokens(token1, token2) {
2
+ return token1 === token2;
3
+ }
4
+ //# sourceMappingURL=compareTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compareTokens.js","sourceRoot":"","sources":["../../src/utils/compareTokens.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,MAAa,EAAE,MAAa;IACtD,OAAO,MAAM,KAAK,MAAM,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { ChatHistoryItem, Tokenizer } from "../types.js";
2
+ import { ChatWrapper } from "../ChatWrapper.js";
3
+ export declare function findCharacterRemovalCountToFitChatHistoryInContext({ compressChatHistory, chatHistory, tokensCountToFit, tokenizer, chatWrapper, initialCharactersRemovalCount, estimatedCharactersPerToken, maxDecompressionAttempts }: {
4
+ compressChatHistory(options: {
5
+ chatHistory: readonly ChatHistoryItem[];
6
+ charactersToRemove: number;
7
+ }): ChatHistoryItem[] | Promise<ChatHistoryItem[]>;
8
+ chatHistory: ChatHistoryItem[];
9
+ tokensCountToFit: number;
10
+ tokenizer: Tokenizer;
11
+ chatWrapper: ChatWrapper;
12
+ initialCharactersRemovalCount?: number;
13
+ estimatedCharactersPerToken?: number;
14
+ maxDecompressionAttempts?: number;
15
+ }): Promise<{
16
+ removedCharactersCount: number;
17
+ compressedChatHistory: ChatHistoryItem[];
18
+ }>;
@@ -0,0 +1,61 @@
1
+ export async function findCharacterRemovalCountToFitChatHistoryInContext({ compressChatHistory, chatHistory, tokensCountToFit, tokenizer, chatWrapper, initialCharactersRemovalCount = 0, estimatedCharactersPerToken = 5, maxDecompressionAttempts = 2 }) {
2
+ function getTokensCountForChatHistory(chatHistory) {
3
+ const { contextText } = chatWrapper.generateContextText(chatHistory);
4
+ return contextText.tokenize(tokenizer).length;
5
+ }
6
+ async function getResultForCharacterRemovalCount(characterRemovalCount) {
7
+ if (characterRemovalCount === 0)
8
+ return {
9
+ compressedHistory: chatHistory,
10
+ tokensCount: getTokensCountForChatHistory(chatHistory),
11
+ characterRemovalCount
12
+ };
13
+ const compressedHistory = await compressChatHistory({
14
+ chatHistory,
15
+ charactersToRemove: characterRemovalCount
16
+ });
17
+ return {
18
+ compressedHistory,
19
+ tokensCount: getTokensCountForChatHistory(compressedHistory),
20
+ characterRemovalCount
21
+ };
22
+ }
23
+ let latestCompressionAttempt = await getResultForCharacterRemovalCount(initialCharactersRemovalCount);
24
+ const firstCompressionAttempt = latestCompressionAttempt;
25
+ let currentEstimatedCharactersPerToken = estimatedCharactersPerToken;
26
+ if (latestCompressionAttempt.tokensCount === tokensCountToFit ||
27
+ (latestCompressionAttempt.tokensCount < tokensCountToFit && latestCompressionAttempt.characterRemovalCount === 0))
28
+ return {
29
+ removedCharactersCount: initialCharactersRemovalCount,
30
+ compressedChatHistory: latestCompressionAttempt.compressedHistory
31
+ };
32
+ for (let compressionAttempts = 0, decompressionAttempts = 0; latestCompressionAttempt.tokensCount !== tokensCountToFit;) {
33
+ if (compressionAttempts > 0) {
34
+ currentEstimatedCharactersPerToken =
35
+ Math.abs(latestCompressionAttempt.characterRemovalCount - firstCompressionAttempt.characterRemovalCount) /
36
+ Math.abs(latestCompressionAttempt.tokensCount - firstCompressionAttempt.tokensCount);
37
+ if (!Number.isFinite(currentEstimatedCharactersPerToken))
38
+ currentEstimatedCharactersPerToken = estimatedCharactersPerToken;
39
+ }
40
+ const tokensLeftToRemove = tokensCountToFit - latestCompressionAttempt.tokensCount;
41
+ let additionalCharactersToRemove = Math.round(tokensLeftToRemove * currentEstimatedCharactersPerToken);
42
+ if (additionalCharactersToRemove === 0) {
43
+ if (tokensLeftToRemove > 0)
44
+ additionalCharactersToRemove = 1;
45
+ else if (tokensLeftToRemove < 0)
46
+ additionalCharactersToRemove = -1;
47
+ }
48
+ if (tokensLeftToRemove > 0)
49
+ compressionAttempts++;
50
+ else if (tokensLeftToRemove < 0)
51
+ decompressionAttempts++;
52
+ if (decompressionAttempts >= maxDecompressionAttempts)
53
+ break;
54
+ latestCompressionAttempt = await getResultForCharacterRemovalCount(latestCompressionAttempt.characterRemovalCount + additionalCharactersToRemove);
55
+ }
56
+ return {
57
+ removedCharactersCount: latestCompressionAttempt.characterRemovalCount,
58
+ compressedChatHistory: latestCompressionAttempt.compressedHistory
59
+ };
60
+ }
61
+ //# sourceMappingURL=findCharacterRemovalCountToFitChatHistoryInContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findCharacterRemovalCountToFitChatHistoryInContext.js","sourceRoot":"","sources":["../../src/utils/findCharacterRemovalCountToFitChatHistoryInContext.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,kDAAkD,CAAC,EACrE,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,WAAW,EACX,6BAA6B,GAAG,CAAC,EACjC,2BAA2B,GAAG,CAAC,EAC/B,wBAAwB,GAAG,CAAC,EAY/B;IAIG,SAAS,4BAA4B,CAAC,WAAuC;QACzE,MAAM,EAAC,WAAW,EAAC,GAAG,WAAW,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;IAClD,CAAC;IAED,KAAK,UAAU,iCAAiC,CAAC,qBAA6B;QAC1E,IAAI,qBAAqB,KAAK,CAAC;YAC3B,OAAO;gBACH,iBAAiB,EAAE,WAAW;gBAC9B,WAAW,EAAE,4BAA4B,CAAC,WAAW,CAAC;gBACtD,qBAAqB;aACxB,CAAC;QAEN,MAAM,iBAAiB,GAAG,MAAM,mBAAmB,CAAC;YAChD,WAAW;YACX,kBAAkB,EAAE,qBAAqB;SAC5C,CAAC,CAAC;QAEH,OAAO;YACH,iBAAiB;YACjB,WAAW,EAAE,4BAA4B,CAAC,iBAAiB,CAAC;YAC5D,qBAAqB;SACxB,CAAC;IACN,CAAC;IAED,IAAI,wBAAwB,GAAG,MAAM,iCAAiC,CAAC,6BAA6B,CAAC,CAAC;IACtG,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;IACzD,IAAI,kCAAkC,GAAG,2BAA2B,CAAC;IAErE,IAAI,wBAAwB,CAAC,WAAW,KAAK,gBAAgB;QACzD,CAAC,wBAAwB,CAAC,WAAW,GAAG,gBAAgB,IAAI,wBAAwB,CAAC,qBAAqB,KAAK,CAAC,CAAC;QAEjH,OAAO;YACH,sBAAsB,EAAE,6BAA6B;YACrD,qBAAqB,EAAE,wBAAwB,CAAC,iBAAiB;SACpE,CAAC;IAEN,KACI,IAAI,mBAAmB,GAAG,CAAC,EAAE,qBAAqB,GAAG,CAAC,EACtD,wBAAwB,CAAC,WAAW,KAAK,gBAAgB,GAC3D;QACE,IAAI,mBAAmB,GAAG,CAAC,EAAE;YACzB,kCAAkC;gBAC9B,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,qBAAqB,GAAG,uBAAuB,CAAC,qBAAqB,CAAC;oBACxG,IAAI,CAAC,GAAG,CAAC,wBAAwB,CAAC,WAAW,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;YAEzF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kCAAkC,CAAC;gBACpD,kCAAkC,GAAG,2BAA2B,CAAC;SACxE;QAED,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,wBAAwB,CAAC,WAAW,CAAC;QACnF,IAAI,4BAA4B,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,kCAAkC,CAAC,CAAC;QAEvG,IAAI,4BAA4B,KAAK,CAAC,EAAE;YACpC,IAAI,kBAAkB,GAAG,CAAC;gBACtB,4BAA4B,GAAG,CAAC,CAAC;iBAChC,IAAI,kBAAkB,GAAG,CAAC;gBAC3B,4BAA4B,GAAG,CAAC,CAAC,CAAC;SACzC;QAED,IAAI,kBAAkB,GAAG,CAAC;YACtB,mBAAmB,EAAE,CAAC;aACrB,IAAI,kBAAkB,GAAG,CAAC;YAC3B,qBAAqB,EAAE,CAAC;QAE5B,IAAI,qBAAqB,IAAI,wBAAwB;YACjD,MAAM;QAEV,wBAAwB,GAAG,MAAM,iCAAiC,CAC9D,wBAAwB,CAAC,qBAAqB,GAAG,4BAA4B,CAChF,CAAC;KACL;IAED,OAAO;QACH,sBAAsB,EAAE,wBAAwB,CAAC,qBAAqB;QACtE,qBAAqB,EAAE,wBAAwB,CAAC,iBAAiB;KACpE,CAAC;AACN,CAAC"}
@@ -2,4 +2,5 @@ export declare class GbnfGrammarGenerator {
2
2
  rules: Map<string, string | null>;
3
3
  private ruleId;
4
4
  generateRuleName(): string;
5
+ generateGbnfFile(rootGrammar: string): string;
5
6
  }
@@ -6,5 +6,22 @@ export class GbnfGrammarGenerator {
6
6
  this.ruleId++;
7
7
  return `rule${ruleId}`;
8
8
  }
9
+ generateGbnfFile(rootGrammar) {
10
+ const rules = [{
11
+ name: "root",
12
+ grammar: rootGrammar
13
+ }];
14
+ for (const [ruleName, grammar] of this.rules.entries()) {
15
+ if (grammar == null)
16
+ continue;
17
+ rules.push({
18
+ name: ruleName,
19
+ grammar
20
+ });
21
+ }
22
+ const ruleStrings = rules.map((rule) => rule.name + " ::= " + rule.grammar);
23
+ const gbnf = ruleStrings.join("\n");
24
+ return gbnf;
25
+ }
9
26
  }
10
27
  //# sourceMappingURL=GbnfGrammarGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GbnfGrammarGenerator.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/GbnfGrammarGenerator.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IACtB,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IACxC,MAAM,GAAW,CAAC,CAAC;IAEpB,gBAAgB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,OAAO,OAAO,MAAM,EAAE,CAAC;IAC3B,CAAC;CACJ"}
1
+ {"version":3,"file":"GbnfGrammarGenerator.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/GbnfGrammarGenerator.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IACtB,KAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;IACxC,MAAM,GAAW,CAAC,CAAC;IAEpB,gBAAgB;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QAEd,OAAO,OAAO,MAAM,EAAE,CAAC;IAC3B,CAAC;IAEM,gBAAgB,CAAC,WAAmB;QACvC,MAAM,KAAK,GAAsC,CAAC;gBAC9C,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,WAAW;aACvB,CAAC,CAAC;QAEH,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;YACpD,IAAI,OAAO,IAAI,IAAI;gBACf,SAAS;YAEb,KAAK,CAAC,IAAI,CAAC;gBACP,IAAI,EAAE,QAAQ;gBACd,OAAO;aACV,CAAC,CAAC;SACN;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
1
  import { GbnfGrammarGenerator } from "./GbnfGrammarGenerator.js";
2
2
  export declare abstract class GbnfTerminal {
3
3
  private _ruleName;
4
- getRuleName(grammarGenerator: GbnfGrammarGenerator): string;
4
+ protected getRuleName(grammarGenerator: GbnfGrammarGenerator): string;
5
5
  abstract getGrammar(grammarGenerator: GbnfGrammarGenerator): string;
6
6
  resolve(grammarGenerator: GbnfGrammarGenerator): string;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GbnfTerminal.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/GbnfTerminal.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,YAAY;IACtB,SAAS,GAAkB,IAAI,CAAC;IAEjC,WAAW,CAAC,gBAAsC;QACrD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC;QAE1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAIM,OAAO,CAAC,gBAAsC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAEpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE5E,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
1
+ {"version":3,"file":"GbnfTerminal.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/GbnfTerminal.ts"],"names":[],"mappings":"AAGA,MAAM,OAAgB,YAAY;IACtB,SAAS,GAAkB,IAAI,CAAC;IAE9B,WAAW,CAAC,gBAAsC;QACxD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YACtB,OAAO,IAAI,CAAC,SAAS,CAAC;QAE1B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAIM,OAAO,CAAC,gBAAsC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;QAEpD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;YACrC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAE5E,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ"}
@@ -0,0 +1,6 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export declare class GbnfVerbatimText extends GbnfTerminal {
3
+ readonly value: string;
4
+ constructor(value: string);
5
+ getGrammar(): string;
6
+ }
@@ -0,0 +1,21 @@
1
+ import { GbnfTerminal } from "../GbnfTerminal.js";
2
+ export class GbnfVerbatimText extends GbnfTerminal {
3
+ value;
4
+ constructor(value) {
5
+ super();
6
+ this.value = value;
7
+ }
8
+ getGrammar() {
9
+ return [
10
+ '"',
11
+ this.value
12
+ .replaceAll("\\", "\\\\")
13
+ .replaceAll('"', '\\"')
14
+ .replaceAll("\t", "\\t")
15
+ .replaceAll("\r", "\\r")
16
+ .replaceAll("\n", "\\n"),
17
+ '"'
18
+ ].join("");
19
+ }
20
+ }
21
+ //# sourceMappingURL=GbnfVerbatimText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GbnfVerbatimText.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/terminals/GbnfVerbatimText.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGhD,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IAC9B,KAAK,CAAS;IAE9B,YAAmB,KAAa;QAC5B,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEQ,UAAU;QACf,OAAO;YACH,GAAG;YACH,IAAI,CAAC,KAAK;iBACL,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC;iBACxB,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC;iBACtB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;iBACvB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;iBACvB,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC;YAC5B,GAAG;SACN,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;CACJ"}
@@ -24,7 +24,7 @@ export type GbnfJsonArraySchema = {
24
24
  items: GbnfJsonSchema;
25
25
  };
26
26
  export type GbnfJsonSchemaToType<T> = GbnfJsonSchemaToTSType<T>;
27
- export type GbnfJsonSchemaToTSType<T> = T extends GbnfJsonBasicSchema ? GbnfJsonBasicSchemaToType<T["type"]> : T extends GbnfJsonConstSchema ? T["const"] : T extends GbnfJsonEnumSchema ? T["enum"][number] : T extends GbnfJsonOneOfSchema ? GbnfJsonSchemaToType<T["oneOf"][number]> : T extends GbnfJsonObjectSchema ? GbnfJsonObjectSchemaToType<T["properties"]> : T extends GbnfJsonArraySchema ? GbnfJsonSchemaToType<T["items"]>[] : never;
27
+ export type GbnfJsonSchemaToTSType<T> = GbnfJsonBasicSchema extends T ? undefined : undefined extends T ? undefined : T extends GbnfJsonBasicSchema ? GbnfJsonBasicSchemaToType<T["type"]> : T extends GbnfJsonConstSchema ? T["const"] : T extends GbnfJsonEnumSchema ? T["enum"][number] : T extends GbnfJsonOneOfSchema ? GbnfJsonSchemaToType<T["oneOf"][number]> : T extends GbnfJsonObjectSchema ? GbnfJsonObjectSchemaToType<T["properties"]> : T extends GbnfJsonArraySchema ? GbnfJsonSchemaToType<T["items"]>[] : undefined;
28
28
  type GbnfJsonBasicSchemaToType<T> = T extends GbnfJsonSchemaImmutableType ? ImmutableTypeToType<T> : T extends GbnfJsonSchemaImmutableType[] ? ImmutableTypeToType<T[number]> : never;
29
29
  type ImmutableTypeToType<T> = T extends "string" ? string : T extends "number" ? number : T extends "integer" ? number : T extends "boolean" ? boolean : T extends "null" ? null : never;
30
30
  type GbnfJsonObjectSchemaToType<Props> = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/types.ts"],"names":[],"mappings":"AAqEA,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,KAAK,KAAK,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACvD,OAAQ,MAA6B,CAAC,IAAI,IAAI,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,KAAK,IAAI,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IACzD,OAAQ,MAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,MAA2B,EAAE,IAAO;IAEpC,IAAI,MAAM,CAAC,IAAI,YAAY,KAAK;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/gbnfJson/types.ts"],"names":[],"mappings":"AAyEA,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,KAAK,KAAK,SAAS,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACvD,OAAQ,MAA6B,CAAC,IAAI,IAAI,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,KAAK,IAAI,IAAI,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IACzD,OAAQ,MAA+B,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAsB;IACxD,OAAQ,MAA8B,CAAC,IAAI,KAAK,OAAO,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,iCAAiC,CAC7C,MAA2B,EAAE,IAAO;IAEpC,IAAI,MAAM,CAAC,IAAI,YAAY,KAAK;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEtC,OAAO,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;AAChC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { GbnfJsonSchema, GbnfJsonSchemaToType } from "../types.js";
2
+ export declare function validateObjectAgainstGbnfSchema(object: any, schema: unknown): boolean;
2
3
  export declare function validateObjectAgainstGbnfSchema<T extends GbnfJsonSchema>(object: any, schema: T): object is GbnfJsonSchemaToType<T>;
3
4
  export declare class LlamaJsonSchemaValidationError extends Error {
4
5
  readonly object: any;
@@ -1 +1 @@
1
- {"version":3,"file":"validateObjectAgainstGbnfSchema.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAEgD,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EACrH,sBAAsB,EAAE,qBAAqB,EAChD,MAAM,aAAa,CAAC;AAGrB,MAAM,UAAU,+BAA+B,CAA2B,MAAW,EAAE,MAAS;IAC5F,IAAI;QACA,OAAO,4BAA4B,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACvD;IAAC,OAAO,GAAG,EAAE;QACV,IAAI,GAAG,YAAY,wBAAwB;YACvC,MAAM,IAAI,8BAA8B,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE1E,MAAM,GAAG,CAAC;KACb;AACL,CAAC;AAED,MAAM,OAAO,8BAA+B,SAAQ,KAAK;IACrC,MAAM,CAAM;IACZ,MAAM,CAAiB;IAEvC,YAAmB,OAAe,EAAE,MAAW,EAAE,MAAsB;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAED,MAAM,wBAAyB,SAAQ,KAAK;IACxC,YAAmB,OAAe;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AAED,SAAS,4BAA4B,CAA2B,MAAW,EAAE,MAAS;IAClF,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAC7B,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACpC,IAAI,sBAAsB,CAAC,MAAM,CAAC;QACnC,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACrC,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAClC,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACpC,IAAI,oBAAoB,CAAC,MAAM,CAAC;QACjC,OAAO,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SACnC,IAAI,qBAAqB,CAAC,MAAM,CAAC;QAClC,OAAO,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,IAAI,MAAM,CAAC,IAAI,YAAY,KAAK,EAAE;QAC9B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE;YAC5B,IAAI,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC;gBACnC,OAAO,IAAI,CAAC;SACnB;QAED,MAAM,IAAI,KAAK,CAAC,yBACZ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAC7D,mBAAmB,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC;KACjE;IAED,IAAI,qBAAqB,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;QAC1C,OAAO,IAAI,CAAC;IAEhB,MAAM,IAAI,KAAK,CAAC,aAAa,MAAM,CAAC,IAAI,cAAc,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,MAAM,GAAG,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,aAAa,CAAgC,MAAW,EAAE,MAAS;IACxE,IAAI,CAAC,CAAC,MAAM,YAAY,KAAK,CAAC;QAC1B,MAAM,IAAI,wBAAwB,CAAC,8BAA8B,OAAO,MAAM,GAAG,CAAC,CAAC;IAEvF,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,MAAM;QACrB,GAAG,KAAK,4BAA4B,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAE7D,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAiC,MAAW,EAAE,MAAS;IAC1E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAC7C,MAAM,IAAI,wBAAwB,CAAC,+BAA+B,OAAO,MAAM,GAAG,CAAC,CAAC;IAExF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QACpB,MAAM,IAAI,wBAAwB,CAAC,oBAAoB,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAErH,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;QACtB,MAAM,IAAI,wBAAwB,CAAC,iBAAiB,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEpH,IAAI,GAAG,GAAG,IAAI,CAAC;IACf,KAAK,MAAM,GAAG,IAAI,UAAU;QACxB,GAAG,KAAK,4BAA4B,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9E,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAgC,MAAW,EAAE,MAAS;IACxE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE;QAC7B,IAAI;YACA,OAAO,4BAA4B,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACrD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,YAAY,wBAAwB;gBACvC,SAAS;YAEb,MAAM,GAAG,CAAC;SACb;KACJ;IAED,MAAM,IAAI,wBAAwB,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,MAAM,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3H,CAAC;AAED,SAAS,YAAY,CAA+B,MAAW,EAAE,MAAS;IACtE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;QAC7B,IAAI,MAAM,KAAK,KAAK;YAChB,OAAO,IAAI,CAAC;KACnB;IAED,MAAM,IAAI,wBAAwB,CAAC,oBAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAC7D,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,aAAa,CAAgC,MAAW,EAAE,MAAS;IACxE,IAAI,MAAM,KAAK,MAAM,CAAC,KAAK;QACvB,OAAO,IAAI,CAAC;IAEhB,MAAM,IAAI,wBAAwB,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAU,EAAE,IAAiC;IACxE,IAAI,IAAI,KAAK,QAAQ,EAAE;QACnB,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;KACpC;SAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;QAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC;KACpC;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,CAAC;QACjB,OAAO,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;KAC1B;SAAM,IAAI,IAAI,KAAK,SAAS,EAAE;QAC3B,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC;KACrC;SAAM,IAAI,IAAI,KAAK,MAAM,EAAE;QACxB,OAAO,KAAK,KAAK,IAAI,CAAC;KACzB;SAAM;QACH,KAAK,CAAC,IAAoB,CAAC,CAAC;KAC/B;IAED,MAAM,IAAI,wBAAwB,CAAC,0BAA0B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC"}
1
+ {"version":3,"file":"validateObjectAgainstGbnfSchema.js","sourceRoot":"","sources":["../../../../src/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getConsoleLogPrefix(forcePrefix?: boolean): string;
@@ -0,0 +1,9 @@
1
+ import chalk from "chalk";
2
+ import { getIsRunningFromCLI } from "../state.js";
3
+ export function getConsoleLogPrefix(forcePrefix = false) {
4
+ const isInCLI = getIsRunningFromCLI();
5
+ if (!isInCLI || forcePrefix)
6
+ return chalk.grey("[node-llama-cpp] ");
7
+ return "";
8
+ }
9
+ //# sourceMappingURL=getConsoleLogPrefix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getConsoleLogPrefix.js","sourceRoot":"","sources":["../../src/utils/getConsoleLogPrefix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,aAAa,CAAC;AAEhD,MAAM,UAAU,mBAAmB,CAAC,cAAuB,KAAK;IAC5D,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,IAAI,WAAW;QACvB,OAAO,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAE3C,OAAO,EAAE,CAAC;AACd,CAAC"}
@@ -4,20 +4,6 @@ export function getGbnfGrammarForGbnfJsonSchema(schema) {
4
4
  const grammarGenerator = new GbnfGrammarGenerator();
5
5
  const rootTerminal = getGbnfJsonTerminalForGbnfJsonSchema(schema, grammarGenerator);
6
6
  const rootGrammar = rootTerminal.getGrammar(grammarGenerator);
7
- const rules = [{
8
- name: "root",
9
- grammar: rootGrammar + " [\\n]".repeat(4) + " [\\n]*"
10
- }];
11
- for (const [ruleName, grammar] of grammarGenerator.rules.entries()) {
12
- if (grammar == null)
13
- continue;
14
- rules.push({
15
- name: ruleName,
16
- grammar
17
- });
18
- }
19
- const ruleStrings = rules.map((rule) => rule.name + " ::= " + rule.grammar);
20
- const gbnf = ruleStrings.join("\n");
21
- return gbnf;
7
+ return grammarGenerator.generateGbnfFile(rootGrammar + " [\\n]".repeat(4) + " [\\n]*");
22
8
  }
23
9
  //# sourceMappingURL=getGbnfGrammarForGbnfJsonSchema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGbnfGrammarForGbnfJsonSchema.js","sourceRoot":"","sources":["../../src/utils/getGbnfGrammarForGbnfJsonSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oCAAoC,EAAC,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAGxE,MAAM,UAAU,+BAA+B,CAAC,MAAsB;IAClE,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,oCAAoC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE9D,MAAM,KAAK,GAAsC,CAAC;YAC9C,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS;SACxD,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE;QAChE,IAAI,OAAO,IAAI,IAAI;YACf,SAAS;QAEb,KAAK,CAAC,IAAI,CAAC;YACP,IAAI,EAAE,QAAQ;YACd,OAAO;SACV,CAAC,CAAC;KACN;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEpC,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"getGbnfGrammarForGbnfJsonSchema.js","sourceRoot":"","sources":["../../src/utils/getGbnfGrammarForGbnfJsonSchema.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,oCAAoC,EAAC,MAAM,0DAA0D,CAAC;AAC9G,OAAO,EAAC,oBAAoB,EAAC,MAAM,oCAAoC,CAAC;AAGxE,MAAM,UAAU,+BAA+B,CAAC,MAAsB;IAClE,MAAM,gBAAgB,GAAG,IAAI,oBAAoB,EAAE,CAAC;IACpD,MAAM,YAAY,GAAG,oCAAoC,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAE9D,OAAO,gBAAgB,CAAC,gBAAgB,CAAC,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;AAC3F,CAAC"}
@@ -1 +1,2 @@
1
- export declare function getGrammarsFolder(): Promise<string>;
1
+ import { Llama } from "../bindings/Llama.js";
2
+ export declare function getGrammarsFolder(buildType: Llama["buildType"]): Promise<string>;
@@ -1,18 +1,19 @@
1
1
  import fs from "fs-extra";
2
2
  import { llamaBinsGrammarsDirectory, llamaCppGrammarsDirectory } from "../config.js";
3
- import { getUsedBinFlag } from "./usedBinFlag.js";
4
- export async function getGrammarsFolder() {
5
- const usedBinFlag = await getUsedBinFlag();
6
- if (usedBinFlag === "localBuildFromSource") {
7
- if (await fs.pathExists(llamaCppGrammarsDirectory))
3
+ import { isLlamaCppRepoCloned } from "../bindings/utils/cloneLlamaCppRepo.js";
4
+ export async function getGrammarsFolder(buildType) {
5
+ if (buildType === "localBuild") {
6
+ if (await isLlamaCppRepoCloned(true) && await fs.pathExists(llamaCppGrammarsDirectory))
8
7
  return llamaCppGrammarsDirectory;
9
8
  }
10
- else if (usedBinFlag === "prebuiltBinaries") {
9
+ else if (buildType === "prebuilt") {
11
10
  if (await fs.pathExists(llamaBinsGrammarsDirectory))
12
11
  return llamaBinsGrammarsDirectory;
13
- else if (await fs.pathExists(llamaCppGrammarsDirectory))
12
+ else if (await isLlamaCppRepoCloned(false) && await fs.pathExists(llamaCppGrammarsDirectory))
14
13
  return llamaCppGrammarsDirectory;
15
14
  }
15
+ else
16
+ void (buildType);
16
17
  throw new Error("Grammars folder not found");
17
18
  }
18
19
  //# sourceMappingURL=getGrammarsFolder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getGrammarsFolder.js","sourceRoot":"","sources":["../../src/utils/getGrammarsFolder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAC,cAAc,EAAC,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACnC,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;IAE3C,IAAI,WAAW,KAAK,sBAAsB,EAAE;QACxC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;YAC9C,OAAO,yBAAyB,CAAC;KACxC;SAAM,IAAI,WAAW,KAAK,kBAAkB,EAAE;QAC3C,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAC/C,OAAO,0BAA0B,CAAC;aACjC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;YACnD,OAAO,yBAAyB,CAAC;KACxC;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACjD,CAAC"}
1
+ {"version":3,"file":"getGrammarsFolder.js","sourceRoot":"","sources":["../../src/utils/getGrammarsFolder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAC,0BAA0B,EAAE,yBAAyB,EAAC,MAAM,cAAc,CAAC;AAEnF,OAAO,EAAC,oBAAoB,EAAC,MAAM,wCAAwC,CAAC;AAE5E,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAA6B;IACjE,IAAI,SAAS,KAAK,YAAY,EAAE;QAC5B,IAAI,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;YAClF,OAAO,yBAAyB,CAAC;KACxC;SAAM,IAAI,SAAS,KAAK,UAAU,EAAE;QACjC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,0BAA0B,CAAC;YAC/C,OAAO,0BAA0B,CAAC;aACjC,IAAI,MAAM,oBAAoB,CAAC,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,UAAU,CAAC,yBAAyB,CAAC;YACxF,OAAO,yBAAyB,CAAC;KACxC;;QACG,KAAK,CAAC,SAAyB,CAAC,CAAC;IAErC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getModuleVersion(): Promise<string>;
@@ -0,0 +1,13 @@
1
+ import path from "path";
2
+ import { fileURLToPath } from "url";
3
+ import fs from "fs-extra";
4
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
5
+ let moduleVersion = null;
6
+ export async function getModuleVersion() {
7
+ if (moduleVersion != null)
8
+ return moduleVersion;
9
+ const packageJson = await fs.readJson(path.join(__dirname, "..", "..", "package.json"));
10
+ moduleVersion = packageJson.version;
11
+ return moduleVersion;
12
+ }
13
+ //# sourceMappingURL=getModuleVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getModuleVersion.js","sourceRoot":"","sources":["../../src/utils/getModuleVersion.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAC,aAAa,EAAC,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,MAAM,UAAU,CAAC;AAE1B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,IAAI,aAAa,GAAkB,IAAI,CAAC;AACxC,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,IAAI,aAAa,IAAI,IAAI;QACrB,OAAO,aAAa,CAAC;IAEzB,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IAExF,aAAa,GAAG,WAAW,CAAC,OAAiB,CAAC;IAE9C,OAAO,aAAa,CAAC;AACzB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { Token, Tokenizer } from "../types.js";
2
+ import { StopGenerationDetector } from "./StopGenerationDetector.js";
3
+ export declare function getQueuedTokensBeforeStopTrigger(triggeredStops: ReturnType<typeof StopGenerationDetector["prototype"]["getTriggeredStops"]>, partiallyFreeTokens: {
4
+ tokens: Token[];
5
+ text: string;
6
+ }, tokenizer: Tokenizer): Token[];
@@ -0,0 +1,22 @@
1
+ export function getQueuedTokensBeforeStopTrigger(triggeredStops, partiallyFreeTokens, tokenizer) {
2
+ if (partiallyFreeTokens.tokens.length === 0 && partiallyFreeTokens.text.length === 0)
3
+ return [];
4
+ else if (partiallyFreeTokens.tokens.length !== 0 && partiallyFreeTokens.text.length === 0)
5
+ return partiallyFreeTokens.tokens;
6
+ else if (partiallyFreeTokens.tokens.length === 0 && partiallyFreeTokens.text.length !== 0)
7
+ return tokenizer(partiallyFreeTokens.text);
8
+ const triggerThatStartsWithStringIndex = triggeredStops.findIndex((trigger) => trigger.stopTrigger.length > 0 && typeof trigger.stopTrigger[0] === "string");
9
+ const triggerThatStartsWithTokenIndex = triggeredStops.findIndex((trigger) => trigger.stopTrigger.length > 0 && typeof trigger.stopTrigger[0] !== "string");
10
+ if (triggerThatStartsWithTokenIndex > 0 && triggerThatStartsWithStringIndex < 0)
11
+ return partiallyFreeTokens.tokens;
12
+ else if (triggerThatStartsWithStringIndex > 0 && triggerThatStartsWithTokenIndex < 0)
13
+ return tokenizer(partiallyFreeTokens.text);
14
+ const stringTokens = tokenizer(partiallyFreeTokens.text);
15
+ if (stringTokens.length === partiallyFreeTokens.tokens.length &&
16
+ stringTokens.every((value, index) => value === partiallyFreeTokens.tokens[index]))
17
+ return stringTokens;
18
+ else if (triggerThatStartsWithStringIndex < triggerThatStartsWithTokenIndex)
19
+ return stringTokens;
20
+ return partiallyFreeTokens.tokens;
21
+ }
22
+ //# sourceMappingURL=getQueuedTokensBeforeStopTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getQueuedTokensBeforeStopTrigger.js","sourceRoot":"","sources":["../../src/utils/getQueuedTokensBeforeStopTrigger.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gCAAgC,CAC5C,cAA2F,EAC3F,mBAGC,EACD,SAAoB;IAEpB,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QAChF,OAAO,EAAE,CAAC;SACT,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACrF,OAAO,mBAAmB,CAAC,MAAM,CAAC;SACjC,IAAI,mBAAmB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,mBAAmB,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;QACrF,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,gCAAgC,GAAG,cAAc,CAAC,SAAS,CAC7D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAC5F,CAAC;IACF,MAAM,+BAA+B,GAAG,cAAc,CAAC,SAAS,CAC5D,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,QAAQ,CAC5F,CAAC;IAEF,IAAI,+BAA+B,GAAG,CAAC,IAAI,gCAAgC,GAAG,CAAC;QAC3E,OAAO,mBAAmB,CAAC,MAAM,CAAC;SACjC,IAAI,gCAAgC,GAAG,CAAC,IAAI,+BAA+B,GAAG,CAAC;QAChF,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,YAAY,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,CAAC,MAAM;QACzD,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjF,OAAO,YAAY,CAAC;SACnB,IAAI,gCAAgC,GAAG,+BAA+B;QACvE,OAAO,YAAY,CAAC;IAExB,OAAO,mBAAmB,CAAC,MAAM,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { GbnfJsonSchema } from "./gbnfJson/types.js";
2
+ export declare function getTypeScriptTypeStringForGbnfJsonSchema(schema: GbnfJsonSchema): string;
@@ -0,0 +1,49 @@
1
+ import { isGbnfJsonArraySchema, isGbnfJsonBasicSchemaIncludesType, isGbnfJsonConstSchema, isGbnfJsonEnumSchema, isGbnfJsonObjectSchema, isGbnfJsonOneOfSchema } from "./gbnfJson/types.js";
2
+ export function getTypeScriptTypeStringForGbnfJsonSchema(schema) {
3
+ if (isGbnfJsonOneOfSchema(schema)) {
4
+ const values = schema.oneOf
5
+ .map((altSchema) => getTypeScriptTypeStringForGbnfJsonSchema(altSchema));
6
+ return values.join(" | ");
7
+ }
8
+ else if (isGbnfJsonConstSchema(schema)) {
9
+ return JSON.stringify(schema.const) ?? "";
10
+ }
11
+ else if (isGbnfJsonEnumSchema(schema)) {
12
+ return schema.enum
13
+ .map((item) => JSON.stringify(item) ?? "")
14
+ .filter((item) => item !== "")
15
+ .join(" | ");
16
+ }
17
+ else if (isGbnfJsonObjectSchema(schema)) {
18
+ return Object.entries(schema.properties)
19
+ .map(([propName, propSchema]) => {
20
+ const escapedValue = JSON.stringify(propName) ?? "";
21
+ const keyText = escapedValue.slice(1, -1) === propName ? propName : escapedValue;
22
+ const valueType = getTypeScriptTypeStringForGbnfJsonSchema(propSchema);
23
+ if (keyText === "" || valueType === "")
24
+ return "";
25
+ return keyText + ": " + valueType;
26
+ })
27
+ .filter((item) => item !== "")
28
+ .join(", ");
29
+ }
30
+ else if (isGbnfJsonArraySchema(schema)) {
31
+ const valuesType = getTypeScriptTypeStringForGbnfJsonSchema(schema.items);
32
+ if (valuesType === "")
33
+ return "[]";
34
+ return "(" + valuesType + ")[]";
35
+ }
36
+ const types = [];
37
+ if (isGbnfJsonBasicSchemaIncludesType(schema, "string"))
38
+ types.push("string");
39
+ if (isGbnfJsonBasicSchemaIncludesType(schema, "number"))
40
+ types.push("number");
41
+ if (isGbnfJsonBasicSchemaIncludesType(schema, "integer"))
42
+ types.push("bigint");
43
+ if (isGbnfJsonBasicSchemaIncludesType(schema, "boolean"))
44
+ types.push("boolean");
45
+ if (isGbnfJsonBasicSchemaIncludesType(schema, "null"))
46
+ types.push("null");
47
+ return types.join(" | ");
48
+ }
49
+ //# sourceMappingURL=getTypeScriptTypeStringForGbnfJsonSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTypeScriptTypeStringForGbnfJsonSchema.js","sourceRoot":"","sources":["../../src/utils/getTypeScriptTypeStringForGbnfJsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EACa,qBAAqB,EAAE,iCAAiC,EAAE,qBAAqB,EAC/F,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EACtE,MAAM,qBAAqB,CAAC;AAE7B,MAAM,UAAU,wCAAwC,CAAC,MAAsB;IAC3E,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK;aACtB,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,wCAAwC,CAAC,SAAS,CAAC,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC7B;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;KAC7C;SAAM,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;QACrC,OAAO,MAAM,CAAC,IAAI;aACb,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;aAC7B,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;SAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE;QACvC,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpD,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACjF,MAAM,SAAS,GAAG,wCAAwC,CAAC,UAAU,CAAC,CAAC;YAEvE,IAAI,OAAO,KAAK,EAAE,IAAI,SAAS,KAAK,EAAE;gBAClC,OAAO,EAAE,CAAC;YAEd,OAAO,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;QACtC,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;aAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;KACnB;SAAM,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE;QACtC,MAAM,UAAU,GAAG,wCAAwC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE1E,IAAI,UAAU,KAAK,EAAE;YACjB,OAAO,IAAI,CAAC;QAEhB,OAAO,GAAG,GAAG,UAAU,GAAG,KAAK,CAAC;KACnC;IAED,MAAM,KAAK,GAA4D,EAAE,CAAC;IAE1E,IAAI,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,iCAAiC,CAAC,MAAM,EAAE,QAAQ,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEzB,IAAI,iCAAiC,CAAC,MAAM,EAAE,SAAS,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAE1B,IAAI,iCAAiC,CAAC,MAAM,EAAE,MAAM,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEvB,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import fs from "fs-extra";
2
2
  import simpleGit from "simple-git";
3
- import { currentReleaseGitBundlePath, defaultLlamaCppGitHubRepo, llamaCppDirectory } from "../config.js";
4
- import { getBinariesGithubRelease } from "./binariesGithubRelease.js";
3
+ import { currentReleaseGitBundlePath, builtinLlamaCppGitHubRepo, llamaCppDirectory } from "../config.js";
4
+ import { getBinariesGithubRelease } from "../bindings/utils/binariesGithubRelease.js";
5
+ import { isGithubReleaseNeedsResolving } from "./resolveGithubRelease.js";
5
6
  export async function unshallowAndSquashCurrentRepoAndSaveItAsReleaseBundle() {
6
7
  if (!(await fs.pathExists(llamaCppDirectory)))
7
8
  throw new Error("llama.cpp directory does not exist");
@@ -39,11 +40,11 @@ export async function unshallowAndSquashCurrentRepoAndSaveItAsReleaseBundle() {
39
40
  await simpleGit(llamaCppDirectory).raw(["bundle", "create", currentReleaseGitBundlePath, "HEAD"]);
40
41
  }
41
42
  export async function getGitBundlePathForRelease(githubOwner, githubRepo, release) {
42
- const [defaultGithubOwner, defaultGithubRepo] = defaultLlamaCppGitHubRepo.split("/");
43
- if (githubOwner !== defaultGithubOwner || githubRepo !== defaultGithubRepo)
43
+ const [builtinGithubOwner, builtinGithubRepo] = builtinLlamaCppGitHubRepo.split("/");
44
+ if (githubOwner !== builtinGithubOwner || githubRepo !== builtinGithubRepo)
44
45
  return null;
45
46
  const currentBundleRelease = await getBinariesGithubRelease();
46
- if (currentBundleRelease === "latest")
47
+ if (isGithubReleaseNeedsResolving(currentBundleRelease))
47
48
  return null;
48
49
  if (currentBundleRelease !== release)
49
50
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"gitReleaseBundles.js","sourceRoot":"","sources":["../../src/utils/gitReleaseBundles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitReleaseBundles.js","sourceRoot":"","sources":["../../src/utils/gitReleaseBundles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function hashString(text: string): Promise<string>;