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

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 (312) hide show
  1. package/README.md +1 -1
  2. package/dist/ChatWrapper.js +4 -0
  3. package/dist/ChatWrapper.js.map +1 -1
  4. package/dist/bindings/AddonTypes.d.ts +21 -0
  5. package/dist/bindings/Llama.d.ts +4 -0
  6. package/dist/bindings/Llama.js +45 -4
  7. package/dist/bindings/Llama.js.map +1 -1
  8. package/dist/bindings/getLlama.d.ts +19 -1
  9. package/dist/bindings/getLlama.js +15 -5
  10. package/dist/bindings/getLlama.js.map +1 -1
  11. package/dist/bindings/types.d.ts +15 -0
  12. package/dist/bindings/types.js +27 -2
  13. package/dist/bindings/types.js.map +1 -1
  14. package/dist/bindings/utils/MemoryOrchestrator.d.ts +21 -0
  15. package/dist/bindings/utils/MemoryOrchestrator.js +49 -0
  16. package/dist/bindings/utils/MemoryOrchestrator.js.map +1 -0
  17. package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +1 -1
  18. package/dist/bindings/utils/cloneLlamaCppRepo.js +3 -2
  19. package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -1
  20. package/dist/bindings/utils/compileLLamaCpp.js +2 -2
  21. package/dist/bindings/utils/compileLLamaCpp.js.map +1 -1
  22. package/dist/bindings/utils/getLlamaWithoutBackend.d.ts +5 -0
  23. package/dist/bindings/utils/getLlamaWithoutBackend.js +27 -0
  24. package/dist/bindings/utils/getLlamaWithoutBackend.js.map +1 -0
  25. package/dist/bindings/utils/resolveCustomCmakeOptions.js +2 -2
  26. package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -1
  27. package/dist/chatWrappers/AlpacaChatWrapper.d.ts +2 -1
  28. package/dist/chatWrappers/AlpacaChatWrapper.js +9 -2
  29. package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -1
  30. package/dist/chatWrappers/ChatMLChatWrapper.js +12 -10
  31. package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -1
  32. package/dist/chatWrappers/FalconChatWrapper.d.ts +2 -1
  33. package/dist/chatWrappers/FalconChatWrapper.js +28 -11
  34. package/dist/chatWrappers/FalconChatWrapper.js.map +1 -1
  35. package/dist/chatWrappers/FunctionaryChatWrapper.js +59 -45
  36. package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -1
  37. package/dist/chatWrappers/GemmaChatWrapper.js +9 -7
  38. package/dist/chatWrappers/GemmaChatWrapper.js.map +1 -1
  39. package/dist/chatWrappers/GeneralChatWrapper.d.ts +2 -1
  40. package/dist/chatWrappers/GeneralChatWrapper.js +35 -12
  41. package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -1
  42. package/dist/chatWrappers/LlamaChatWrapper.d.ts +7 -0
  43. package/dist/chatWrappers/LlamaChatWrapper.js +26 -8
  44. package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -1
  45. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.d.ts +73 -0
  46. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js +355 -0
  47. package/dist/chatWrappers/generic/JinjaTemplateChatWrapper.js.map +1 -0
  48. package/dist/{TemplateChatWrapper.d.ts → chatWrappers/generic/TemplateChatWrapper.d.ts} +6 -9
  49. package/dist/{TemplateChatWrapper.js → chatWrappers/generic/TemplateChatWrapper.js} +31 -69
  50. package/dist/chatWrappers/generic/TemplateChatWrapper.js.map +1 -0
  51. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.d.ts +33 -0
  52. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js +45 -0
  53. package/dist/chatWrappers/generic/utils/chatHistoryFunctionCallMessageTemplate.js.map +1 -0
  54. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.d.ts +4 -0
  55. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js +206 -0
  56. package/dist/chatWrappers/utils/isJinjaTemplateEquivalentToSpecializedChatWrapper.js.map +1 -0
  57. package/dist/chatWrappers/utils/resolveChatWrapper.d.ts +67 -0
  58. package/dist/chatWrappers/utils/resolveChatWrapper.js +206 -0
  59. package/dist/chatWrappers/utils/resolveChatWrapper.js.map +1 -0
  60. package/dist/cli/cli.js +1 -1
  61. package/dist/cli/cli.js.map +1 -1
  62. package/dist/cli/commands/ChatCommand.d.ts +7 -4
  63. package/dist/cli/commands/ChatCommand.js +150 -60
  64. package/dist/cli/commands/ChatCommand.js.map +1 -1
  65. package/dist/cli/commands/ClearCommand.d.ts +1 -1
  66. package/dist/cli/commands/ClearCommand.js +5 -5
  67. package/dist/cli/commands/ClearCommand.js.map +1 -1
  68. package/dist/cli/commands/CompleteCommand.d.ts +3 -2
  69. package/dist/cli/commands/CompleteCommand.js +88 -41
  70. package/dist/cli/commands/CompleteCommand.js.map +1 -1
  71. package/dist/cli/commands/InfillCommand.d.ts +3 -2
  72. package/dist/cli/commands/InfillCommand.js +88 -41
  73. package/dist/cli/commands/InfillCommand.js.map +1 -1
  74. package/dist/cli/commands/{InspectCommand.d.ts → inspect/InspectCommand.d.ts} +1 -4
  75. package/dist/cli/commands/inspect/InspectCommand.js +17 -0
  76. package/dist/cli/commands/inspect/InspectCommand.js.map +1 -0
  77. package/dist/cli/commands/inspect/commands/InspectGgufCommand.d.ts +10 -0
  78. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js +108 -0
  79. package/dist/cli/commands/inspect/commands/InspectGgufCommand.js.map +1 -0
  80. package/dist/cli/commands/inspect/commands/InspectGpuCommand.d.ts +4 -0
  81. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js +98 -0
  82. package/dist/cli/commands/inspect/commands/InspectGpuCommand.js.map +1 -0
  83. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.d.ts +14 -0
  84. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js +577 -0
  85. package/dist/cli/commands/inspect/commands/InspectMeasureCommand.js.map +1 -0
  86. package/dist/cli/utils/ConsoleTable.d.ts +23 -0
  87. package/dist/cli/utils/ConsoleTable.js +86 -0
  88. package/dist/cli/utils/ConsoleTable.js.map +1 -0
  89. package/dist/cli/utils/printCommonInfoLines.d.ts +9 -0
  90. package/dist/cli/utils/printCommonInfoLines.js +70 -0
  91. package/dist/cli/utils/printCommonInfoLines.js.map +1 -0
  92. package/dist/cli/utils/printInfoLine.d.ts +10 -0
  93. package/dist/cli/utils/printInfoLine.js +45 -0
  94. package/dist/cli/utils/printInfoLine.js.map +1 -0
  95. package/dist/cli/utils/resolveCommandGgufPath.d.ts +1 -0
  96. package/dist/cli/utils/resolveCommandGgufPath.js +6 -0
  97. package/dist/cli/utils/resolveCommandGgufPath.js.map +1 -0
  98. package/dist/config.d.ts +2 -0
  99. package/dist/config.js +6 -0
  100. package/dist/config.js.map +1 -1
  101. package/dist/evaluator/LlamaChat/LlamaChat.js +13 -5
  102. package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -1
  103. package/dist/evaluator/LlamaCompletion.js +5 -3
  104. package/dist/evaluator/LlamaCompletion.js.map +1 -1
  105. package/dist/evaluator/LlamaContext/LlamaContext.d.ts +40 -3
  106. package/dist/evaluator/LlamaContext/LlamaContext.js +245 -100
  107. package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -1
  108. package/dist/evaluator/LlamaContext/types.d.ts +57 -6
  109. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/firstInFirstOutStrategy.js.map +1 -0
  110. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizationStrategies/maximumParallelismStrategy.js.map +1 -0
  111. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.d.ts +2 -0
  112. package/dist/evaluator/LlamaContext/utils/{resolveBatchItemsPrioritizingStrategy.js → resolveBatchItemsPrioritizationStrategy.js} +4 -4
  113. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizationStrategy.js.map +1 -0
  114. package/dist/evaluator/LlamaEmbeddingContext.d.ts +23 -2
  115. package/dist/evaluator/LlamaEmbeddingContext.js +4 -5
  116. package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -1
  117. package/dist/evaluator/LlamaModel.d.ts +64 -6
  118. package/dist/evaluator/LlamaModel.js +297 -8
  119. package/dist/evaluator/LlamaModel.js.map +1 -1
  120. package/dist/evaluator/TokenMeter.d.ts +54 -0
  121. package/dist/evaluator/TokenMeter.js +86 -0
  122. package/dist/evaluator/TokenMeter.js.map +1 -0
  123. package/dist/gguf/GgufInsights.d.ts +40 -0
  124. package/dist/gguf/GgufInsights.js +350 -0
  125. package/dist/gguf/GgufInsights.js.map +1 -0
  126. package/dist/gguf/consts.d.ts +3 -0
  127. package/dist/gguf/consts.js +8 -0
  128. package/dist/gguf/consts.js.map +1 -0
  129. package/dist/gguf/errors/InvalidGgufMagicError.d.ts +3 -0
  130. package/dist/gguf/errors/InvalidGgufMagicError.js +6 -0
  131. package/dist/gguf/errors/InvalidGgufMagicError.js.map +1 -0
  132. package/dist/gguf/errors/UnsupportedGgufValueTypeError.d.ts +4 -0
  133. package/dist/gguf/errors/UnsupportedGgufValueTypeError.js +9 -0
  134. package/dist/gguf/errors/UnsupportedGgufValueTypeError.js.map +1 -0
  135. package/dist/gguf/fileReaders/GgufFileReader.d.ts +33 -0
  136. package/dist/gguf/fileReaders/GgufFileReader.js +76 -0
  137. package/dist/gguf/fileReaders/GgufFileReader.js.map +1 -0
  138. package/dist/gguf/fileReaders/GgufFsFileReader.d.ts +17 -0
  139. package/dist/gguf/fileReaders/GgufFsFileReader.js +45 -0
  140. package/dist/gguf/fileReaders/GgufFsFileReader.js.map +1 -0
  141. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.d.ts +22 -0
  142. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js +63 -0
  143. package/dist/gguf/fileReaders/GgufNetworkFetchFileReader.js.map +1 -0
  144. package/dist/gguf/parser/GgufV2Parser.d.ts +19 -0
  145. package/dist/gguf/parser/GgufV2Parser.js +115 -0
  146. package/dist/gguf/parser/GgufV2Parser.js.map +1 -0
  147. package/dist/gguf/parser/GgufV3Parser.d.ts +3 -0
  148. package/dist/gguf/parser/GgufV3Parser.js +4 -0
  149. package/dist/gguf/parser/GgufV3Parser.js.map +1 -0
  150. package/dist/gguf/parser/parseGguf.d.ts +8 -0
  151. package/dist/gguf/parser/parseGguf.js +58 -0
  152. package/dist/gguf/parser/parseGguf.js.map +1 -0
  153. package/dist/gguf/readGgufFileInfo.d.ts +30 -0
  154. package/dist/gguf/readGgufFileInfo.js +37 -0
  155. package/dist/gguf/readGgufFileInfo.js.map +1 -0
  156. package/dist/gguf/types/GgufFileInfoTypes.d.ts +52 -0
  157. package/dist/gguf/types/GgufFileInfoTypes.js +18 -0
  158. package/dist/gguf/types/GgufFileInfoTypes.js.map +1 -0
  159. package/dist/gguf/types/GgufMetadataTypes.d.ts +330 -0
  160. package/dist/gguf/types/GgufMetadataTypes.js +86 -0
  161. package/dist/gguf/types/GgufMetadataTypes.js.map +1 -0
  162. package/dist/gguf/types/GgufTensorInfoTypes.d.ts +37 -0
  163. package/dist/gguf/types/GgufTensorInfoTypes.js +33 -0
  164. package/dist/gguf/types/GgufTensorInfoTypes.js.map +1 -0
  165. package/dist/gguf/utils/GgufReadOffset.d.ts +6 -0
  166. package/dist/gguf/utils/GgufReadOffset.js +18 -0
  167. package/dist/gguf/utils/GgufReadOffset.js.map +1 -0
  168. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.d.ts +5 -0
  169. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js +38 -0
  170. package/dist/gguf/utils/convertMetadataKeyValueRecordToNestedObject.js.map +1 -0
  171. package/dist/gguf/utils/getGgufFileTypeName.d.ts +4 -0
  172. package/dist/gguf/utils/getGgufFileTypeName.js +13 -0
  173. package/dist/gguf/utils/getGgufFileTypeName.js.map +1 -0
  174. package/dist/gguf/utils/getGgufMetadataArchitectureData.d.ts +3 -0
  175. package/dist/gguf/utils/getGgufMetadataArchitectureData.js +4 -0
  176. package/dist/gguf/utils/getGgufMetadataArchitectureData.js.map +1 -0
  177. package/dist/gguf/utils/normalizeGgufDownloadUrl.d.ts +1 -0
  178. package/dist/gguf/utils/normalizeGgufDownloadUrl.js +16 -0
  179. package/dist/gguf/utils/normalizeGgufDownloadUrl.js.map +1 -0
  180. package/dist/index.d.ts +13 -7
  181. package/dist/index.js +11 -6
  182. package/dist/index.js.map +1 -1
  183. package/dist/types.d.ts +1 -1
  184. package/dist/utils/InsufficientMemoryError.d.ts +3 -0
  185. package/dist/utils/InsufficientMemoryError.js +6 -0
  186. package/dist/utils/InsufficientMemoryError.js.map +1 -0
  187. package/dist/utils/LlamaText.d.ts +25 -10
  188. package/dist/utils/LlamaText.js +205 -23
  189. package/dist/utils/LlamaText.js.map +1 -1
  190. package/dist/utils/StopGenerationDetector.js +3 -1
  191. package/dist/utils/StopGenerationDetector.js.map +1 -1
  192. package/dist/utils/findBestOption.d.ts +4 -0
  193. package/dist/utils/findBestOption.js +15 -0
  194. package/dist/utils/findBestOption.js.map +1 -0
  195. package/dist/utils/getQueuedTokensBeforeStopTrigger.js +3 -3
  196. package/dist/utils/getQueuedTokensBeforeStopTrigger.js.map +1 -1
  197. package/dist/utils/gitReleaseBundles.js +68 -1
  198. package/dist/utils/gitReleaseBundles.js.map +1 -1
  199. package/dist/utils/mergeUnionTypes.d.ts +4 -0
  200. package/dist/utils/parseModelFileName.d.ts +1 -0
  201. package/dist/utils/parseModelFileName.js +6 -1
  202. package/dist/utils/parseModelFileName.js.map +1 -1
  203. package/dist/utils/prettyPrintObject.d.ts +10 -1
  204. package/dist/utils/prettyPrintObject.js +57 -13
  205. package/dist/utils/prettyPrintObject.js.map +1 -1
  206. package/dist/utils/spawnCommand.js.map +1 -1
  207. package/dist/utils/tokenizeInput.d.ts +1 -1
  208. package/dist/utils/tokenizeInput.js +3 -3
  209. package/dist/utils/tokenizeInput.js.map +1 -1
  210. package/dist/utils/withOra.d.ts +1 -0
  211. package/dist/utils/withOra.js +2 -2
  212. package/dist/utils/withOra.js.map +1 -1
  213. package/llama/CMakeLists.txt +5 -5
  214. package/llama/addon.cpp +117 -5
  215. package/llama/binariesGithubRelease.json +1 -1
  216. package/llama/gitRelease.bundle +0 -0
  217. package/llama/gpuInfo/cuda-gpu-info.cu +21 -0
  218. package/llama/gpuInfo/cuda-gpu-info.h +3 -0
  219. package/llama/gpuInfo/metal-gpu-info.h +4 -1
  220. package/llama/gpuInfo/metal-gpu-info.mm +14 -1
  221. package/llama/gpuInfo/vulkan-gpu-info.cpp +20 -2
  222. package/llama/gpuInfo/vulkan-gpu-info.h +2 -0
  223. package/llama/llama.cpp.info.json +1 -1
  224. package/llama/toolchains/win32.host-x64.target-arm64.cmake +41 -0
  225. package/llamaBins/linux-arm64/_nlcBuildMetadata.json +1 -1
  226. package/llamaBins/linux-arm64/llama-addon.node +0 -0
  227. package/llamaBins/linux-armv7l/_nlcBuildMetadata.json +1 -1
  228. package/llamaBins/linux-armv7l/llama-addon.node +0 -0
  229. package/llamaBins/linux-x64/_nlcBuildMetadata.json +1 -1
  230. package/llamaBins/linux-x64/llama-addon.node +0 -0
  231. package/llamaBins/linux-x64-cuda/_nlcBuildMetadata.json +1 -1
  232. package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
  233. package/llamaBins/linux-x64-vulkan/_nlcBuildMetadata.json +1 -1
  234. package/llamaBins/linux-x64-vulkan/llama-addon.node +0 -0
  235. package/llamaBins/mac-arm64-metal/_nlcBuildMetadata.json +1 -1
  236. package/llamaBins/mac-arm64-metal/default.metallib +0 -0
  237. package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
  238. package/llamaBins/mac-x64/_nlcBuildMetadata.json +1 -1
  239. package/llamaBins/mac-x64/llama-addon.node +0 -0
  240. package/llamaBins/win-arm64/_nlcBuildMetadata.json +1 -0
  241. package/llamaBins/win-arm64/llama-addon.exp +0 -0
  242. package/llamaBins/win-arm64/llama-addon.lib +0 -0
  243. package/llamaBins/win-arm64/llama-addon.node +0 -0
  244. package/llamaBins/win-x64/_nlcBuildMetadata.json +1 -1
  245. package/llamaBins/win-x64/llama-addon.node +0 -0
  246. package/llamaBins/win-x64-cuda/_nlcBuildMetadata.json +1 -1
  247. package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
  248. package/llamaBins/win-x64-vulkan/_nlcBuildMetadata.json +1 -1
  249. package/llamaBins/win-x64-vulkan/llama-addon.node +0 -0
  250. package/package.json +8 -6
  251. package/dist/TemplateChatWrapper.js.map +0 -1
  252. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +0 -33
  253. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +0 -49
  254. package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +0 -1
  255. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +0 -13
  256. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +0 -63
  257. package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +0 -1
  258. package/dist/cli/commands/InspectCommand.js +0 -113
  259. package/dist/cli/commands/InspectCommand.js.map +0 -1
  260. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +0 -1
  261. package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +0 -1
  262. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +0 -2
  263. package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +0 -1
  264. package/dist/gguf/GGUFInsights.d.ts +0 -28
  265. package/dist/gguf/GGUFInsights.js +0 -58
  266. package/dist/gguf/GGUFInsights.js.map +0 -1
  267. package/dist/gguf/GGUFMetadata.d.ts +0 -19
  268. package/dist/gguf/GGUFMetadata.js +0 -38
  269. package/dist/gguf/GGUFMetadata.js.map +0 -1
  270. package/dist/gguf/errors/InvalidGGUFMagicError.d.ts +0 -3
  271. package/dist/gguf/errors/InvalidGGUFMagicError.js +0 -6
  272. package/dist/gguf/errors/InvalidGGUFMagicError.js.map +0 -1
  273. package/dist/gguf/errors/MetadataNotParsedYetError.d.ts +0 -3
  274. package/dist/gguf/errors/MetadataNotParsedYetError.js +0 -6
  275. package/dist/gguf/errors/MetadataNotParsedYetError.js.map +0 -1
  276. package/dist/gguf/errors/MissingNodeLlamaError.d.ts +0 -3
  277. package/dist/gguf/errors/MissingNodeLlamaError.js +0 -6
  278. package/dist/gguf/errors/MissingNodeLlamaError.js.map +0 -1
  279. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.d.ts +0 -5
  280. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js +0 -11
  281. package/dist/gguf/errors/ModelScore/NotEnoughVRamError.js.map +0 -1
  282. package/dist/gguf/errors/UnsupportedMetadataTypeError.d.ts +0 -4
  283. package/dist/gguf/errors/UnsupportedMetadataTypeError.js +0 -8
  284. package/dist/gguf/errors/UnsupportedMetadataTypeError.js.map +0 -1
  285. package/dist/gguf/ggufParser/GGUFParser.d.ts +0 -18
  286. package/dist/gguf/ggufParser/GGUFParser.js +0 -123
  287. package/dist/gguf/ggufParser/GGUFParser.js.map +0 -1
  288. package/dist/gguf/ggufParser/GGUFTypes.d.ts +0 -257
  289. package/dist/gguf/ggufParser/GGUFTypes.js +0 -2
  290. package/dist/gguf/ggufParser/GGUFTypes.js.map +0 -1
  291. package/dist/gguf/ggufParser/checkArchitecture.d.ts +0 -14
  292. package/dist/gguf/ggufParser/checkArchitecture.js +0 -74
  293. package/dist/gguf/ggufParser/checkArchitecture.js.map +0 -1
  294. package/dist/gguf/ggufParser/stream/GGUFBaseStream.d.ts +0 -38
  295. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js +0 -83
  296. package/dist/gguf/ggufParser/stream/GGUFBaseStream.js.map +0 -1
  297. package/dist/gguf/ggufParser/stream/GGUFFetchStream.d.ts +0 -14
  298. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js +0 -35
  299. package/dist/gguf/ggufParser/stream/GGUFFetchStream.js.map +0 -1
  300. package/dist/gguf/ggufParser/stream/GGUFReadStream.d.ts +0 -15
  301. package/dist/gguf/ggufParser/stream/GGUFReadStream.js +0 -40
  302. package/dist/gguf/ggufParser/stream/GGUFReadStream.js.map +0 -1
  303. package/dist/utils/parseModelTypeDescription.d.ts +0 -6
  304. package/dist/utils/parseModelTypeDescription.js +0 -9
  305. package/dist/utils/parseModelTypeDescription.js.map +0 -1
  306. package/dist/utils/resolveChatWrapper.d.ts +0 -4
  307. package/dist/utils/resolveChatWrapper.js +0 -16
  308. package/dist/utils/resolveChatWrapper.js.map +0 -1
  309. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.d.ts +0 -0
  310. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/firstInFirstOutStrategy.js +0 -0
  311. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.d.ts +0 -0
  312. /package/dist/evaluator/LlamaContext/utils/{batchItemsPrioritizingStrategies → batchItemsPrioritizationStrategies}/maximumParallelismStrategy.js +0 -0
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { DisposedError } from "lifecycle-utils";
2
2
  import { Llama } from "./bindings/Llama.js";
