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.
- package/README.md +2 -0
- package/dist/ChatWrapper.d.ts +49 -0
- package/dist/ChatWrapper.js +120 -0
- package/dist/ChatWrapper.js.map +1 -0
- package/dist/{utils/getBin.d.ts → bindings/AddonTypes.d.ts} +14 -4
- package/dist/bindings/AddonTypes.js +2 -0
- package/dist/bindings/AddonTypes.js.map +1 -0
- package/dist/bindings/Llama.d.ts +23 -0
- package/dist/bindings/Llama.js +225 -0
- package/dist/bindings/Llama.js.map +1 -0
- package/dist/bindings/getLlama.d.ts +103 -0
- package/dist/bindings/getLlama.js +228 -0
- package/dist/bindings/getLlama.js.map +1 -0
- package/dist/bindings/types.d.ts +33 -0
- package/dist/bindings/types.js +30 -0
- package/dist/bindings/types.js.map +1 -0
- package/dist/bindings/utils/NoBinaryFoundError.d.ts +2 -0
- package/dist/bindings/utils/NoBinaryFoundError.js +7 -0
- package/dist/bindings/utils/NoBinaryFoundError.js.map +1 -0
- package/dist/{utils → bindings/utils}/binariesGithubRelease.js +1 -1
- package/dist/bindings/utils/binariesGithubRelease.js.map +1 -0
- package/dist/bindings/utils/clearAllLocalBuilds.d.ts +1 -0
- package/dist/bindings/utils/clearAllLocalBuilds.js +47 -0
- package/dist/bindings/utils/clearAllLocalBuilds.js.map +1 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.d.ts +11 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.js +155 -0
- package/dist/bindings/utils/cloneLlamaCppRepo.js.map +1 -0
- package/dist/bindings/utils/compileLLamaCpp.d.ts +12 -0
- package/dist/bindings/utils/compileLLamaCpp.js +157 -0
- package/dist/bindings/utils/compileLLamaCpp.js.map +1 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.d.ts +5 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js +85 -0
- package/dist/bindings/utils/getBuildFolderNameForBuildOptions.js.map +1 -0
- package/dist/bindings/utils/getCanUsePrebuiltBinaries.d.ts +1 -0
- package/dist/bindings/utils/getCanUsePrebuiltBinaries.js +8 -0
- package/dist/bindings/utils/getCanUsePrebuiltBinaries.js.map +1 -0
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.d.ts +2 -0
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js +21 -0
- package/dist/bindings/utils/getExampleUsageCodeOfGetLlama.js.map +1 -0
- package/dist/bindings/utils/getPlatform.d.ts +2 -0
- package/dist/bindings/utils/getPlatform.js +15 -0
- package/dist/bindings/utils/getPlatform.js.map +1 -0
- package/dist/bindings/utils/lastBuildInfo.d.ts +6 -0
- package/dist/bindings/utils/lastBuildInfo.js +17 -0
- package/dist/bindings/utils/lastBuildInfo.js.map +1 -0
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.d.ts +2 -0
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js +28 -0
- package/dist/bindings/utils/logBinaryUsageExampleToConsole.js.map +1 -0
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.d.ts +26 -0
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js +43 -0
- package/dist/bindings/utils/resolveChatWrapperBasedOnWrapperTypeName.js.map +1 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.d.ts +1 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js +43 -0
- package/dist/bindings/utils/resolveCustomCmakeOptions.js.map +1 -0
- package/dist/chatWrappers/AlpacaChatWrapper.d.ts +12 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js +21 -0
- package/dist/chatWrappers/AlpacaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/ChatMLChatWrapper.d.ts +18 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js +83 -0
- package/dist/chatWrappers/ChatMLChatWrapper.js.map +1 -0
- package/dist/chatWrappers/EmptyChatWrapper.d.ts +4 -0
- package/dist/chatWrappers/EmptyChatWrapper.js +5 -0
- package/dist/chatWrappers/EmptyChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FalconChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/FalconChatWrapper.js +104 -0
- package/dist/chatWrappers/FalconChatWrapper.js.map +1 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.d.ts +41 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js +200 -0
- package/dist/chatWrappers/FunctionaryChatWrapper.js.map +1 -0
- package/dist/chatWrappers/GeneralChatWrapper.d.ts +21 -0
- package/dist/chatWrappers/GeneralChatWrapper.js +112 -0
- package/dist/chatWrappers/GeneralChatWrapper.js.map +1 -0
- package/dist/chatWrappers/LlamaChatWrapper.d.ts +13 -0
- package/dist/chatWrappers/LlamaChatWrapper.js +78 -0
- package/dist/chatWrappers/LlamaChatWrapper.js.map +1 -0
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.d.ts +5 -5
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js +28 -17
- package/dist/chatWrappers/resolveChatWrapperBasedOnModel.js.map +1 -1
- package/dist/cli/cli.js +8 -0
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/commands/BuildCommand.d.ts +2 -1
- package/dist/cli/commands/BuildCommand.js +50 -10
- package/dist/cli/commands/BuildCommand.js.map +1 -1
- package/dist/cli/commands/ChatCommand.d.ts +11 -4
- package/dist/cli/commands/ChatCommand.js +138 -64
- package/dist/cli/commands/ChatCommand.js.map +1 -1
- package/dist/cli/commands/ClearCommand.js +4 -6
- package/dist/cli/commands/ClearCommand.js.map +1 -1
- package/dist/cli/commands/CompleteCommand.d.ts +25 -0
- package/dist/cli/commands/CompleteCommand.js +278 -0
- package/dist/cli/commands/CompleteCommand.js.map +1 -0
- package/dist/cli/commands/DebugCommand.d.ts +7 -0
- package/dist/cli/commands/DebugCommand.js +59 -0
- package/dist/cli/commands/DebugCommand.js.map +1 -0
- package/dist/cli/commands/DownloadCommand.d.ts +2 -1
- package/dist/cli/commands/DownloadCommand.js +47 -40
- package/dist/cli/commands/DownloadCommand.js.map +1 -1
- package/dist/cli/commands/InfillCommand.d.ts +27 -0
- package/dist/cli/commands/InfillCommand.js +316 -0
- package/dist/cli/commands/InfillCommand.js.map +1 -0
- package/dist/cli/commands/OnPostInstallCommand.js +7 -10
- package/dist/cli/commands/OnPostInstallCommand.js.map +1 -1
- package/dist/config.d.ts +10 -3
- package/dist/config.js +18 -7
- package/dist/config.js.map +1 -1
- package/dist/consts.d.ts +1 -0
- package/dist/consts.js +2 -0
- package/dist/consts.js.map +1 -0
- package/dist/evaluator/LlamaChat/LlamaChat.d.ts +154 -0
- package/dist/evaluator/LlamaChat/LlamaChat.js +684 -0
- package/dist/evaluator/LlamaChat/LlamaChat.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.d.ts +22 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js +121 -0
- package/dist/evaluator/LlamaChat/utils/FunctionCallGrammar.js.map +1 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.d.ts +16 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js +135 -0
- package/dist/evaluator/LlamaChat/utils/contextShiftStrategies/eraseFirstResponseAndKeepFirstSystemChatContextShiftStrategy.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator/LlamaChatSession}/LlamaChatSession.d.ts +59 -25
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js +219 -0
- package/dist/evaluator/LlamaChatSession/LlamaChatSession.js.map +1 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.d.ts +7 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js +8 -0
- package/dist/evaluator/LlamaChatSession/utils/defineChatSessionFunction.js.map +1 -0
- package/dist/evaluator/LlamaCompletion.d.ts +148 -0
- package/dist/evaluator/LlamaCompletion.js +402 -0
- package/dist/evaluator/LlamaCompletion.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaContext/LlamaContext.d.ts +20 -23
- package/dist/{llamaEvaluator → evaluator}/LlamaContext/LlamaContext.js +77 -107
- package/dist/evaluator/LlamaContext/LlamaContext.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaContext/types.d.ts +6 -14
- package/dist/evaluator/LlamaContext/types.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +1 -0
- package/dist/evaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +1 -0
- package/dist/evaluator/LlamaEmbeddingContext.d.ts +37 -0
- package/dist/evaluator/LlamaEmbeddingContext.js +78 -0
- package/dist/evaluator/LlamaEmbeddingContext.js.map +1 -0
- package/dist/evaluator/LlamaGrammar.d.ts +30 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaGrammar.js +14 -18
- package/dist/evaluator/LlamaGrammar.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaGrammarEvaluationState.js +4 -4
- package/dist/evaluator/LlamaGrammarEvaluationState.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.d.ts +2 -1
- package/dist/{llamaEvaluator → evaluator}/LlamaJsonSchemaGrammar.js +4 -2
- package/dist/evaluator/LlamaJsonSchemaGrammar.js.map +1 -0
- package/dist/{llamaEvaluator → evaluator}/LlamaModel.d.ts +24 -6
- package/dist/{llamaEvaluator → evaluator}/LlamaModel.js +51 -12
- package/dist/evaluator/LlamaModel.js.map +1 -0
- package/dist/index.d.ts +30 -17
- package/dist/index.js +29 -15
- package/dist/index.js.map +1 -1
- package/dist/state.d.ts +2 -0
- package/dist/state.js +7 -0
- package/dist/state.js.map +1 -1
- package/dist/types.d.ts +72 -3
- package/dist/types.js +5 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/LlamaText.d.ts +42 -0
- package/dist/utils/LlamaText.js +207 -0
- package/dist/utils/LlamaText.js.map +1 -0
- package/dist/utils/StopGenerationDetector.d.ts +28 -0
- package/dist/utils/StopGenerationDetector.js +205 -0
- package/dist/utils/StopGenerationDetector.js.map +1 -0
- package/dist/utils/TokenStreamRegulator.d.ts +30 -0
- package/dist/utils/TokenStreamRegulator.js +96 -0
- package/dist/utils/TokenStreamRegulator.js.map +1 -0
- package/dist/utils/UnsupportedError.d.ts +2 -0
- package/dist/utils/UnsupportedError.js +7 -0
- package/dist/utils/UnsupportedError.js.map +1 -0
- package/dist/utils/appendUserMessageToChatHistory.d.ts +2 -0
- package/dist/utils/appendUserMessageToChatHistory.js +18 -0
- package/dist/utils/appendUserMessageToChatHistory.js.map +1 -0
- package/dist/utils/cmake.js +16 -11
- package/dist/utils/cmake.js.map +1 -1
- package/dist/utils/compareTokens.d.ts +2 -0
- package/dist/utils/compareTokens.js +4 -0
- package/dist/utils/compareTokens.js.map +1 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.d.ts +18 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js +61 -0
- package/dist/utils/findCharacterRemovalCountToFitChatHistoryInContext.js.map +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.d.ts +1 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js +17 -0
- package/dist/utils/gbnfJson/GbnfGrammarGenerator.js.map +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.d.ts +1 -1
- package/dist/utils/gbnfJson/GbnfTerminal.js.map +1 -1
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.d.ts +6 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js +21 -0
- package/dist/utils/gbnfJson/terminals/GbnfVerbatimText.js.map +1 -0
- package/dist/utils/gbnfJson/types.d.ts +1 -1
- package/dist/utils/gbnfJson/types.js.map +1 -1
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.d.ts +1 -0
- package/dist/utils/gbnfJson/utils/validateObjectAgainstGbnfSchema.js.map +1 -1
- package/dist/utils/getConsoleLogPrefix.d.ts +1 -0
- package/dist/utils/getConsoleLogPrefix.js +9 -0
- package/dist/utils/getConsoleLogPrefix.js.map +1 -0
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js +1 -15
- package/dist/utils/getGbnfGrammarForGbnfJsonSchema.js.map +1 -1
- package/dist/utils/getGrammarsFolder.d.ts +2 -1
- package/dist/utils/getGrammarsFolder.js +8 -7
- package/dist/utils/getGrammarsFolder.js.map +1 -1
- package/dist/utils/getModuleVersion.d.ts +1 -0
- package/dist/utils/getModuleVersion.js +13 -0
- package/dist/utils/getModuleVersion.js.map +1 -0
- package/dist/utils/getQueuedTokensBeforeStopTrigger.d.ts +6 -0
- package/dist/utils/getQueuedTokensBeforeStopTrigger.js +22 -0
- package/dist/utils/getQueuedTokensBeforeStopTrigger.js.map +1 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.d.ts +2 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js +49 -0
- package/dist/utils/getTypeScriptTypeStringForGbnfJsonSchema.js.map +1 -0
- package/dist/utils/gitReleaseBundles.js +6 -5
- package/dist/utils/gitReleaseBundles.js.map +1 -1
- package/dist/utils/hashString.d.ts +1 -0
- package/dist/utils/hashString.js +8 -0
- package/dist/utils/hashString.js.map +1 -0
- package/dist/utils/isLockfileActive.d.ts +4 -0
- package/dist/utils/isLockfileActive.js +12 -0
- package/dist/utils/isLockfileActive.js.map +1 -0
- package/dist/utils/parseModelTypeDescription.d.ts +1 -1
- package/dist/utils/prettyPrintObject.d.ts +1 -0
- package/dist/utils/prettyPrintObject.js +40 -0
- package/dist/utils/prettyPrintObject.js.map +1 -0
- package/dist/utils/removeNullFields.d.ts +1 -0
- package/dist/utils/removeNullFields.js +8 -0
- package/dist/utils/removeNullFields.js.map +1 -1
- package/dist/utils/resolveChatWrapper.d.ts +4 -0
- package/dist/utils/resolveChatWrapper.js +16 -0
- package/dist/utils/resolveChatWrapper.js.map +1 -0
- package/dist/utils/resolveGithubRelease.d.ts +2 -0
- package/dist/utils/resolveGithubRelease.js +36 -0
- package/dist/utils/resolveGithubRelease.js.map +1 -0
- package/dist/utils/spawnCommand.d.ts +1 -1
- package/dist/utils/spawnCommand.js +4 -2
- package/dist/utils/spawnCommand.js.map +1 -1
- package/dist/utils/tokenizeInput.d.ts +3 -0
- package/dist/utils/tokenizeInput.js +9 -0
- package/dist/utils/tokenizeInput.js.map +1 -0
- package/dist/utils/truncateTextAndRoundToWords.d.ts +8 -0
- package/dist/utils/truncateTextAndRoundToWords.js +27 -0
- package/dist/utils/truncateTextAndRoundToWords.js.map +1 -0
- package/dist/utils/waitForLockfileRelease.d.ts +5 -0
- package/dist/utils/waitForLockfileRelease.js +20 -0
- package/dist/utils/waitForLockfileRelease.js.map +1 -0
- package/dist/utils/withLockfile.d.ts +7 -0
- package/dist/utils/withLockfile.js +44 -0
- package/dist/utils/withLockfile.js.map +1 -0
- package/dist/utils/withOra.js +11 -1
- package/dist/utils/withOra.js.map +1 -1
- package/dist/utils/withStatusLogs.d.ts +2 -1
- package/dist/utils/withStatusLogs.js +11 -8
- package/dist/utils/withStatusLogs.js.map +1 -1
- package/llama/.clang-format +1 -2
- package/llama/CMakeLists.txt +87 -2
- package/llama/addon.cpp +319 -31
- package/llama/binariesGithubRelease.json +1 -1
- package/llama/gitRelease.bundle +0 -0
- package/llama/gpuInfo/cuda-gpu-info.cu +99 -0
- package/llama/gpuInfo/cuda-gpu-info.h +7 -0
- package/llama/gpuInfo/metal-gpu-info.h +5 -0
- package/llama/gpuInfo/metal-gpu-info.mm +17 -0
- package/llama/llama.cpp.info.json +4 -0
- package/llamaBins/linux-arm64/.buildMetadata.json +1 -0
- package/llamaBins/linux-arm64/llama-addon.node +0 -0
- package/llamaBins/linux-armv7l/.buildMetadata.json +1 -0
- package/llamaBins/linux-armv7l/llama-addon.node +0 -0
- package/llamaBins/linux-x64/.buildMetadata.json +1 -0
- package/llamaBins/linux-x64/llama-addon.node +0 -0
- package/llamaBins/linux-x64-cuda/.buildMetadata.json +1 -0
- package/llamaBins/linux-x64-cuda/llama-addon.node +0 -0
- package/llamaBins/mac-arm64-metal/.buildMetadata.json +1 -0
- package/llamaBins/mac-arm64-metal/ggml-metal.metal +6491 -0
- package/llamaBins/mac-arm64-metal/llama-addon.node +0 -0
- package/llamaBins/mac-x64/.buildMetadata.json +1 -0
- package/llamaBins/mac-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64/.buildMetadata.json +1 -0
- package/llamaBins/win-x64/llama-addon.exp +0 -0
- package/llamaBins/win-x64/llama-addon.node +0 -0
- package/llamaBins/win-x64-cuda/.buildMetadata.json +1 -0
- package/llamaBins/win-x64-cuda/llama-addon.exp +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.lib +0 -0
- package/llamaBins/win-x64-cuda/llama-addon.node +0 -0
- package/package.json +37 -15
- package/dist/AbortError.d.ts +0 -2
- package/dist/AbortError.js +0 -7
- package/dist/AbortError.js.map +0 -1
- package/dist/ChatPromptWrapper.d.ts +0 -11
- package/dist/ChatPromptWrapper.js +0 -20
- package/dist/ChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/ChatMLChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js +0 -22
- package/dist/chatWrappers/ChatMLChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/EmptyChatPromptWrapper.d.ts +0 -4
- package/dist/chatWrappers/EmptyChatPromptWrapper.js +0 -5
- package/dist/chatWrappers/EmptyChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/FalconChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/FalconChatPromptWrapper.js +0 -33
- package/dist/chatWrappers/FalconChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/GeneralChatPromptWrapper.d.ts +0 -19
- package/dist/chatWrappers/GeneralChatPromptWrapper.js +0 -38
- package/dist/chatWrappers/GeneralChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/LlamaChatPromptWrapper.d.ts +0 -12
- package/dist/chatWrappers/LlamaChatPromptWrapper.js +0 -23
- package/dist/chatWrappers/LlamaChatPromptWrapper.js.map +0 -1
- package/dist/chatWrappers/generateContextTextFromConversationHistory.d.ts +0 -15
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js +0 -39
- package/dist/chatWrappers/generateContextTextFromConversationHistory.js.map +0 -1
- package/dist/llamaEvaluator/LlamaBins.d.ts +0 -19
- package/dist/llamaEvaluator/LlamaBins.js +0 -5
- package/dist/llamaEvaluator/LlamaBins.js.map +0 -1
- package/dist/llamaEvaluator/LlamaChatSession.js +0 -290
- package/dist/llamaEvaluator/LlamaChatSession.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext/LlamaContext.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext/types.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js.map +0 -1
- package/dist/llamaEvaluator/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js.map +0 -1
- package/dist/llamaEvaluator/LlamaGrammar.d.ts +0 -32
- package/dist/llamaEvaluator/LlamaGrammar.js.map +0 -1
- package/dist/llamaEvaluator/LlamaGrammarEvaluationState.js.map +0 -1
- package/dist/llamaEvaluator/LlamaJsonSchemaGrammar.js.map +0 -1
- package/dist/llamaEvaluator/LlamaModel.js.map +0 -1
- package/dist/utils/binariesGithubRelease.js.map +0 -1
- package/dist/utils/clearLlamaBuild.d.ts +0 -1
- package/dist/utils/clearLlamaBuild.js +0 -12
- package/dist/utils/clearLlamaBuild.js.map +0 -1
- package/dist/utils/cloneLlamaCppRepo.d.ts +0 -2
- package/dist/utils/cloneLlamaCppRepo.js +0 -102
- package/dist/utils/cloneLlamaCppRepo.js.map +0 -1
- package/dist/utils/compileLLamaCpp.d.ts +0 -8
- package/dist/utils/compileLLamaCpp.js +0 -127
- package/dist/utils/compileLLamaCpp.js.map +0 -1
- package/dist/utils/getBin.js +0 -78
- package/dist/utils/getBin.js.map +0 -1
- package/dist/utils/getReleaseInfo.d.ts +0 -7
- package/dist/utils/getReleaseInfo.js +0 -30
- package/dist/utils/getReleaseInfo.js.map +0 -1
- package/dist/utils/getTextCompletion.d.ts +0 -3
- package/dist/utils/getTextCompletion.js +0 -12
- package/dist/utils/getTextCompletion.js.map +0 -1
- package/dist/utils/usedBinFlag.d.ts +0 -6
- package/dist/utils/usedBinFlag.js +0 -15
- package/dist/utils/usedBinFlag.js.map +0 -1
- package/llama/usedBin.json +0 -3
- package/llamaBins/mac-arm64/ggml-metal.metal +0 -2929
- package/llamaBins/mac-arm64/llama-addon.node +0 -0
- package/llamaBins/mac-x64/ggml-metal.metal +0 -2929
- /package/dist/{utils → bindings/utils}/binariesGithubRelease.d.ts +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/types.js +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.d.ts +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/firstInFirstOutStrategy.js +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.d.ts +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/batchItemsPrioritizingStrategies/maximumParallelismStrategy.js +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.d.ts +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaContext/utils/resolveBatchItemsPrioritizingStrategy.js +0 -0
- /package/dist/{llamaEvaluator → evaluator}/LlamaGrammarEvaluationState.d.ts +0 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as crypto from "node:crypto";
|
|
2
|
+
export async function hashString(text) {
|
|
3
|
+
const hashBuffer = await crypto.subtle.digest("SHA-1", Buffer.from(text));
|
|
4
|
+
return Array.from(new Uint8Array(hashBuffer))
|
|
5
|
+
.map(b => b.toString(36))
|
|
6
|
+
.join("");
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=hashString.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hashString.js","sourceRoot":"","sources":["../../src/utils/hashString.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE1E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SACxB,IAAI,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import lockfile from "proper-lockfile";
|
|
2
|
+
import { isLockActive } from "lifecycle-utils";
|
|
3
|
+
import { lockfileLockScope } from "./withLockfile.js";
|
|
4
|
+
export async function isLockfileActive({ resourcePath, staleDuration = 1000 * 10 }) {
|
|
5
|
+
if (isLockActive(lockfileLockScope, resourcePath))
|
|
6
|
+
return true;
|
|
7
|
+
const lockfileActive = await lockfile.check(resourcePath, { stale: staleDuration, realpath: false });
|
|
8
|
+
if (lockfileActive)
|
|
9
|
+
return true;
|
|
10
|
+
return isLockActive(lockfileLockScope, resourcePath);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=isLockfileActive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isLockfileActive.js","sourceRoot":"","sources":["../../src/utils/isLockfileActive.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACnC,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAG1C;IACG,IAAI,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC7C,OAAO,IAAI,CAAC;IAEhB,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;IACnG,IAAI,cAAc;QACd,OAAO,IAAI,CAAC;IAEhB,OAAO,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;AACzD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AddonModelArchName, AddonModelFileTypeName, AddonModelTypeName, ModelTypeDescription } from "
|
|
1
|
+
import type { AddonModelArchName, AddonModelFileTypeName, AddonModelTypeName, ModelTypeDescription } from "../bindings/AddonTypes.js";
|
|
2
2
|
export declare function parseModelTypeDescription(modelTypeDescription: ModelTypeDescription): {
|
|
3
3
|
arch: AddonModelArchName;
|
|
4
4
|
type: AddonModelTypeName;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function prettyPrintObject(obj: any, indent?: number): string;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
export function prettyPrintObject(obj, indent = 4) {
|
|
3
|
+
if (typeof obj === "string")
|
|
4
|
+
return chalk.green(JSON.stringify(obj, null, 4));
|
|
5
|
+
else if (typeof obj === "number")
|
|
6
|
+
return chalk.yellow(obj);
|
|
7
|
+
else if (typeof obj === "boolean")
|
|
8
|
+
return chalk.magenta.italic(obj);
|
|
9
|
+
else if (obj === null)
|
|
10
|
+
return chalk.magenta.italic("null");
|
|
11
|
+
else if (obj === undefined)
|
|
12
|
+
return chalk.magenta.italic("undefined");
|
|
13
|
+
else if (obj instanceof Array)
|
|
14
|
+
return [
|
|
15
|
+
chalk.whiteBright("["),
|
|
16
|
+
obj.map(prettyPrintObject)
|
|
17
|
+
.join(chalk.whiteBright(", ")),
|
|
18
|
+
chalk.whiteBright("]")
|
|
19
|
+
].join("");
|
|
20
|
+
const rows = [];
|
|
21
|
+
for (const key of Object.keys(obj)) {
|
|
22
|
+
const value = obj[key];
|
|
23
|
+
rows.push([
|
|
24
|
+
" ".repeat(indent),
|
|
25
|
+
canStringBeKeyWithoutQuotes(key)
|
|
26
|
+
? chalk.red(key)
|
|
27
|
+
: chalk.green(JSON.stringify(key)),
|
|
28
|
+
chalk.whiteBright(": "),
|
|
29
|
+
prettyPrintObject(value, indent)
|
|
30
|
+
.replaceAll("\n", "\n" + " ".repeat(indent))
|
|
31
|
+
].join(""));
|
|
32
|
+
}
|
|
33
|
+
if (rows.length === 0)
|
|
34
|
+
return chalk.whiteBright("{}");
|
|
35
|
+
return chalk.whiteBright("{\n") + rows.join(chalk.whiteBright(",\n")) + chalk.whiteBright("\n") + chalk.whiteBright("}");
|
|
36
|
+
}
|
|
37
|
+
function canStringBeKeyWithoutQuotes(key) {
|
|
38
|
+
return JSON.stringify(key).slice(1, -1) === key && /^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=prettyPrintObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prettyPrintObject.js","sourceRoot":"","sources":["../../src/utils/prettyPrintObject.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,iBAAiB,CAAC,GAAQ,EAAE,SAAiB,CAAC;IAC1D,IAAI,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SAChD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAC5B,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SACxB,IAAI,OAAO,GAAG,KAAK,SAAS;QAC7B,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAChC,IAAI,GAAG,KAAK,IAAI;QACjB,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACnC,IAAI,GAAG,KAAK,SAAS;QACtB,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SACxC,IAAI,GAAG,YAAY,KAAK;QACzB,OAAO;YACH,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC;iBACrB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAClC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC;SACzB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEf,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAChC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAuB,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC;YACN,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;YAClB,2BAA2B,CAAC,GAAG,CAAC;gBAC5B,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;gBAChB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACtC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;YACvB,iBAAiB,CAAC,KAAK,EAAE,MAAM,CAAC;iBAC3B,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACnD,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KACf;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC7H,CAAC;AAED,SAAS,2BAA2B,CAAC,GAAW;IAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5F,CAAC"}
|
|
@@ -6,4 +6,12 @@ export function removeNullFields(obj) {
|
|
|
6
6
|
}
|
|
7
7
|
return newObj;
|
|
8
8
|
}
|
|
9
|
+
export function removeUndefinedFields(obj) {
|
|
10
|
+
const newObj = Object.assign({}, obj);
|
|
11
|
+
for (const key in obj) {
|
|
12
|
+
if (newObj[key] === undefined)
|
|
13
|
+
delete newObj[key];
|
|
14
|
+
}
|
|
15
|
+
return newObj;
|
|
16
|
+
}
|
|
9
17
|
//# sourceMappingURL=removeNullFields.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"removeNullFields.js","sourceRoot":"","sources":["../../src/utils/removeNullFields.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAmB,GAAM;IACrD,MAAM,MAAM,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
1
|
+
{"version":3,"file":"removeNullFields.js","sourceRoot":"","sources":["../../src/utils/removeNullFields.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAmB,GAAM;IACrD,MAAM,MAAM,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI;YACnB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAmB,GAAM;IAC1D,MAAM,MAAM,GAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAEzC,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE;QACnB,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YACzB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ChatWrapper } from "../ChatWrapper.js";
|
|
2
|
+
import { GeneralChatWrapper } from "../chatWrappers/GeneralChatWrapper.js";
|
|
3
|
+
import { LlamaModel } from "../evaluator/LlamaModel.js";
|
|
4
|
+
export declare function resolveChatWrapper(chatWrapper: "auto" | ChatWrapper, model: LlamaModel): ChatWrapper | import("../index.js").LlamaChatWrapper | GeneralChatWrapper | import("../index.js").FalconChatWrapper;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { resolveChatWrapperBasedOnModel } from "../chatWrappers/resolveChatWrapperBasedOnModel.js";
|
|
2
|
+
import { GeneralChatWrapper } from "../chatWrappers/GeneralChatWrapper.js";
|
|
3
|
+
export function resolveChatWrapper(chatWrapper, model) {
|
|
4
|
+
if (chatWrapper === "auto") {
|
|
5
|
+
const chatWrapper = resolveChatWrapperBasedOnModel({
|
|
6
|
+
bosString: model.tokens.bosString,
|
|
7
|
+
filename: model.filename,
|
|
8
|
+
typeDescription: model.typeDescription
|
|
9
|
+
});
|
|
10
|
+
if (chatWrapper != null)
|
|
11
|
+
return new chatWrapper();
|
|
12
|
+
return new GeneralChatWrapper();
|
|
13
|
+
}
|
|
14
|
+
return chatWrapper;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=resolveChatWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveChatWrapper.js","sourceRoot":"","sources":["../../src/utils/resolveChatWrapper.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,8BAA8B,EAAC,MAAM,mDAAmD,CAAC;AACjG,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAGzE,MAAM,UAAU,kBAAkB,CAAC,WAAiC,EAAE,KAAiB;IACnF,IAAI,WAAW,KAAK,MAAM,EAAE;QACxB,MAAM,WAAW,GAAG,8BAA8B,CAAC;YAC/C,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS;YACjC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;SACzC,CAAC,CAAC;QAEH,IAAI,WAAW,IAAI,IAAI;YACnB,OAAO,IAAI,WAAW,EAAE,CAAC;QAE7B,OAAO,IAAI,kBAAkB,EAAE,CAAC;KACnC;IAED,OAAO,WAAW,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Octokit } from "octokit";
|
|
2
|
+
import { getConsoleLogPrefix } from "./getConsoleLogPrefix.js";
|
|
3
|
+
export async function resolveGithubRelease(githubOwner, githubRepo, release) {
|
|
4
|
+
const octokit = new Octokit();
|
|
5
|
+
const repo = githubOwner + "/" + githubRepo;
|
|
6
|
+
let githubRelease = null;
|
|
7
|
+
try {
|
|
8
|
+
if (release === "latest") {
|
|
9
|
+
githubRelease = await octokit.rest.repos.getLatestRelease({
|
|
10
|
+
owner: githubOwner,
|
|
11
|
+
repo: githubRepo
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
githubRelease = await octokit.rest.repos.getReleaseByTag({
|
|
16
|
+
owner: githubOwner,
|
|
17
|
+
repo: githubRepo,
|
|
18
|
+
tag: release
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
console.error(getConsoleLogPrefix() + "Failed to fetch llama.cpp release info", err);
|
|
24
|
+
}
|
|
25
|
+
if (githubRelease == null) {
|
|
26
|
+
throw new Error(`Failed to find release "${release}" of "${repo}"`);
|
|
27
|
+
}
|
|
28
|
+
if (githubRelease.data.tag_name == null) {
|
|
29
|
+
throw new Error(`Failed to find tag of release "${release}" of "${repo}"`);
|
|
30
|
+
}
|
|
31
|
+
return githubRelease.data.tag_name;
|
|
32
|
+
}
|
|
33
|
+
export function isGithubReleaseNeedsResolving(release) {
|
|
34
|
+
return release === "latest";
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=resolveGithubRelease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveGithubRelease.js","sourceRoot":"","sources":["../../src/utils/resolveGithubRelease.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,SAAS,CAAC;AAChC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,WAAmB,EAAE,UAAkB,EAAE,OAAe;IAC/F,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,WAAW,GAAG,GAAG,GAAG,UAAU,CAAC;IAK5C,IAAI,aAAa,GAA6B,IAAI,CAAC;IAEnD,IAAI;QACA,IAAI,OAAO,KAAK,QAAQ,EAAE;YACtB,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;gBACtD,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,UAAU;aACnB,CAAC,CAAC;SACN;aAAM;YACH,aAAa,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACrD,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,OAAO;aACf,CAAC,CAAC;SACN;KACJ;IAAC,OAAO,GAAG,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,wCAAwC,EAAE,GAAG,CAAC,CAAC;KACxF;IAED,IAAI,aAAa,IAAI,IAAI,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,SAAS,IAAI,GAAG,CAAC,CAAC;KACvE;IAED,IAAI,aAAa,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE;QACrC,MAAM,IAAI,KAAK,CAAC,kCAAkC,OAAO,SAAS,IAAI,GAAG,CAAC,CAAC;KAC9E;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAe;IACzD,OAAO,OAAO,KAAK,QAAQ,CAAC;AAChC,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
export declare function spawnCommand(command: string, args: string[], cwd: string, env?: NodeJS.ProcessEnv): Promise<void>;
|
|
2
|
+
export declare function spawnCommand(command: string, args: string[], cwd: string, env?: NodeJS.ProcessEnv, progressLogs?: boolean): Promise<void>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import spawn from "cross-spawn";
|
|
2
|
-
export function spawnCommand(command, args, cwd, env = process.env) {
|
|
2
|
+
export function spawnCommand(command, args, cwd, env = process.env, progressLogs = true) {
|
|
3
3
|
function getCommandString() {
|
|
4
4
|
let res = command;
|
|
5
5
|
for (const arg of args) {
|
|
@@ -14,7 +14,9 @@ export function spawnCommand(command, args, cwd, env = process.env) {
|
|
|
14
14
|
}
|
|
15
15
|
return new Promise((resolve, reject) => {
|
|
16
16
|
const child = spawn(command, args, {
|
|
17
|
-
stdio:
|
|
17
|
+
stdio: progressLogs
|
|
18
|
+
? "inherit"
|
|
19
|
+
: ["ignore", "ignore", process.stderr],
|
|
18
20
|
cwd,
|
|
19
21
|
env,
|
|
20
22
|
detached: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawnCommand.js","sourceRoot":"","sources":["../../src/utils/spawnCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"spawnCommand.js","sourceRoot":"","sources":["../../src/utils/spawnCommand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,aAAa,CAAC;AAEhC,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAc,EAAE,GAAW,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,eAAwB,IAAI;IACtH,SAAS,gBAAgB;QACrB,IAAI,GAAG,GAAG,OAAO,CAAC;QAElB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;YACpB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBACnB,GAAG,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aAC7C;iBAAM;gBACH,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;aACpB;SACJ;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YAC/B,KAAK,EAAE,YAAY;gBACf,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC;YAC1C,GAAG;YACH,GAAG;YACH,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACtB,IAAI,IAAI,IAAI,CAAC;gBACT,OAAO,EAAE,CAAC;;gBAEV,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,gBAAgB,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9F,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;YACrB,IAAI,IAAI,IAAI,CAAC;gBACT,OAAO,EAAE,CAAC;;gBAEV,MAAM,CAAC,IAAI,KAAK,CAAC,WAAW,gBAAgB,EAAE,qBAAqB,IAAI,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { isLlamaText } from "./LlamaText.js";
|
|
2
|
+
export function tokenizeInput(input, tokenizer) {
|
|
3
|
+
if (typeof input === "string")
|
|
4
|
+
return tokenizer(input, false);
|
|
5
|
+
else if (isLlamaText(input))
|
|
6
|
+
return input.tokenize(tokenizer);
|
|
7
|
+
return input;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=tokenizeInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizeInput.js","sourceRoot":"","sources":["../../src/utils/tokenizeInput.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAY,MAAM,gBAAgB,CAAC;AAEtD,MAAM,UAAU,aAAa,CAAC,KAAmC,EAAE,SAAoB;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC9B,IAAI,WAAW,CAAC,KAAK,CAAC;QACvB,OAAO,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAErC,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Truncate the given text starting from the specified index and try to round to the nearest word.
|
|
3
|
+
* @param text - The text to truncate and round
|
|
4
|
+
* @param truncateStartIndex - The index to start truncating the text at
|
|
5
|
+
* @param maxRound - The maximum number of extra characters to delete to round to the nearest word
|
|
6
|
+
* @returns - The truncated and rounded text
|
|
7
|
+
*/
|
|
8
|
+
export declare function truncateTextAndRoundToWords(text: string, truncateStartIndex: number, maxRound?: number): string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const truncatePrefix = "...";
|
|
2
|
+
/**
|
|
3
|
+
* Truncate the given text starting from the specified index and try to round to the nearest word.
|
|
4
|
+
* @param text - The text to truncate and round
|
|
5
|
+
* @param truncateStartIndex - The index to start truncating the text at
|
|
6
|
+
* @param maxRound - The maximum number of extra characters to delete to round to the nearest word
|
|
7
|
+
* @returns - The truncated and rounded text
|
|
8
|
+
*/
|
|
9
|
+
export function truncateTextAndRoundToWords(text, truncateStartIndex, maxRound = 6) {
|
|
10
|
+
const res = text.slice(truncateStartIndex);
|
|
11
|
+
if (res.length === 0)
|
|
12
|
+
return res;
|
|
13
|
+
if (truncateStartIndex === 0 || text[truncateStartIndex - 1] === " ")
|
|
14
|
+
return res;
|
|
15
|
+
const nextSpaceIndex = res.indexOf(" ");
|
|
16
|
+
if (nextSpaceIndex < 0) {
|
|
17
|
+
if (res.length <= maxRound || res.length < truncatePrefix.length)
|
|
18
|
+
return "";
|
|
19
|
+
return truncatePrefix + res.slice(truncatePrefix.length);
|
|
20
|
+
}
|
|
21
|
+
if (nextSpaceIndex <= maxRound)
|
|
22
|
+
return res.slice(nextSpaceIndex + 1);
|
|
23
|
+
if (res.length < truncatePrefix.length)
|
|
24
|
+
return "";
|
|
25
|
+
return truncatePrefix + res.slice(truncatePrefix.length);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=truncateTextAndRoundToWords.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncateTextAndRoundToWords.js","sourceRoot":"","sources":["../../src/utils/truncateTextAndRoundToWords.ts"],"names":[],"mappings":"AAAA,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAY,EAAE,kBAA0B,EAAE,WAAmB,CAAC;IACtG,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAChB,OAAO,GAAG,CAAC;IAEf,IAAI,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,CAAC,KAAK,GAAG;QAChE,OAAO,GAAG,CAAC;IAEf,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAExC,IAAI,cAAc,GAAG,CAAC,EAAE;QACpB,IAAI,GAAG,CAAC,MAAM,IAAI,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;YAC5D,OAAO,EAAE,CAAC;QAEd,OAAO,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;KAC5D;IAED,IAAI,cAAc,IAAI,QAAQ;QAC1B,OAAO,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM;QAClC,OAAO,EAAE,CAAC;IAEd,OAAO,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import lockfile from "proper-lockfile";
|
|
2
|
+
import { isLockActive, waitForLockRelease } from "lifecycle-utils";
|
|
3
|
+
import { lockfileLockScope } from "./withLockfile.js";
|
|
4
|
+
export async function waitForLockfileRelease({ resourcePath, checkInterval = 1000 * 5.5, staleDuration = 1000 * 10 }) {
|
|
5
|
+
// eslint-disable-next-line no-constant-condition
|
|
6
|
+
while (true) {
|
|
7
|
+
if (isLockActive(lockfileLockScope, resourcePath)) {
|
|
8
|
+
await waitForLockRelease(lockfileLockScope, resourcePath);
|
|
9
|
+
continue;
|
|
10
|
+
}
|
|
11
|
+
const lockfileActive = await lockfile.check(resourcePath, { stale: staleDuration, realpath: false });
|
|
12
|
+
const lockIsActive = isLockActive(lockfileLockScope, resourcePath);
|
|
13
|
+
if (lockIsActive)
|
|
14
|
+
continue;
|
|
15
|
+
if (!lockfileActive)
|
|
16
|
+
return;
|
|
17
|
+
await new Promise((resolve) => setTimeout(resolve, checkInterval));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=waitForLockfileRelease.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waitForLockfileRelease.js","sourceRoot":"","sources":["../../src/utils/waitForLockfileRelease.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,YAAY,EAAE,kBAAkB,EAAC,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EACzC,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,GAAG,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAGtE;IACG,iDAAiD;IACjD,OAAO,IAAI,EAAE;QACT,IAAI,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,EAAE;YAC/C,MAAM,kBAAkB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;YAC1D,SAAS;SACZ;QAED,MAAM,cAAc,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,EAAC,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,CAAC,CAAC;QACnG,MAAM,YAAY,GAAG,YAAY,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC;QAEnE,IAAI,YAAY;YACZ,SAAS;QAEb,IAAI,CAAC,cAAc;YACf,OAAO;QAEX,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;KACtE;AACL,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const lockfileLockScope: {};
|
|
2
|
+
export declare function withLockfile<const T>({ resourcePath, staleDuration, updateInterval, retries }: {
|
|
3
|
+
resourcePath: string;
|
|
4
|
+
staleDuration?: number;
|
|
5
|
+
updateInterval?: number;
|
|
6
|
+
retries?: number;
|
|
7
|
+
}, callback: () => T | Promise<T>): Promise<T>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import lockfile from "proper-lockfile";
|
|
2
|
+
import { withLock } from "lifecycle-utils";
|
|
3
|
+
import { getConsoleLogPrefix } from "./getConsoleLogPrefix.js";
|
|
4
|
+
export const lockfileLockScope = {};
|
|
5
|
+
export async function withLockfile({ resourcePath, staleDuration = 1000 * 10, updateInterval = staleDuration / 2, retries = 2 }, callback) {
|
|
6
|
+
return await withLock(lockfileLockScope, resourcePath, async () => {
|
|
7
|
+
let releaseLock;
|
|
8
|
+
let res;
|
|
9
|
+
const lockPromise = lockfile.lock(resourcePath, {
|
|
10
|
+
stale: staleDuration,
|
|
11
|
+
update: updateInterval,
|
|
12
|
+
retries,
|
|
13
|
+
realpath: false
|
|
14
|
+
});
|
|
15
|
+
try {
|
|
16
|
+
releaseLock = await lockPromise;
|
|
17
|
+
}
|
|
18
|
+
catch (err) {
|
|
19
|
+
console.error(getConsoleLogPrefix() + `Failed to acquire lockfile for "${resourcePath}"`, err);
|
|
20
|
+
throw err;
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
res = await callback();
|
|
24
|
+
}
|
|
25
|
+
catch (err) {
|
|
26
|
+
try {
|
|
27
|
+
await releaseLock();
|
|
28
|
+
}
|
|
29
|
+
catch (err) {
|
|
30
|
+
console.error(getConsoleLogPrefix() + `Failed to release lockfile for "${resourcePath}"`, err);
|
|
31
|
+
}
|
|
32
|
+
throw err;
|
|
33
|
+
}
|
|
34
|
+
try {
|
|
35
|
+
await releaseLock();
|
|
36
|
+
}
|
|
37
|
+
catch (err) {
|
|
38
|
+
console.error(getConsoleLogPrefix() + `Failed to release lockfile for "${resourcePath}"`, err);
|
|
39
|
+
throw err;
|
|
40
|
+
}
|
|
41
|
+
return res;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=withLockfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withLockfile.js","sourceRoot":"","sources":["../../src/utils/withLockfile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D,MAAM,CAAC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAEpC,MAAM,CAAC,KAAK,UAAU,YAAY,CAC9B,EACI,YAAY,EAAE,aAAa,GAAG,IAAI,GAAG,EAAE,EAAE,cAAc,GAAG,aAAa,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAG3F,EACD,QAA8B;IAE9B,OAAO,MAAM,QAAQ,CAAC,iBAAiB,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;QAC9D,IAAI,WAAgC,CAAC;QACrC,IAAI,GAAM,CAAC;QAEX,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;YAC5C,KAAK,EAAE,aAAa;YACpB,MAAM,EAAE,cAAc;YACtB,OAAO;YACP,QAAQ,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI;YACA,WAAW,GAAG,MAAM,WAAW,CAAC;SACnC;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,GAAG,CAAC;SACb;QAED,IAAI;YACA,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;SAC1B;QAAC,OAAO,GAAG,EAAE;YACV,IAAI;gBACA,MAAM,WAAW,EAAE,CAAC;aACvB;YAAC,OAAO,GAAG,EAAE;gBACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;aAClG;YAED,MAAM,GAAG,CAAC;SACb;QAED,IAAI;YACA,MAAM,WAAW,EAAE,CAAC;SACvB;QAAC,OAAO,GAAG,EAAE;YACV,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,mCAAmC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/F,MAAM,GAAG,CAAC;SACb;QAED,OAAO,GAAG,CAAC;IACf,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/dist/utils/withOra.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import ora from "ora";
|
|
2
|
+
import { isRunningInsideGoogleColab } from "../config.js";
|
|
3
|
+
import { getConsoleLogPrefix } from "./getConsoleLogPrefix.js";
|
|
4
|
+
import withStatusLogs from "./withStatusLogs.js";
|
|
2
5
|
export default async function withOra(message, callback) {
|
|
3
|
-
|
|
6
|
+
if (isRunningInsideGoogleColab)
|
|
7
|
+
return withStatusLogs(message, callback);
|
|
8
|
+
const spinner = ora({
|
|
9
|
+
prefixText: getConsoleLogPrefix(),
|
|
10
|
+
...(typeof message === "string"
|
|
11
|
+
? { text: message }
|
|
12
|
+
: message)
|
|
13
|
+
});
|
|
4
14
|
spinner.start();
|
|
5
15
|
try {
|
|
6
16
|
const res = await callback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withOra.js","sourceRoot":"","sources":["../../src/utils/withOra.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"withOra.js","sourceRoot":"","sources":["../../src/utils/withOra.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAC,0BAA0B,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAC7D,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,OAAO,CACjC,OAIC,EACD,QAA0B;IAE1B,IAAI,0BAA0B;QAC1B,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE7C,MAAM,OAAO,GAAG,GAAG,CAAC;QAChB,UAAU,EAAE,mBAAmB,EAAE;QACjC,GAAG,CACC,OAAO,OAAO,KAAK,QAAQ;YACvB,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,EAAqC;YACrD,CAAC,CAAC,OAAO,CAChB;KACJ,CAAC,CAAC;IAEH,OAAO,CAAC,KAAK,EAAE,CAAC;IAEhB,IAAI;QACA,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;QAE7B,IAAI,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;;YAEjC,OAAO,CAAC,OAAO,EAAE,CAAC;QAEtB,OAAO,GAAG,CAAC;KACd;IAAC,OAAO,EAAE,EAAE;QACT,IAAI,OAAO,OAAO,KAAK,QAAQ;YAC3B,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;YAE3B,OAAO,CAAC,IAAI,EAAE,CAAC;QAEnB,MAAM,EAAE,CAAC;KACZ;AACL,CAAC"}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import chalk from "chalk";
|
|
2
2
|
import logSymbols from "log-symbols";
|
|
3
|
+
import { getConsoleLogPrefix } from "./getConsoleLogPrefix.js";
|
|
3
4
|
const clockChar = "\u25f7";
|
|
4
|
-
export default async function withStatusLogs(
|
|
5
|
-
|
|
5
|
+
export default async function withStatusLogs(messageAndOptions, callback) {
|
|
6
|
+
if (typeof messageAndOptions !== "string" && messageAndOptions.disableLogs)
|
|
7
|
+
return await callback();
|
|
8
|
+
console.log(getConsoleLogPrefix() + `${chalk.cyan(clockChar)} ${typeof messageAndOptions === "string" ? messageAndOptions : messageAndOptions.loading}`);
|
|
6
9
|
try {
|
|
7
10
|
const res = await callback();
|
|
8
|
-
if (typeof
|
|
9
|
-
console.log(`${logSymbols.success} ${
|
|
11
|
+
if (typeof messageAndOptions !== "string")
|
|
12
|
+
console.log(getConsoleLogPrefix() + `${logSymbols.success} ${messageAndOptions.success}`);
|
|
10
13
|
else
|
|
11
|
-
console.log(`${logSymbols.success} ${
|
|
14
|
+
console.log(getConsoleLogPrefix() + `${logSymbols.success} ${messageAndOptions}`);
|
|
12
15
|
return res;
|
|
13
16
|
}
|
|
14
17
|
catch (er) {
|
|
15
|
-
if (typeof
|
|
16
|
-
console.log(`${logSymbols.error} ${
|
|
18
|
+
if (typeof messageAndOptions !== "string")
|
|
19
|
+
console.log(getConsoleLogPrefix() + `${logSymbols.error} ${messageAndOptions.fail}`);
|
|
17
20
|
else
|
|
18
|
-
console.log(`${logSymbols.error} ${
|
|
21
|
+
console.log(getConsoleLogPrefix() + `${logSymbols.error} ${messageAndOptions}`);
|
|
19
22
|
throw er;
|
|
20
23
|
}
|
|
21
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withStatusLogs.js","sourceRoot":"","sources":["../../src/utils/withStatusLogs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"withStatusLogs.js","sourceRoot":"","sources":["../../src/utils/withStatusLogs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D,MAAM,SAAS,GAAG,QAAQ,CAAC;AAE3B,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CACxC,iBAKC,EACD,QAA0B;IAE1B,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,WAAW;QACtE,OAAO,MAAM,QAAQ,EAAE,CAAC;IAE5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;IAEzJ,IAAI;QACA,MAAM,GAAG,GAAG,MAAM,QAAQ,EAAE,CAAC;QAE7B,IAAI,OAAO,iBAAiB,KAAK,QAAQ;YACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,UAAU,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC,CAAC;;YAE1F,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,UAAU,CAAC,OAAO,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAEtF,OAAO,GAAG,CAAC;KACd;IAAC,OAAO,EAAE,EAAE;QACT,IAAI,OAAO,iBAAiB,KAAK,QAAQ;YACrC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;;YAErF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAEpF,MAAM,EAAE,CAAC;KACZ;AACL,CAAC"}
|
package/llama/.clang-format
CHANGED
|
@@ -17,7 +17,7 @@ FixNamespaceComments: false
|
|
|
17
17
|
IndentAccessModifiers: true
|
|
18
18
|
SpaceAfterCStyleCast: false
|
|
19
19
|
PointerAlignment: Left
|
|
20
|
-
IndentCaseLabels:
|
|
20
|
+
IndentCaseLabels: true
|
|
21
21
|
BinPackArguments: false
|
|
22
22
|
BinPackParameters: false
|
|
23
23
|
Cpp11BracedListStyle: false
|
|
@@ -29,7 +29,6 @@ AlwaysBreakTemplateDeclarations: No
|
|
|
29
29
|
DeriveLineEnding: false
|
|
30
30
|
UseCRLF: false
|
|
31
31
|
AllowAllArgumentsOnNextLine: true
|
|
32
|
-
AlignAfterOpenBracket: DontAlign
|
|
33
32
|
PackConstructorInitializers: CurrentLine
|
|
34
33
|
AlignAfterOpenBracket: BlockIndent
|
|
35
34
|
BraceWrapping:
|
package/llama/CMakeLists.txt
CHANGED
|
@@ -19,17 +19,102 @@ execute_process(COMMAND node -p "require('node-addon-api').include.slice(1,-1)"
|
|
|
19
19
|
include_directories(${NODE_ADDON_API_DIR} ${CMAKE_JS_INC})
|
|
20
20
|
|
|
21
21
|
add_subdirectory("llama.cpp")
|
|
22
|
+
include_directories("gpuInfo")
|
|
22
23
|
include_directories("llama.cpp")
|
|
23
24
|
include_directories("./llama.cpp/common")
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
if (LLAMA_CUBLAS)
|
|
27
|
+
cmake_minimum_required(VERSION 3.17)
|
|
26
28
|
|
|
27
|
-
|
|
29
|
+
find_package(CUDAToolkit)
|
|
30
|
+
if (CUDAToolkit_FOUND)
|
|
31
|
+
message(STATUS "Using cuBLAS for GPU info")
|
|
32
|
+
|
|
33
|
+
enable_language(CUDA)
|
|
34
|
+
|
|
35
|
+
set(GPU_INFO_HEADERS ${GPU_INFO_HEADERS} gpuInfo/cuda-gpu-info.h)
|
|
36
|
+
set(GPU_INFO_SOURCES ${GPU_INFO_SOURCES} gpuInfo/cuda-gpu-info.cu)
|
|
37
|
+
|
|
38
|
+
add_compile_definitions(GPU_INFO_USE_CUBLAS)
|
|
39
|
+
|
|
40
|
+
if (LLAMA_STATIC)
|
|
41
|
+
set(LLAMA_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS} CUDA::cudart_static)
|
|
42
|
+
else()
|
|
43
|
+
set(LLAMA_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS} CUDA::cudart)
|
|
44
|
+
endif()
|
|
45
|
+
|
|
46
|
+
set(GPU_INFO_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS} CUDA::cuda_driver)
|
|
47
|
+
|
|
48
|
+
if (NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
|
|
49
|
+
# copied from llama.cpp/CMakLists.txt under "if (NOT DEFINED CMAKE_CUDA_ARCHITECTURES)"
|
|
50
|
+
if (LLAMA_CUDA_F16 OR LLAMA_CUDA_DMMV_F16)
|
|
51
|
+
set(CMAKE_CUDA_ARCHITECTURES "60;61;70")
|
|
52
|
+
else()
|
|
53
|
+
set(CMAKE_CUDA_ARCHITECTURES "52;61;70")
|
|
54
|
+
endif()
|
|
55
|
+
endif()
|
|
56
|
+
else()
|
|
57
|
+
message(WARNING "cuBLAS not found. Not using it for GPU info")
|
|
58
|
+
endif()
|
|
59
|
+
endif()
|
|
60
|
+
|
|
61
|
+
if (LLAMA_HIPBLAS)
|
|
62
|
+
list(APPEND CMAKE_PREFIX_PATH /opt/rocm)
|
|
63
|
+
|
|
64
|
+
if (NOT ${CMAKE_C_COMPILER_ID} MATCHES "Clang")
|
|
65
|
+
message(WARNING "Only LLVM is supported for HIP, hint: CC=/opt/rocm/llvm/bin/clang")
|
|
66
|
+
endif()
|
|
67
|
+
if (NOT ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
|
|
68
|
+
message(WARNING "Only LLVM is supported for HIP, hint: CXX=/opt/rocm/llvm/bin/clang++")
|
|
69
|
+
endif()
|
|
70
|
+
|
|
71
|
+
find_package(hip)
|
|
72
|
+
find_package(hipblas)
|
|
73
|
+
find_package(rocblas)
|
|
74
|
+
|
|
75
|
+
if (${hipblas_FOUND} AND ${hip_FOUND})
|
|
76
|
+
message(STATUS "Using HIP and hipBLAS for GPU info")
|
|
77
|
+
add_compile_definitions(GPU_INFO_USE_HIPBLAS GPU_INFO_USE_CUBLAS)
|
|
78
|
+
add_library(gpu-info-rocm OBJECT gpuInfo/cuda-gpu-info.cu gpuInfo/cuda-gpu-info.h)
|
|
79
|
+
set_source_files_properties(gpuInfo/cuda-gpu-info.cu PROPERTIES LANGUAGE CXX)
|
|
80
|
+
target_link_libraries(gpu-info-rocm PRIVATE hip::device PUBLIC hip::host roc::rocblas roc::hipblas)
|
|
81
|
+
|
|
82
|
+
set(GPU_INFO_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS} gpu-info-rocm)
|
|
83
|
+
else()
|
|
84
|
+
message(WARNING "hipBLAS or HIP not found. Try setting CMAKE_PREFIX_PATH=/opt/rocm")
|
|
85
|
+
endif()
|
|
86
|
+
endif()
|
|
87
|
+
|
|
88
|
+
if (LLAMA_METAL)
|
|
89
|
+
find_library(FOUNDATION_LIBRARY Foundation REQUIRED)
|
|
90
|
+
find_library(METAL_FRAMEWORK Metal REQUIRED)
|
|
91
|
+
find_library(METALKIT_FRAMEWORK MetalKit REQUIRED)
|
|
92
|
+
|
|
93
|
+
message(STATUS "Using Metal for GPU info")
|
|
94
|
+
set(GPU_INFO_HEADERS ${GPU_INFO_HEADERS} gpuInfo/metal-gpu-info.h)
|
|
95
|
+
set(GPU_INFO_SOURCES ${GPU_INFO_SOURCES} gpuInfo/metal-gpu-info.mm)
|
|
96
|
+
|
|
97
|
+
add_compile_definitions(GPU_INFO_USE_METAL)
|
|
98
|
+
|
|
99
|
+
set(GPU_INFO_EXTRA_LIBS ${GPU_INFO_EXTRA_LIBS}
|
|
100
|
+
${FOUNDATION_LIBRARY}
|
|
101
|
+
${METAL_FRAMEWORK}
|
|
102
|
+
${METALKIT_FRAMEWORK}
|
|
103
|
+
)
|
|
104
|
+
endif()
|
|
105
|
+
|
|
106
|
+
file(GLOB SOURCE_FILES "addon.cpp" ${GPU_INFO_SOURCES})
|
|
107
|
+
|
|
108
|
+
add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} ${CMAKE_JS_SRC} ${GPU_INFO_HEADERS})
|
|
28
109
|
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "" SUFFIX ".node")
|
|
29
110
|
target_link_libraries(${PROJECT_NAME} ${CMAKE_JS_LIB})
|
|
30
111
|
target_link_libraries(${PROJECT_NAME} "llama")
|
|
31
112
|
target_link_libraries(${PROJECT_NAME} "common")
|
|
32
113
|
|
|
114
|
+
if (DEFINED GPU_INFO_EXTRA_LIBS)
|
|
115
|
+
target_link_libraries(${PROJECT_NAME} ${GPU_INFO_EXTRA_LIBS})
|
|
116
|
+
endif()
|
|
117
|
+
|
|
33
118
|
if(MSVC AND CMAKE_JS_NODELIB_DEF AND CMAKE_JS_NODELIB_TARGET)
|
|
34
119
|
# Generate node.lib
|
|
35
120
|
execute_process(COMMAND ${CMAKE_AR} /def:${CMAKE_JS_NODELIB_DEF} /out:${CMAKE_JS_NODELIB_TARGET} ${CMAKE_STATIC_LINKER_FLAGS})
|