3
3
  import { getLlama, LlamaOptions } from "./bindings/getLlama.js";
4
4
  import { NoBinaryFoundError } from "./bindings/utils/NoBinaryFoundError.js";
5
- import { LlamaLogLevel } from "./bindings/types.js";
5
+ import { LlamaLogLevel, LlamaLogLevelGreaterThan, LlamaLogLevelGreaterThanOrEqual, LlamaVocabularyType } from "./bindings/types.js";
6
6
  import { LlamaModel, LlamaModelInfillTokens, type LlamaModelOptions, LlamaModelTokens } from "./evaluator/LlamaModel.js";
7
7
  import { LlamaGrammar, type LlamaGrammarOptions } from "./evaluator/LlamaGrammar.js";
8
8
  import { LlamaJsonSchemaGrammar } from "./evaluator/LlamaJsonSchemaGrammar.js";
@@ -10,12 +10,14 @@ import { LlamaJsonSchemaValidationError } from "./utils/gbnfJson/utils/validateO
10
10
  import { LlamaGrammarEvaluationState, LlamaGrammarEvaluationStateOptions } from "./evaluator/LlamaGrammarEvaluationState.js";
11
11
  import { LlamaContext, LlamaContextSequence } from "./evaluator/LlamaContext/LlamaContext.js";
12
12
  import { LlamaEmbeddingContext, type LlamaEmbeddingContextOptions, LlamaEmbedding, type LlamaEmbeddingJSON } from "./evaluator/LlamaEmbeddingContext.js";
13
- import { type LlamaContextOptions, type BatchingOptions, type LlamaContextSequenceRepeatPenalty, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority } from "./evaluator/LlamaContext/types.js";
13
+ import { type LlamaContextOptions, type BatchingOptions, type LlamaContextSequenceRepeatPenalty, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizationStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority } from "./evaluator/LlamaContext/types.js";
14
14
  import { LlamaChatSession, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty } from "./evaluator/LlamaChatSession/LlamaChatSession.js";
15
15
  import { defineChatSessionFunction } from "./evaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
16
16
  import { LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LlamaChatResponse, type LlamaChatResponseFunctionCall } from "./evaluator/LlamaChat/LlamaChat.js";
17
17
  import { LlamaCompletion, type LlamaCompletionOptions, type LlamaCompletionGenerationOptions, type LlamaInfillGenerationOptions } from "./evaluator/LlamaCompletion.js";
18
+ import { TokenMeter, type TokenMeterState } from "./evaluator/TokenMeter.js";
18
19
  import { UnsupportedError } from "./utils/UnsupportedError.js";
20
+ import { InsufficientMemoryError } from "./utils/InsufficientMemoryError.js";
19
21
  import { ChatWrapper, type ChatWrapperSettings } from "./ChatWrapper.js";
20
22
  import { EmptyChatWrapper } from "./chatWrappers/EmptyChatWrapper.js";
21
23
  import { LlamaChatWrapper } from "./chatWrappers/LlamaChatWrapper.js";
@@ -25,12 +27,16 @@ import { FalconChatWrapper } from "./chatWrappers/FalconChatWrapper.js";
25
27
  import { AlpacaChatWrapper } from "./chatWrappers/AlpacaChatWrapper.js";
26
28
  import { FunctionaryChatWrapper } from "./chatWrappers/FunctionaryChatWrapper.js";
27
29
  import { GemmaChatWrapper } from "./chatWrappers/GemmaChatWrapper.js";
28
- import { TemplateChatWrapper, type TemplateChatWrapperOptions } from "./TemplateChatWrapper.js";
29
- import { resolveChatWrapperBasedOnModel } from "./chatWrappers/resolveChatWrapperBasedOnModel.js";
30
- import { resolveChatWrapperBasedOnWrapperTypeName, chatWrapperTypeNames, type ChatWrapperTypeName } from "./bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js";
31
- import { LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokenJSON } from "./utils/LlamaText.js";
30
+ import { TemplateChatWrapper, type TemplateChatWrapperOptions } from "./chatWrappers/generic/TemplateChatWrapper.js";
31
+ import { JinjaTemplateChatWrapper, type JinjaTemplateChatWrapperOptions } from "./chatWrappers/generic/JinjaTemplateChatWrapper.js";
32
+ import { resolvableChatWrapperTypeNames, type ResolvableChatWrapperTypeName, specializedChatWrapperTypeNames, type SpecializedChatWrapperTypeName, templateChatWrapperTypeNames, type TemplateChatWrapperTypeName, resolveChatWrapper, type ResolveChatWrapperOptions } from "./chatWrappers/utils/resolveChatWrapper.js";
33
+ import { LlamaText, SpecialTokensText, SpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokensTextJSON, type LlamaTextSpecialTokenJSON } from "./utils/LlamaText.js";
32
34
  import { appendUserMessageToChatHistory } from "./utils/appendUserMessageToChatHistory.js";
33
35
  import { getModuleVersion } from "./utils/getModuleVersion.js";
36
+ import { readGgufFileInfo } from "./gguf/readGgufFileInfo.js";
34
37
  import { type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall, type LLamaContextualRepeatPenalty } from "./types.js";
35
38
  import { type GbnfJsonArraySchema, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonObjectSchema, type GbnfJsonOneOfSchema, type GbnfJsonSchema, type GbnfJsonSchemaImmutableType, type GbnfJsonSchemaToType } from "./utils/gbnfJson/types.js";
36
- export { Llama, getLlama, type LlamaOptions, LlamaLogLevel, NoBinaryFoundError, LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, type LlamaGrammarEvaluationStateOptions, LlamaContext, LlamaContextSequence, type LlamaContextOptions, type BatchingOptions, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizeStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority, type LlamaContextSequenceRepeatPenalty, LlamaEmbeddingContext, type LlamaEmbeddingContextOptions, LlamaEmbedding, type LlamaEmbeddingJSON, LlamaChatSession, defineChatSessionFunction, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty, LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LLamaContextualRepeatPenalty, type LlamaChatResponse, type LlamaChatResponseFunctionCall, LlamaCompletion, type LlamaCompletionOptions, type LlamaCompletionGenerationOptions, type LlamaInfillGenerationOptions, UnsupportedError, DisposedError, ChatWrapper, type ChatWrapperSettings, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, GemmaChatWrapper, TemplateChatWrapper, type TemplateChatWrapperOptions, resolveChatWrapperBasedOnModel, resolveChatWrapperBasedOnWrapperTypeName, chatWrapperTypeNames, type ChatWrapperTypeName, LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokenJSON, appendUserMessageToChatHistory, getModuleVersion, type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall, type GbnfJsonSchema, type GbnfJsonSchemaToType, type GbnfJsonSchemaImmutableType, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonOneOfSchema, type GbnfJsonObjectSchema, type GbnfJsonArraySchema };
39
+ import { type GgufFileInfo } from "./gguf/types/GgufFileInfoTypes.js";
40
+ import { type GgufMetadata, type GgufMetadataLlmToType, GgufArchitectureType, GgufFileType, GgufMetadataTokenizerTokenType, GgufMetadataArchitecturePoolingType, type GgufMetadataGeneral, type GgufMetadataTokenizer, type GgufMetadataDefaultArchitectureType, type GgufMetadataLlmLLaMA, type GgufMetadataMPT, type GgufMetadataGPTNeoX, type GgufMetadataGPTJ, type GgufMetadataGPT2, type GgufMetadataBloom, type GgufMetadataFalcon, type GgufMetadataMamba, type GgufMetadataRWKV, isGgufMetadataOfArchitectureType } from "./gguf/types/GgufMetadataTypes.js";
41
+ import { GgmlType, type GgufTensorInfo } from "./gguf/types/GgufTensorInfoTypes.js";
42
+ export { Llama, getLlama, type LlamaOptions, LlamaLogLevel, NoBinaryFoundError, LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, type LlamaModelOptions, LlamaGrammar, type LlamaGrammarOptions, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, type LlamaGrammarEvaluationStateOptions, LlamaContext, LlamaContextSequence, type LlamaContextOptions, type BatchingOptions, type CustomBatchingDispatchSchedule, type CustomBatchingPrioritizationStrategy, type BatchItem, type PrioritizedBatchItem, type ContextShiftOptions, type ContextTokensDeleteRange, type EvaluationPriority, type LlamaContextSequenceRepeatPenalty, LlamaEmbeddingContext, type LlamaEmbeddingContextOptions, LlamaEmbedding, type LlamaEmbeddingJSON, LlamaChatSession, defineChatSessionFunction, type LlamaChatSessionOptions, type LlamaChatSessionContextShiftOptions, type LLamaChatPromptOptions, type LlamaChatSessionRepeatPenalty, LlamaChat, type LlamaChatOptions, type LLamaChatGenerateResponseOptions, type LLamaChatContextShiftOptions, type LLamaContextualRepeatPenalty, type LlamaChatResponse, type LlamaChatResponseFunctionCall, LlamaCompletion, type LlamaCompletionOptions, type LlamaCompletionGenerationOptions, type LlamaInfillGenerationOptions, TokenMeter, type TokenMeterState, UnsupportedError, InsufficientMemoryError, DisposedError, ChatWrapper, type ChatWrapperSettings, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, GemmaChatWrapper, TemplateChatWrapper, type TemplateChatWrapperOptions, JinjaTemplateChatWrapper, type JinjaTemplateChatWrapperOptions, resolveChatWrapper, type ResolveChatWrapperOptions, resolvableChatWrapperTypeNames, type ResolvableChatWrapperTypeName, specializedChatWrapperTypeNames, type SpecializedChatWrapperTypeName, templateChatWrapperTypeNames, type TemplateChatWrapperTypeName, LlamaText, SpecialTokensText, SpecialToken, isLlamaText, tokenizeText, type LlamaTextJSON, type LlamaTextJSONValue, type LlamaTextSpecialTokensTextJSON, type LlamaTextSpecialTokenJSON, appendUserMessageToChatHistory, getModuleVersion, type ChatHistoryItem, type ChatModelFunctionCall, type ChatModelFunctions, type ChatModelResponse, type ChatSessionModelFunction, type ChatSessionModelFunctions, type ChatSystemMessage, type ChatUserMessage, type Token, isChatModelResponseFunctionCall, type GbnfJsonSchema, type GbnfJsonSchemaToType, type GbnfJsonSchemaImmutableType, type GbnfJsonBasicSchema, type GbnfJsonConstSchema, type GbnfJsonEnumSchema, type GbnfJsonOneOfSchema, type GbnfJsonObjectSchema, type GbnfJsonArraySchema, LlamaVocabularyType, LlamaLogLevelGreaterThan, LlamaLogLevelGreaterThanOrEqual, readGgufFileInfo, type GgufFileInfo, type GgufMetadata, type GgufTensorInfo, type GgufMetadataLlmToType, GgufArchitectureType, GgufFileType, GgufMetadataTokenizerTokenType, GgufMetadataArchitecturePoolingType, type GgufMetadataGeneral, type GgufMetadataTokenizer, type GgufMetadataDefaultArchitectureType, type GgufMetadataLlmLLaMA, type GgufMetadataMPT, type GgufMetadataGPTNeoX, type GgufMetadataGPTJ, type GgufMetadataGPT2, type GgufMetadataBloom, type GgufMetadataFalcon, type GgufMetadataMamba, type GgufMetadataRWKV, GgmlType, isGgufMetadataOfArchitectureType };
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { DisposedError } from "lifecycle-utils";
2
2
  import { Llama } from "./bindings/Llama.js";
3
3
  import { getLlama } from "./bindings/getLlama.js";
4
4
  import { NoBinaryFoundError } from "./bindings/utils/NoBinaryFoundError.js";
5
- import { LlamaLogLevel } from "./bindings/types.js";
5
+ import { LlamaLogLevel, LlamaLogLevelGreaterThan, LlamaLogLevelGreaterThanOrEqual, LlamaVocabularyType } from "./bindings/types.js";
6
6
  import { LlamaModel, LlamaModelInfillTokens, LlamaModelTokens } from "./evaluator/LlamaModel.js";
7
7
  import { LlamaGrammar } from "./evaluator/LlamaGrammar.js";
8
8
  import { LlamaJsonSchemaGrammar } from "./evaluator/LlamaJsonSchemaGrammar.js";
@@ -14,7 +14,9 @@ import { LlamaChatSession } from "./evaluator/LlamaChatSession/LlamaChatSession.
14
14
  import { defineChatSessionFunction } from "./evaluator/LlamaChatSession/utils/defineChatSessionFunction.js";
15
15
  import { LlamaChat } from "./evaluator/LlamaChat/LlamaChat.js";
16
16
  import { LlamaCompletion } from "./evaluator/LlamaCompletion.js";
17
+ import { TokenMeter } from "./evaluator/TokenMeter.js";
17
18
  import { UnsupportedError } from "./utils/UnsupportedError.js";
19
+ import { InsufficientMemoryError } from "./utils/InsufficientMemoryError.js";
18
20
  import { ChatWrapper } from "./ChatWrapper.js";
19
21
  import { EmptyChatWrapper } from "./chatWrappers/EmptyChatWrapper.js";
20
22
  import { LlamaChatWrapper } from "./chatWrappers/LlamaChatWrapper.js";
@@ -24,12 +26,15 @@ import { FalconChatWrapper } from "./chatWrappers/FalconChatWrapper.js";
24
26
  import { AlpacaChatWrapper } from "./chatWrappers/AlpacaChatWrapper.js";
25
27
  import { FunctionaryChatWrapper } from "./chatWrappers/FunctionaryChatWrapper.js";
26
28
  import { GemmaChatWrapper } from "./chatWrappers/GemmaChatWrapper.js";
27
- import { TemplateChatWrapper } from "./TemplateChatWrapper.js";
28
- import { resolveChatWrapperBasedOnModel } from "./chatWrappers/resolveChatWrapperBasedOnModel.js";
29
- import { resolveChatWrapperBasedOnWrapperTypeName, chatWrapperTypeNames } from "./bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js";
30
- import { LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText } from "./utils/LlamaText.js";
29
+ import { TemplateChatWrapper } from "./chatWrappers/generic/TemplateChatWrapper.js";
30
+ import { JinjaTemplateChatWrapper } from "./chatWrappers/generic/JinjaTemplateChatWrapper.js";
31
+ import { resolvableChatWrapperTypeNames, specializedChatWrapperTypeNames, templateChatWrapperTypeNames, resolveChatWrapper } from "./chatWrappers/utils/resolveChatWrapper.js";
32
+ import { LlamaText, SpecialTokensText, SpecialToken, isLlamaText, tokenizeText } from "./utils/LlamaText.js";
31
33
  import { appendUserMessageToChatHistory } from "./utils/appendUserMessageToChatHistory.js";
32
34
  import { getModuleVersion } from "./utils/getModuleVersion.js";
35
+ import { readGgufFileInfo } from "./gguf/readGgufFileInfo.js";
33
36
  import { isChatModelResponseFunctionCall } from "./types.js";
34
- export { Llama, getLlama, LlamaLogLevel, NoBinaryFoundError, LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, LlamaGrammar, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, LlamaContext, LlamaContextSequence, LlamaEmbeddingContext, LlamaEmbedding, LlamaChatSession, defineChatSessionFunction, LlamaChat, LlamaCompletion, UnsupportedError, DisposedError, ChatWrapper, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, GemmaChatWrapper, TemplateChatWrapper, resolveChatWrapperBasedOnModel, resolveChatWrapperBasedOnWrapperTypeName, chatWrapperTypeNames, LlamaText, SpecialToken, BuiltinSpecialToken, isLlamaText, tokenizeText, appendUserMessageToChatHistory, getModuleVersion, isChatModelResponseFunctionCall };
37
+ import { GgufArchitectureType, GgufFileType, GgufMetadataTokenizerTokenType, GgufMetadataArchitecturePoolingType, isGgufMetadataOfArchitectureType } from "./gguf/types/GgufMetadataTypes.js";
38
+ import { GgmlType } from "./gguf/types/GgufTensorInfoTypes.js";
39
+ export { Llama, getLlama, LlamaLogLevel, NoBinaryFoundError, LlamaModel, LlamaModelTokens, LlamaModelInfillTokens, LlamaGrammar, LlamaJsonSchemaGrammar, LlamaJsonSchemaValidationError, LlamaGrammarEvaluationState, LlamaContext, LlamaContextSequence, LlamaEmbeddingContext, LlamaEmbedding, LlamaChatSession, defineChatSessionFunction, LlamaChat, LlamaCompletion, TokenMeter, UnsupportedError, InsufficientMemoryError, DisposedError, ChatWrapper, EmptyChatWrapper, LlamaChatWrapper, GeneralChatWrapper, ChatMLChatWrapper, FalconChatWrapper, AlpacaChatWrapper, FunctionaryChatWrapper, GemmaChatWrapper, TemplateChatWrapper, JinjaTemplateChatWrapper, resolveChatWrapper, resolvableChatWrapperTypeNames, specializedChatWrapperTypeNames, templateChatWrapperTypeNames, LlamaText, SpecialTokensText, SpecialToken, isLlamaText, tokenizeText, appendUserMessageToChatHistory, getModuleVersion, isChatModelResponseFunctionCall, LlamaVocabularyType, LlamaLogLevelGreaterThan, LlamaLogLevelGreaterThanOrEqual, readGgufFileInfo, GgufArchitectureType, GgufFileType, GgufMetadataTokenizerTokenType, GgufMetadataArchitecturePoolingType, GgmlType, isGgufMetadataOfArchitectureType };
35
40
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,QAAQ,EAAe,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAC,kBAAkB,EAAC,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAE,wBAAwB,EAAE,+BAA+B,EAAE,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AAClI,OAAO,EAAC,UAAU,EAAE,sBAAsB,EAA0B,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AACvH,OAAO,EAAC,YAAY,EAA2B,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAC,8BAA8B,EAAC,MAAM,2DAA2D,CAAC;AACzG,OAAO,EAAC,2BAA2B,EAAqC,MAAM,4CAA4C,CAAC;AAC3H,OAAO,EAAC,YAAY,EAAE,oBAAoB,EAAC,MAAM,0CAA0C,CAAC;AAC5F,OAAO,EACH,qBAAqB,EAAqC,cAAc,EAC3E,MAAM,sCAAsC,CAAC;AAM9C,OAAO,EACH,gBAAgB,EAEnB,MAAM,kDAAkD,CAAC;AAC1D,OAAO,EAAC,yBAAyB,EAAC,MAAM,iEAAiE,CAAC;AAC1G,OAAO,EACH,SAAS,EAEZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,eAAe,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,UAAU,EAAuB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,uBAAuB,EAAC,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAC,WAAW,EAA2B,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAC,gBAAgB,EAAC,MAAM,oCAAoC,CAAC;AACpE,OAAO,EAAC,mBAAmB,EAAkC,MAAM,+CAA+C,CAAC;AACnH,OAAO,EAAC,wBAAwB,EAAuC,MAAM,oDAAoD,CAAC;AAClI,OAAO,EACH,8BAA8B,EAAsC,+BAA+B,EAC9D,4BAA4B,EAAoC,kBAAkB,EAE1H,MAAM,4CAA4C,CAAC;AACpD,OAAO,EACH,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAExE,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,8BAA8B,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAGS,+BAA+B,EAC9C,MAAM,YAAY,CAAC;AAMpB,OAAO,EAC4C,oBAAoB,EAAE,YAAY,EAAE,8BAA8B,EACjH,mCAAmC,EAE6D,gCAAgC,EACnI,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAC,QAAQ,EAAsB,MAAM,qCAAqC,CAAC;AAGlF,OAAO,EACH,KAAK,EACL,QAAQ,EAER,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,YAAY,EAEZ,sBAAsB,EACtB,8BAA8B,EAC9B,2BAA2B,EAE3B,YAAY,EACZ,oBAAoB,EAWpB,qBAAqB,EAErB,cAAc,EAEd,gBAAgB,EAChB,yBAAyB,EAKzB,SAAS,EAOT,eAAe,EAIf,UAAU,EAEV,gBAAgB,EAChB,uBAAuB,EACvB,aAAa,EACb,WAAW,EAEX,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,mBAAmB,EAEnB,wBAAwB,EAExB,kBAAkB,EAElB,8BAA8B,EAE9B,+BAA+B,EAE/B,4BAA4B,EAE5B,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,YAAY,EAKZ,8BAA8B,EAC9B,gBAAgB,EAUhB,+BAA+B,EAU/B,mBAAmB,EACnB,wBAAwB,EACxB,+BAA+B,EAC/B,gBAAgB,EAKhB,oBAAoB,EACpB,YAAY,EACZ,8BAA8B,EAC9B,mCAAmC,EAanC,QAAQ,EACR,gCAAgC,EACnC,CAAC"}
package/dist/types.d.ts CHANGED
@@ -4,7 +4,7 @@ export type Token = number & {
4
4
  __token: never;
5
5
  };
6
6
  export type Tokenizer = {
7
- tokenize(text: string, specialTokens?: boolean): Token[];
7
+ tokenize(text: string, specialTokens?: boolean, options?: "trimLeadingSpace"): Token[];
8
8
  tokenize(text: BuiltinSpecialTokenValue, specialTokens: "builtin"): Token[];
9
9
  }["tokenize"];
10
10
  export type ChatHistoryItem = ChatSystemMessage | ChatUserMessage | ChatModelResponse;
@@ -0,0 +1,3 @@
1
+ export declare class InsufficientMemoryError extends Error {
2
+ constructor(message?: string);
3
+ }
@@ -0,0 +1,6 @@
1
+ export class InsufficientMemoryError extends Error {
2
+ constructor(message = "Insufficient memory") {
3
+ super(message);
4
+ }
5
+ }
6
+ //# sourceMappingURL=InsufficientMemoryError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InsufficientMemoryError.js","sourceRoot":"","sources":["../../src/utils/InsufficientMemoryError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,uBAAwB,SAAQ,KAAK;IAC9C,YAAmB,UAAkB,qBAAqB;QACtD,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ"}
@@ -2,6 +2,7 @@ import { Token, Tokenizer } from "../types.js";
2
2
  export type LlamaTextClass = {
3
3
  <const V extends LlamaTextValue = LlamaTextValue, const V2 extends LlamaTextValue = LlamaTextValue>(strings: TemplateStringsArray | V | LlamaText<V> | readonly (LlamaText<V> | V)[], ...values: readonly (V | LlamaText<V> | V2 | LlamaText<V2> | number | boolean | readonly (LlamaText<V> | V | LlamaText<V2> | V2)[])[]): LlamaText<V | V2>;
4
4
  fromJSON(json: LlamaTextJSON): LlamaText;
5
+ compare(a: LlamaText, b: LlamaText): boolean;
5
6
  };
6
7
  export type LlamaText<T extends LlamaTextValue = LlamaTextValue> = {
7
8
  <const V extends LlamaTextValue = LlamaTextValue, const V2 extends LlamaTextValue = LlamaTextValue>(strings: TemplateStringsArray | V | LlamaText | readonly (LlamaText | V)[], ...values: readonly (V | V2 | LlamaText | number | boolean | readonly (LlamaText | V | V2)[])[]): LlamaText<T | V>;
@@ -11,32 +12,46 @@ export type LlamaText<T extends LlamaTextValue = LlamaTextValue> = {
11
12
  joinValues<V extends LlamaTextValue = LlamaTextValue>(separator: LlamaText<V> | V): LlamaText<T | V>;
12
13
  toString(): string;
13
14
  toJSON(): LlamaTextJSON;
14
- tokenize(tokenizer: Tokenizer): Token[];
15
+ tokenize(tokenizer: Tokenizer, options?: "trimLeadingSpace"): Token[];
16
+ compare(other: LlamaText): boolean;
17
+ trimStart(): LlamaText<T>;
18
+ trimEnd(): LlamaText<T>;
19
+ includes(value: LlamaText): boolean;
15
20
  };
16
- export type LlamaTextValue = string | SpecialToken;
21
+ export type LlamaTextValue = string | SpecialTokensText | SpecialToken;
17
22
  export type LlamaTextJSON = Array<LlamaTextJSONValue>;
18
- export type LlamaTextJSONValue = string | LlamaTextSpecialTokenJSON;
23
+ export type LlamaTextJSONValue = string | LlamaTextSpecialTokensTextJSON | LlamaTextSpecialTokenJSON;
24
+ export type LlamaTextSpecialTokensTextJSON = {
25
+ type: "specialTokensText";
26
+ value: string;
27
+ };
19
28
  export type LlamaTextSpecialTokenJSON = {
20
29
  type: "specialToken";
21
30
  value: string;
22
- builtin?: true;
23
31
  };
24
32
  export declare const LlamaText: LlamaTextClass;
25
- export declare class SpecialToken {
33
+ export declare class SpecialTokensText {
26
34
  readonly value: string;
27
35
  constructor(value: string);
28
36
  toString(): string;
29
- tokenize(tokenizer: Tokenizer): Token[];
30
- toJSON(): LlamaTextSpecialTokenJSON;
31
- static fromJSON(json: LlamaTextSpecialTokenJSON): SpecialToken;
32
- static isSpecialTokenJSON(value: LlamaTextJSONValue): value is LlamaTextSpecialTokenJSON;
37
+ tokenize(tokenizer: Tokenizer, trimLeadingSpace?: boolean): Token[];
38
+ toJSON(): LlamaTextSpecialTokensTextJSON;
39
+ static fromJSON(json: LlamaTextSpecialTokensTextJSON): SpecialTokensText;
40
+ static isSpecialTokensTextJSON(value: LlamaTextJSONValue): value is LlamaTextSpecialTokensTextJSON;
41
+ /**
42
+ * Wraps the value with a `SpecialTokensText` only if `shouldWrap` is true
43
+ */
44
+ static wrapIf(shouldWrap: boolean, value: string): SpecialTokensText | string;
33
45
  }
34
46
  export type BuiltinSpecialTokenValue = "BOS" | "EOS" | "NL";
35
- export declare class BuiltinSpecialToken extends SpecialToken {
47
+ export declare class SpecialToken {
36
48
  readonly value: BuiltinSpecialTokenValue;
37
49
  constructor(value: BuiltinSpecialTokenValue);
50
+ toString(): BuiltinSpecialTokenValue;
38
51
  tokenize(tokenizer: Tokenizer): Token[];
39
52
  toJSON(): LlamaTextSpecialTokenJSON;
53
+ static fromJSON(json: LlamaTextSpecialTokenJSON): SpecialToken;
54
+ static isSpecialTokenJSON(value: LlamaTextJSONValue): value is LlamaTextSpecialTokenJSON;
40
55
  }
41
56
  export declare function isLlamaText(value: unknown): value is LlamaText;
42
57
  export declare function tokenizeText(text: string | LlamaText, tokenizer: Tokenizer): Token[];
@@ -7,13 +7,26 @@ LlamaText.fromJSON = function fromJSON(json) {
7
7
  return value;
8
8
  else if (SpecialToken.isSpecialTokenJSON(value))
9
9
  return SpecialToken.fromJSON(value);
10
+ else if (SpecialTokensText.isSpecialTokensTextJSON(value))
11
+ return SpecialTokensText.fromJSON(value);
10
12
  else {
11
13
  void (value);
12
14
  throw new Error(`Unknown value type: ${value}`);
13
15
  }
14
16
  }));
15
17
  };
16
- export class SpecialToken {
18
+ LlamaText.compare = function compare(a, b) {
19
+ if (!isLlamaText(a) || !isLlamaText(b))
20
+ return false;
21
+ if (a.values.length !== b.values.length)
22
+ return false;
23
+ for (let i = 0; i < a.values.length; i++) {
24
+ if (!compareLlamaTextValues(a.values[i], b.values[i]))
25
+ return false;
26
+ }
27
+ return true;
28
+ };
29
+ export class SpecialTokensText {
17
30
  value;
18
31
  constructor(value) {
19
32
  this.value = value;
@@ -21,41 +34,58 @@ export class SpecialToken {
21
34
  toString() {
22
35
  return this.value;
23
36
  }
24
- tokenize(tokenizer) {
25
- return tokenizer(this.value, true);
37
+ tokenize(tokenizer, trimLeadingSpace = false) {
38
+ return tokenizer(this.value, true, trimLeadingSpace ? "trimLeadingSpace" : undefined);
26
39
  }
27
40
  toJSON() {
28
41
  return {
29
- type: "specialToken",
42
+ type: "specialTokensText",
30
43
  value: this.value
31
44
  };
32
45
  }
33
46
  static fromJSON(json) {
34
- if (json.builtin)
35
- return new BuiltinSpecialToken(json.value);
36
- else
37
- return new SpecialToken(json.value);
47
+ if (SpecialTokensText.isSpecialTokensTextJSON(json))
48
+ return new SpecialTokensText(json.value);
49
+ throw new Error(`Invalid JSON for SpecialTokensText: ${JSON.stringify(json)}`);
38
50
  }
39
- static isSpecialTokenJSON(value) {
40
- return value != null && typeof value === "object" && value.type === "specialToken";
51
+ static isSpecialTokensTextJSON(value) {
52
+ return value != null && typeof value === "object" && value.type === "specialTokensText";
53
+ }
54
+ /**
55
+ * Wraps the value with a `SpecialTokensText` only if `shouldWrap` is true
56
+ */
57
+ static wrapIf(shouldWrap, value) {
58
+ if (shouldWrap)
59
+ return new SpecialTokensText(value);
60
+ else
61
+ return value;
41
62
  }
42
63
  }
43
- export class BuiltinSpecialToken extends SpecialToken {
64
+ export class SpecialToken {
44
65
  value;
45
66
  constructor(value) {
46
- super(value);
47
67
  this.value = value;
48
68
  }
69
+ toString() {
70
+ return this.value;
71
+ }
49
72
  tokenize(tokenizer) {
50
73
  return tokenizer(this.value, "builtin");
51
74
  }
52
75
  toJSON() {
53
76
  return {
54
77
  type: "specialToken",
55
- value: this.value,
56
- builtin: true
78
+ value: this.value
57
79
  };
58
80
  }
81
+ static fromJSON(json) {
82
+ if (SpecialToken.isSpecialTokenJSON(json))
83
+ return new SpecialToken(json.value);
84
+ throw new Error(`Invalid JSON for SpecialToken: ${JSON.stringify(json)}`);
85
+ }
86
+ static isSpecialTokenJSON(value) {
87
+ return value != null && typeof value === "object" && value.type === "specialToken";
88
+ }
59
89
  }
60
90
  export function isLlamaText(value) {
61
91
  return typeof value === "function" && "type" in value && value.type === "LlamaText";
@@ -88,32 +118,129 @@ const LlamaTextPrototypeFunctions = {
88
118
  .map((value) => {
89
119
  if (value instanceof SpecialToken)
90
120
  return value.toString();
121
+ else if (value instanceof SpecialTokensText)
122
+ return value.toString();
91
123
  else
92
124
  return value;
93
125
  })
94
126
  .join("");
95
127
  },
96
- tokenize(tokenizer) {
128
+ tokenize(tokenizer, options) {
97
129
  let textToTokenize = "";
98
130
  const res = [];
131
+ const hasContent = () => (res.length > 0 || textToTokenize.length > 0);
132
+ const resolveTokenizerOptions = () => (hasContent() ? "trimLeadingSpace" : options);
99
133
  for (const value of this.values) {
100
134
  if (value instanceof SpecialToken) {
101
- res.push(...tokenizer(textToTokenize, false), ...value.tokenize(tokenizer));
135
+ res.push(...tokenizer(textToTokenize, false, resolveTokenizerOptions()), ...value.tokenize(tokenizer));
136
+ textToTokenize = "";
137
+ }
138
+ else if (value instanceof SpecialTokensText) {
139
+ res.push(...tokenizer(textToTokenize, false, resolveTokenizerOptions()), ...value.tokenize(tokenizer, hasContent() || options === "trimLeadingSpace"));
102
140
  textToTokenize = "";
103
141
  }
104
142
  else
105
143
  textToTokenize += value;
106
144
  }
107
- res.push(...tokenizer(textToTokenize, false));
145
+ res.push(...tokenizer(textToTokenize, false, resolveTokenizerOptions()));
108
146
  return res;
109
147
  },
110
148
  toJSON() {
111
149
  return this.values.map((value) => {
112
150
  if (value instanceof SpecialToken)
113
- return { type: "specialToken", value: value.value };
151
+ return value.toJSON();
152
+ else if (value instanceof SpecialTokensText)
153
+ return value.toJSON();
114
154
  else
115
155
  return value;
116
156
  });
157
+ },
158
+ compare(other) {
159
+ return LlamaText.compare(this, other);
160
+ },
161
+ trimStart() {
162
+ const newValues = this.values.slice();
163
+ while (newValues.length > 0) {
164
+ const firstValue = newValues[0];
165
+ if (firstValue instanceof SpecialToken)
166
+ break;
167
+ if (firstValue instanceof SpecialTokensText) {
168
+ const newValue = firstValue.value.trimStart();
169
+ if (newValue === "") {
170
+ newValues.shift();
171
+ continue;
172
+ }
173
+ else if (newValue !== firstValue.value) {
174
+ newValues[0] = new SpecialTokensText(newValue);
175
+ break;
176
+ }
177
+ break;
178
+ }
179
+ else if (typeof firstValue === "string") {
180
+ const newValue = firstValue.trimStart();
181
+ if (newValue === "") {
182
+ newValues.shift();
183
+ continue;
184
+ }
185
+ else if (newValue !== firstValue) {
186
+ newValues[0] = newValue;
187
+ break;
188
+ }
189
+ break;
190
+ }
191
+ else
192
+ void (firstValue);
193
+ }
194
+ return createLlamaText(newValues);
195
+ },
196
+ trimEnd() {
197
+ const newValues = this.values.slice();
198
+ while (newValues.length > 0) {
199
+ const lastValue = newValues[newValues.length - 1];
200
+ if (lastValue instanceof SpecialToken)
201
+ break;
202
+ if (lastValue instanceof SpecialTokensText) {
203
+ const newValue = lastValue.value.trimEnd();
204
+ if (newValue === "") {
205
+ newValues.pop();
206
+ continue;
207
+ }
208
+ else if (newValue !== lastValue.value) {
209
+ newValues[newValues.length - 1] = new SpecialTokensText(newValue);
210
+ break;
211
+ }
212
+ break;
213
+ }
214
+ else if (typeof lastValue === "string") {
215
+ const newValue = lastValue.trimEnd();
216
+ if (newValue === "") {
217
+ newValues.pop();
218
+ continue;
219
+ }
220
+ else if (newValue !== lastValue) {
221
+ newValues[newValues.length - 1] = newValue;
222
+ break;
223
+ }
224
+ break;
225
+ }
226
+ else
227
+ void (lastValue);
228
+ }
229
+ return createLlamaText(newValues);
230
+ },
231
+ includes(value) {
232
+ for (let i = 0; i < this.values.length; i++) {
233
+ if (compareLlamaTextValues(this.values[i], value.values[0])) {
234
+ let j = 1;
235
+ for (; j < value.values.length; j++) {
236
+ if (!compareLlamaTextValues(this.values[i + j], value.values[j]))
237
+ break;
238
+ }
239
+ if (j === value.values.length)
240
+ return true;
241
+ }
242
+ }
243
+ return false;
117
244
  }
118
245
  };
119
246
  function createLlamaText(history) {
@@ -162,15 +289,39 @@ function createLlamaText(history) {
162
289
  writable: false,
163
290
  configurable: false,
164
291
  enumerable: false
292
+ },
293
+ ["compare"]: {
294
+ value: LlamaTextPrototypeFunctions.compare,
295
+ writable: false,
296
+ configurable: false,
297
+ enumerable: false
298
+ },
299
+ ["trimStart"]: {
300
+ value: LlamaTextPrototypeFunctions.trimStart,
301
+ writable: false,
302
+ configurable: false,
303
+ enumerable: false
304
+ },
305
+ ["trimEnd"]: {
306
+ value: LlamaTextPrototypeFunctions.trimEnd,
307
+ writable: false,
308
+ configurable: false,
309
+ enumerable: false
310
+ },
311
+ ["includes"]: {
312
+ value: LlamaTextPrototypeFunctions.includes,
313
+ writable: false,
314
+ configurable: false,
315
+ enumerable: false
165
316
  }
166
317
  });
167
318
  return llamaText;
168
319
  }
169
320
  function createHistoryFromStringsAndValues(strings, values) {
170
321
  function addItemToRes(res, item) {
171
- if (item === undefined || item === "" || (item instanceof SpecialToken && item.value === ""))
322
+ if (item === undefined || item === "" || (item instanceof SpecialTokensText && item.value === ""))
172
323
  return res;
173
- else if (typeof item === "string" || item instanceof SpecialToken)
324
+ else if (typeof item === "string" || item instanceof SpecialTokensText || item instanceof SpecialToken)
174
325
  return res.concat([item]);
175
326
  else if (isLlamaText(item))
176
327
  return res.concat(item.values);
@@ -178,7 +329,7 @@ function createHistoryFromStringsAndValues(strings, values) {
178
329
  return res.concat(item.reduce((res, value) => {
179
330
  if (isLlamaText(value))
180
331
  return res.concat(value.values);
181
- else if (value === "" || (value instanceof SpecialToken && value.value === ""))
332
+ else if (value === "" || (value instanceof SpecialTokensText && value.value === ""))
182
333
  return res;
183
334
  return res.concat([value]);
184
335
  }, []));
@@ -187,10 +338,32 @@ function createHistoryFromStringsAndValues(strings, values) {
187
338
  return res.concat([String(item)]);
188
339
  return item;
189
340
  }
341
+ function squashAdjacentItems(res, item) {
342
+ if (res.length === 0) {
343
+ res.push(item);
344
+ return res;
345
+ }
346
+ const lastItem = res[res.length - 1];
347
+ if (lastItem instanceof SpecialToken || item instanceof SpecialToken) {
348
+ res.push(item);
349
+ return res;
350
+ }
351
+ if (typeof lastItem === "string" && typeof item === "string") {
352
+ res[res.length - 1] += item;
353
+ return res;
354
+ }
355
+ else if (lastItem instanceof SpecialTokensText && item instanceof SpecialTokensText) {
356
+ res[res.length - 1] = new SpecialTokensText(lastItem.value + item.value);
357
+ return res;
358
+ }
359
+ res.push(item);
360
+ return res;
361
+ }
190
362
  if (!isTemplateStringsArray(strings)) {
191
363
  return [strings]
192
364
  .concat(values)
193
- .reduce(addItemToRes, []);
365
+ .reduce(addItemToRes, [])
366
+ .reduce(squashAdjacentItems, []);
194
367
  }
195
368
  let res = [];
196
369
  for (let i = 0; i < strings.length; i++) {
@@ -198,10 +371,19 @@ function createHistoryFromStringsAndValues(strings, values) {
198
371
  if (i < values.length)
199
372
  res = addItemToRes(res, values[i]);
200
373
  }
201
- return res;
374
+ return res.reduce(squashAdjacentItems, []);
202
375
  }
203
376
  function isTemplateStringsArray(value) {
204
377
  return value instanceof Array && value.raw instanceof Array &&
205
378
  value.length === value.raw.length;
206
379
  }
380
+ function compareLlamaTextValues(a, b) {
381
+ if (a instanceof SpecialTokensText && b instanceof SpecialTokensText)
382
+ return a.value === b.value;
383
+ else if (a instanceof SpecialToken && b instanceof SpecialToken)
384
+ return a.value === b.value;
385
+ else if (a !== a)
386
+ return false;
387
+ return true;
388
+ }
207
389
  //# sourceMappingURL=LlamaText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LlamaText.js","sourceRoot":"","sources":["../../src/utils/LlamaText.ts"],"names":[],"mappings":"AA+BA,MAAM,CAAC,MAAM,SAAS,GAAmB,SAAS,SAAS,CACvD,OAA0F,EAC1F,GAAG,MAAyF;IAE5F,OAAO,eAAe,CAAC,iCAAiC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/E,CAAmB,CAAC;AACpB,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,IAAmB;IACtD,OAAO,eAAe,CAClB,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,OAAO,KAAK,CAAC;aACZ,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC;YAC3C,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aACnC;YACD,KAAK,CAAC,KAAqB,CAAC,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;SACnD;IACL,CAAC,CAAC,CACL,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,OAAO,YAAY;IACL,KAAK,CAAS;IAE9B,YAAmB,KAAa;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,QAAQ,CAAC,SAAoB;QAChC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,MAAM;QACT,OAAO;YACH,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAA+B;QAClD,IAAI,IAAI,CAAC,OAAO;YACZ,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAiC,CAAC,CAAC;;YAEvE,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,kBAAkB,CAAC,KAAyB;QACtD,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC;IACvF,CAAC;CACJ;AAGD,MAAM,OAAO,mBAAoB,SAAQ,YAAY;IACxB,KAAK,CAA2B;IAEzD,YAAmB,KAA+B;QAC9C,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAEe,QAAQ,CAAC,SAAoB;QACzC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEe,MAAM;QAClB,OAAO;YACH,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,UAAU,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAwB,EAAE,SAAoB;IACvE,IAAI,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;QAE9B,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACxC,CAAC;AAOD,MAAM,2BAA2B,GAAuB;IACpD,SAAS,EAAE,SAAS,SAAS,CAAkB,MAAM;QACjD,OAAO,eAAe,CAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAC1B,CAAC;IACN,CAA2B;IAC3B,UAAU,CAAkB,SAAqC;QAC7D,MAAM,SAAS,GAAqB,EAAE,CAAC;QAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACzC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAE/B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC9B,IAAI,WAAW,CAAC,SAAS,CAAC;oBACtB,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;;oBAEpC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aACjC;SACJ;QAED,OAAO,eAAe,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IACD,QAAQ;QACJ,OAAO,IAAI,CAAC,MAAM;aACb,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACX,IAAI,KAAK,YAAY,YAAY;gBAC7B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;;gBAExB,OAAO,KAAK,CAAC;QACrB,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IACD,QAAQ,CAAkB,SAAS;QAC/B,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,MAAM,GAAG,GAAY,EAAE,CAAC;QAExB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;YAC7B,IAAI,KAAK,YAAY,YAAY,EAAE;gBAC/B,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5E,cAAc,GAAG,EAAE,CAAC;aACvB;;gBACG,cAAc,IAAI,KAAK,CAAC;SAC/B;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;QAE9C,OAAO,GAAG,CAAC;IACf,CAAC;IACD,MAAM;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YAC7B,IAAI,KAAK,YAAY,YAAY;gBAC7B,OAAO,EAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAA8B,CAAC;;gBAE/E,OAAO,KAAkC,CAAC;QAClD,CAAC,CAAC,CAAC;IACP,CAAC;CACJ,CAAC;AAEF,SAAS,eAAe,CAAC,OAAkC;IACvD,MAAM,SAAS,GAAuB,SAAS,SAAS,CACpD,OAAgF,EAChF,GAAG,MAAgC;QAEnC,OAAO,eAAe,CAClB,SAAS,CAAC,MAAM,CAAC,MAAM,CACnB,iCAAiC,CAAC,OAAO,EAAE,MAAM,CAAC,CACrD,CACJ,CAAC;IACN,CAAc,CAAC;IAEf,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE;QAC/B,CAAC,MAAgC,CAAC,EAAE;YAChC,KAAK,EAAE,WAAuC;YAC9C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;SACnB;QACD,CAAC,QAAkC,CAAC,EAAE;YAClC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAA+B;YACnE,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,IAAI;SACnB;QACD,CAAC,WAAqC,CAAC,EAAE;YACrC,KAAK,EAAE,2BAA2B,CAAC,SAAS;YAC5C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SACpB;QACD,CAAC,YAAsC,CAAC,EAAE;YACtC,KAAK,EAAE,2BAA2B,CAAC,UAAU;YAC7C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SACpB;QACD,CAAC,UAAoC,CAAC,EAAE;YACpC,KAAK,EAAE,2BAA2B,CAAC,QAAQ;YAC3C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SACpB;QACD,CAAC,UAAoC,CAAC,EAAE;YACpC,KAAK,EAAE,2BAA2B,CAAC,QAAQ;YAC3C,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SACpB;QACD,CAAC,QAAkC,CAAC,EAAE;YAClC,KAAK,EAAE,2BAA2B,CAAC,MAAM;YACzC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;SACpB;KACJ,CAAC,CAAC;IAEH,OAAO,SAAsB,CAAC;AAClC,CAAC;AAED,SAAS,iCAAiC,CACtC,OAAgF,EAChF,MAAgC;IAEhC,SAAS,YAAY,CAAC,GAA0B,EAAE,IAAyB;QACvE,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC,IAAI,YAAY,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;YACxF,OAAO,GAAG,CAAC;aACV,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,YAAY,YAAY;YAC7D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;aACzB,IAAI,WAAW,CAAC,IAAI,CAAC;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC9B,IAAI,IAAI,YAAY,KAAK,EAAE;YAC5B,OAAO,GAAG,CAAC,MAAM,CACb,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACvB,IAAI,WAAW,CAAC,KAAK,CAAC;oBAClB,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;qBAC/B,IAAI,KAAK,KAAK,EAAE,IAAI,CAAC,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,CAAC;oBAC1E,OAAO,GAAG,CAAC;gBAEf,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,CAAC,EAAE,EAA2B,CAAC,CAClC,CAAC;SACL;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,SAAS;YAC5D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtC,OAAO,IAAoB,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE;QAClC,OAAQ,CAAC,OAAO,CAA2B;aACtC,MAAM,CAAC,MAAM,CAAC;aACd,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;KACjC;IAGD,IAAI,GAAG,GAA0B,EAAE,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAErB,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YACjB,GAAG,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;KAC1C;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC1C,OAAO,KAAK,YAAY,KAAK,IAAK,KAAqC,CAAC,GAAG,YAAY,KAAK;QACxF,KAAK,CAAC,MAAM,KAAM,KAAqC,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3E,CAAC"}
1
+ {"version":3,"file":"LlamaText.js","sourceRoot":"","sources":["../../src/utils/LlamaText.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { isLlamaText, SpecialToken } from "./LlamaText.js";
1
+ import { SpecialToken, isLlamaText, SpecialTokensText } from "./LlamaText.js";
2
2
  export class StopGenerationDetector {
3
3
  /** @internal */ _stopTriggers = new Map();
4
4
  /** @internal */ _activeChecks = new Set();
@@ -179,6 +179,8 @@ export class StopGenerationDetector {
179
179
  return [value];
180
180
  else if (value instanceof SpecialToken)
181
181
  return value.tokenize(tokenizer);
182
+ else if (value instanceof SpecialTokensText)
183
+ return value.tokenize(tokenizer, true);
182
184
  return value;
183
185
  })
184
186
  .flat(1));