mcard-js 2.1.12 → 2.1.13
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 +14 -0
- package/dist/hash/HashValidator.d.ts +14 -0
- package/dist/hash/HashValidator.d.ts.map +1 -0
- package/dist/hash/HashValidator.js +57 -0
- package/dist/hash/HashValidator.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +38 -0
- package/dist/index.js.map +1 -0
- package/dist/model/CardCollection.d.ts +92 -0
- package/dist/model/CardCollection.d.ts.map +1 -0
- package/dist/model/CardCollection.js +217 -0
- package/dist/model/CardCollection.js.map +1 -0
- package/dist/model/ContentTypeInterpreter.d.ts +23 -0
- package/dist/model/ContentTypeInterpreter.d.ts.map +1 -0
- package/dist/model/ContentTypeInterpreter.js +140 -0
- package/dist/model/ContentTypeInterpreter.js.map +1 -0
- package/dist/model/EventProducer.d.ts +10 -0
- package/dist/model/EventProducer.d.ts.map +1 -0
- package/dist/model/EventProducer.js +46 -0
- package/dist/model/EventProducer.js.map +1 -0
- package/dist/model/GTime.d.ts +44 -0
- package/dist/model/GTime.d.ts.map +1 -0
- package/dist/model/GTime.js +91 -0
- package/dist/model/GTime.js.map +1 -0
- package/dist/model/Handle.d.ts +37 -0
- package/dist/model/Handle.d.ts.map +1 -0
- package/dist/model/Handle.js +90 -0
- package/dist/model/Handle.js.map +1 -0
- package/dist/model/MCard.d.ts +43 -0
- package/dist/model/MCard.d.ts.map +1 -0
- package/dist/model/MCard.js +76 -0
- package/dist/model/MCard.js.map +1 -0
- package/dist/model/constants.d.ts +45 -0
- package/dist/model/constants.d.ts.map +1 -0
- package/dist/model/constants.js +27 -0
- package/dist/model/constants.js.map +1 -0
- package/dist/model/detectors/BaseDetector.d.ts +26 -0
- package/dist/model/detectors/BaseDetector.d.ts.map +1 -0
- package/dist/model/detectors/BaseDetector.js +5 -0
- package/dist/model/detectors/BaseDetector.js.map +1 -0
- package/dist/model/detectors/BinaryDetector.d.ts +12 -0
- package/dist/model/detectors/BinaryDetector.d.ts.map +1 -0
- package/dist/model/detectors/BinaryDetector.js +82 -0
- package/dist/model/detectors/BinaryDetector.js.map +1 -0
- package/dist/model/detectors/ContentTypeInterpreter.d.ts +11 -0
- package/dist/model/detectors/ContentTypeInterpreter.d.ts.map +1 -0
- package/dist/model/detectors/ContentTypeInterpreter.js +51 -0
- package/dist/model/detectors/ContentTypeInterpreter.js.map +1 -0
- package/dist/model/detectors/DataFormatDetectors.d.ts +29 -0
- package/dist/model/detectors/DataFormatDetectors.d.ts.map +1 -0
- package/dist/model/detectors/DataFormatDetectors.js +223 -0
- package/dist/model/detectors/DataFormatDetectors.js.map +1 -0
- package/dist/model/detectors/LanguageDetector.d.ts +11 -0
- package/dist/model/detectors/LanguageDetector.d.ts.map +1 -0
- package/dist/model/detectors/LanguageDetector.js +148 -0
- package/dist/model/detectors/LanguageDetector.js.map +1 -0
- package/dist/model/detectors/MarkupDetectors.d.ts +22 -0
- package/dist/model/detectors/MarkupDetectors.d.ts.map +1 -0
- package/dist/model/detectors/MarkupDetectors.js +132 -0
- package/dist/model/detectors/MarkupDetectors.js.map +1 -0
- package/dist/model/detectors/OBJDetector.d.ts +8 -0
- package/dist/model/detectors/OBJDetector.d.ts.map +1 -0
- package/dist/model/detectors/OBJDetector.js +48 -0
- package/dist/model/detectors/OBJDetector.js.map +1 -0
- package/dist/model/detectors/registry.d.ts +13 -0
- package/dist/model/detectors/registry.d.ts.map +1 -0
- package/dist/model/detectors/registry.js +67 -0
- package/dist/model/detectors/registry.js.map +1 -0
- package/dist/monads/Either.d.ts +51 -0
- package/dist/monads/Either.d.ts.map +1 -0
- package/dist/monads/Either.js +82 -0
- package/dist/monads/Either.js.map +1 -0
- package/dist/monads/IO.d.ts +38 -0
- package/dist/monads/IO.d.ts.map +1 -0
- package/dist/monads/IO.js +66 -0
- package/dist/monads/IO.js.map +1 -0
- package/dist/monads/Maybe.d.ts +45 -0
- package/dist/monads/Maybe.d.ts.map +1 -0
- package/dist/monads/Maybe.js +73 -0
- package/dist/monads/Maybe.js.map +1 -0
- package/dist/monads/Reader.d.ts +29 -0
- package/dist/monads/Reader.d.ts.map +1 -0
- package/dist/monads/Reader.js +44 -0
- package/dist/monads/Reader.js.map +1 -0
- package/dist/monads/State.d.ts +33 -0
- package/dist/monads/State.d.ts.map +1 -0
- package/dist/monads/State.js +50 -0
- package/dist/monads/State.js.map +1 -0
- package/dist/monads/Writer.d.ts +29 -0
- package/dist/monads/Writer.d.ts.map +1 -0
- package/dist/monads/Writer.js +46 -0
- package/dist/monads/Writer.js.map +1 -0
- package/dist/ptr/FaroSidecar.d.ts +56 -0
- package/dist/ptr/FaroSidecar.d.ts.map +1 -0
- package/dist/ptr/FaroSidecar.js +102 -0
- package/dist/ptr/FaroSidecar.js.map +1 -0
- package/dist/ptr/LensProtocol.d.ts +84 -0
- package/dist/ptr/LensProtocol.d.ts.map +1 -0
- package/dist/ptr/LensProtocol.js +98 -0
- package/dist/ptr/LensProtocol.js.map +1 -0
- package/dist/ptr/SandboxWorker.d.ts +54 -0
- package/dist/ptr/SandboxWorker.d.ts.map +1 -0
- package/dist/ptr/SandboxWorker.js +172 -0
- package/dist/ptr/SandboxWorker.js.map +1 -0
- package/dist/ptr/common_types.d.ts +39 -0
- package/dist/ptr/common_types.d.ts.map +1 -0
- package/dist/ptr/common_types.js +12 -0
- package/dist/ptr/common_types.js.map +1 -0
- package/dist/ptr/lambda/AlphaConversion.d.ts +42 -0
- package/dist/ptr/lambda/AlphaConversion.d.ts.map +1 -0
- package/dist/ptr/lambda/AlphaConversion.js +244 -0
- package/dist/ptr/lambda/AlphaConversion.js.map +1 -0
- package/dist/ptr/lambda/BetaReduction.d.ts +73 -0
- package/dist/ptr/lambda/BetaReduction.d.ts.map +1 -0
- package/dist/ptr/lambda/BetaReduction.js +322 -0
- package/dist/ptr/lambda/BetaReduction.js.map +1 -0
- package/dist/ptr/lambda/EtaConversion.d.ts +65 -0
- package/dist/ptr/lambda/EtaConversion.d.ts.map +1 -0
- package/dist/ptr/lambda/EtaConversion.js +228 -0
- package/dist/ptr/lambda/EtaConversion.js.map +1 -0
- package/dist/ptr/lambda/FreeVariables.d.ts +44 -0
- package/dist/ptr/lambda/FreeVariables.d.ts.map +1 -0
- package/dist/ptr/lambda/FreeVariables.js +207 -0
- package/dist/ptr/lambda/FreeVariables.js.map +1 -0
- package/dist/ptr/lambda/LambdaRuntime.d.ts +80 -0
- package/dist/ptr/lambda/LambdaRuntime.d.ts.map +1 -0
- package/dist/ptr/lambda/LambdaRuntime.js +433 -0
- package/dist/ptr/lambda/LambdaRuntime.js.map +1 -0
- package/dist/ptr/lambda/LambdaTerm.d.ts +95 -0
- package/dist/ptr/lambda/LambdaTerm.d.ts.map +1 -0
- package/dist/ptr/lambda/LambdaTerm.js +159 -0
- package/dist/ptr/lambda/LambdaTerm.js.map +1 -0
- package/dist/ptr/lambda/index.d.ts +24 -0
- package/dist/ptr/lambda/index.d.ts.map +1 -0
- package/dist/ptr/lambda/index.js +34 -0
- package/dist/ptr/lambda/index.js.map +1 -0
- package/dist/ptr/llm/Config.d.ts +57 -0
- package/dist/ptr/llm/Config.d.ts.map +1 -0
- package/dist/ptr/llm/Config.js +183 -0
- package/dist/ptr/llm/Config.js.map +1 -0
- package/dist/ptr/llm/LLMRuntime.d.ts +35 -0
- package/dist/ptr/llm/LLMRuntime.d.ts.map +1 -0
- package/dist/ptr/llm/LLMRuntime.js +176 -0
- package/dist/ptr/llm/LLMRuntime.js.map +1 -0
- package/dist/ptr/llm/providers/LLMProvider.d.ts +43 -0
- package/dist/ptr/llm/providers/LLMProvider.d.ts.map +1 -0
- package/dist/ptr/llm/providers/LLMProvider.js +31 -0
- package/dist/ptr/llm/providers/LLMProvider.js.map +1 -0
- package/dist/ptr/llm/providers/MLCLLMProvider.d.ts +22 -0
- package/dist/ptr/llm/providers/MLCLLMProvider.d.ts.map +1 -0
- package/dist/ptr/llm/providers/MLCLLMProvider.js +155 -0
- package/dist/ptr/llm/providers/MLCLLMProvider.js.map +1 -0
- package/dist/ptr/llm/providers/OllamaEmbeddingProvider.d.ts +20 -0
- package/dist/ptr/llm/providers/OllamaEmbeddingProvider.d.ts.map +1 -0
- package/dist/ptr/llm/providers/OllamaEmbeddingProvider.js +42 -0
- package/dist/ptr/llm/providers/OllamaEmbeddingProvider.js.map +1 -0
- package/dist/ptr/llm/providers/OllamaProvider.d.ts +21 -0
- package/dist/ptr/llm/providers/OllamaProvider.d.ts.map +1 -0
- package/dist/ptr/llm/providers/OllamaProvider.js +158 -0
- package/dist/ptr/llm/providers/OllamaProvider.js.map +1 -0
- package/dist/ptr/llm/providers/WebLLMProvider.d.ts +22 -0
- package/dist/ptr/llm/providers/WebLLMProvider.d.ts.map +1 -0
- package/dist/ptr/llm/providers/WebLLMProvider.js +151 -0
- package/dist/ptr/llm/providers/WebLLMProvider.js.map +1 -0
- package/dist/ptr/node/Action.d.ts +426 -0
- package/dist/ptr/node/Action.d.ts.map +1 -0
- package/dist/ptr/node/Action.js +711 -0
- package/dist/ptr/node/Action.js.map +1 -0
- package/dist/ptr/node/CLMLoader.d.ts +18 -0
- package/dist/ptr/node/CLMLoader.d.ts.map +1 -0
- package/dist/ptr/node/CLMLoader.js +18 -0
- package/dist/ptr/node/CLMLoader.js.map +1 -0
- package/dist/ptr/node/CLMRunner.d.ts +34 -0
- package/dist/ptr/node/CLMRunner.d.ts.map +1 -0
- package/dist/ptr/node/CLMRunner.js +36 -0
- package/dist/ptr/node/CLMRunner.js.map +1 -0
- package/dist/ptr/node/FileSystemUtils.d.ts +40 -0
- package/dist/ptr/node/FileSystemUtils.d.ts.map +1 -0
- package/dist/ptr/node/FileSystemUtils.js +170 -0
- package/dist/ptr/node/FileSystemUtils.js.map +1 -0
- package/dist/ptr/node/NetworkConfig.d.ts +191 -0
- package/dist/ptr/node/NetworkConfig.d.ts.map +1 -0
- package/dist/ptr/node/NetworkConfig.js +8 -0
- package/dist/ptr/node/NetworkConfig.js.map +1 -0
- package/dist/ptr/node/NetworkRuntime.d.ts +38 -0
- package/dist/ptr/node/NetworkRuntime.d.ts.map +1 -0
- package/dist/ptr/node/NetworkRuntime.js +871 -0
- package/dist/ptr/node/NetworkRuntime.js.map +1 -0
- package/dist/ptr/node/P2PChatSession.d.ts +53 -0
- package/dist/ptr/node/P2PChatSession.d.ts.map +1 -0
- package/dist/ptr/node/P2PChatSession.js +154 -0
- package/dist/ptr/node/P2PChatSession.js.map +1 -0
- package/dist/ptr/node/RuntimeInterface.d.ts +4 -0
- package/dist/ptr/node/RuntimeInterface.d.ts.map +1 -0
- package/dist/ptr/node/RuntimeInterface.js +2 -0
- package/dist/ptr/node/RuntimeInterface.js.map +1 -0
- package/dist/ptr/node/Runtimes.d.ts +34 -0
- package/dist/ptr/node/Runtimes.d.ts.map +1 -0
- package/dist/ptr/node/Runtimes.js +38 -0
- package/dist/ptr/node/Runtimes.js.map +1 -0
- package/dist/ptr/node/SignalingServer.d.ts +37 -0
- package/dist/ptr/node/SignalingServer.d.ts.map +1 -0
- package/dist/ptr/node/SignalingServer.js +218 -0
- package/dist/ptr/node/SignalingServer.js.map +1 -0
- package/dist/ptr/node/cli.d.ts +3 -0
- package/dist/ptr/node/cli.d.ts.map +1 -0
- package/dist/ptr/node/cli.js +266 -0
- package/dist/ptr/node/cli.js.map +1 -0
- package/dist/ptr/node/clm/builtins/handle.d.ts +14 -0
- package/dist/ptr/node/clm/builtins/handle.d.ts.map +1 -0
- package/dist/ptr/node/clm/builtins/handle.js +177 -0
- package/dist/ptr/node/clm/builtins/handle.js.map +1 -0
- package/dist/ptr/node/clm/builtins/index.d.ts +20 -0
- package/dist/ptr/node/clm/builtins/index.d.ts.map +1 -0
- package/dist/ptr/node/clm/builtins/index.js +60 -0
- package/dist/ptr/node/clm/builtins/index.js.map +1 -0
- package/dist/ptr/node/clm/index.d.ts +25 -0
- package/dist/ptr/node/clm/index.d.ts.map +1 -0
- package/dist/ptr/node/clm/index.js +28 -0
- package/dist/ptr/node/clm/index.js.map +1 -0
- package/dist/ptr/node/clm/loader.d.ts +25 -0
- package/dist/ptr/node/clm/loader.d.ts.map +1 -0
- package/dist/ptr/node/clm/loader.js +146 -0
- package/dist/ptr/node/clm/loader.js.map +1 -0
- package/dist/ptr/node/clm/multiruntime.d.ts +9 -0
- package/dist/ptr/node/clm/multiruntime.d.ts.map +1 -0
- package/dist/ptr/node/clm/multiruntime.js +121 -0
- package/dist/ptr/node/clm/multiruntime.js.map +1 -0
- package/dist/ptr/node/clm/runner.d.ts +70 -0
- package/dist/ptr/node/clm/runner.d.ts.map +1 -0
- package/dist/ptr/node/clm/runner.js +324 -0
- package/dist/ptr/node/clm/runner.js.map +1 -0
- package/dist/ptr/node/clm/types.d.ts +166 -0
- package/dist/ptr/node/clm/types.d.ts.map +1 -0
- package/dist/ptr/node/clm/types.js +5 -0
- package/dist/ptr/node/clm/types.js.map +1 -0
- package/dist/ptr/node/clm/utils.d.ts +29 -0
- package/dist/ptr/node/clm/utils.d.ts.map +1 -0
- package/dist/ptr/node/clm/utils.js +88 -0
- package/dist/ptr/node/clm/utils.js.map +1 -0
- package/dist/ptr/node/network/HttpClient.d.ts +14 -0
- package/dist/ptr/node/network/HttpClient.d.ts.map +1 -0
- package/dist/ptr/node/network/HttpClient.js +139 -0
- package/dist/ptr/node/network/HttpClient.js.map +1 -0
- package/dist/ptr/node/network/MCardSerialization.d.ts +19 -0
- package/dist/ptr/node/network/MCardSerialization.d.ts.map +1 -0
- package/dist/ptr/node/network/MCardSerialization.js +41 -0
- package/dist/ptr/node/network/MCardSerialization.js.map +1 -0
- package/dist/ptr/node/network/NetworkInfrastructure.d.ts +37 -0
- package/dist/ptr/node/network/NetworkInfrastructure.d.ts.map +1 -0
- package/dist/ptr/node/network/NetworkInfrastructure.js +121 -0
- package/dist/ptr/node/network/NetworkInfrastructure.js.map +1 -0
- package/dist/ptr/node/network/NetworkSecurity.d.ts +24 -0
- package/dist/ptr/node/network/NetworkSecurity.d.ts.map +1 -0
- package/dist/ptr/node/network/NetworkSecurity.js +104 -0
- package/dist/ptr/node/network/NetworkSecurity.js.map +1 -0
- package/dist/ptr/node/runtimes/base.d.ts +31 -0
- package/dist/ptr/node/runtimes/base.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/base.js +33 -0
- package/dist/ptr/node/runtimes/base.js.map +1 -0
- package/dist/ptr/node/runtimes/binary.d.ts +10 -0
- package/dist/ptr/node/runtimes/binary.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/binary.js +16 -0
- package/dist/ptr/node/runtimes/binary.js.map +1 -0
- package/dist/ptr/node/runtimes/factory.d.ts +22 -0
- package/dist/ptr/node/runtimes/factory.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/factory.js +152 -0
- package/dist/ptr/node/runtimes/factory.js.map +1 -0
- package/dist/ptr/node/runtimes/index.d.ts +28 -0
- package/dist/ptr/node/runtimes/index.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/index.js +30 -0
- package/dist/ptr/node/runtimes/index.js.map +1 -0
- package/dist/ptr/node/runtimes/javascript.d.ts +22 -0
- package/dist/ptr/node/runtimes/javascript.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/javascript.js +125 -0
- package/dist/ptr/node/runtimes/javascript.js.map +1 -0
- package/dist/ptr/node/runtimes/lean.d.ts +10 -0
- package/dist/ptr/node/runtimes/lean.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/lean.js +60 -0
- package/dist/ptr/node/runtimes/lean.js.map +1 -0
- package/dist/ptr/node/runtimes/loader.d.ts +21 -0
- package/dist/ptr/node/runtimes/loader.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/loader.js +126 -0
- package/dist/ptr/node/runtimes/loader.js.map +1 -0
- package/dist/ptr/node/runtimes/python.d.ts +14 -0
- package/dist/ptr/node/runtimes/python.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/python.js +100 -0
- package/dist/ptr/node/runtimes/python.js.map +1 -0
- package/dist/ptr/node/runtimes/wasm.d.ts +10 -0
- package/dist/ptr/node/runtimes/wasm.d.ts.map +1 -0
- package/dist/ptr/node/runtimes/wasm.js +55 -0
- package/dist/ptr/node/runtimes/wasm.js.map +1 -0
- package/dist/rag/GraphRAGEngine.d.ts +26 -0
- package/dist/rag/GraphRAGEngine.d.ts.map +1 -0
- package/dist/rag/GraphRAGEngine.js +166 -0
- package/dist/rag/GraphRAGEngine.js.map +1 -0
- package/dist/rag/HandleVectorStore.d.ts +201 -0
- package/dist/rag/HandleVectorStore.d.ts.map +1 -0
- package/dist/rag/HandleVectorStore.js +527 -0
- package/dist/rag/HandleVectorStore.js.map +1 -0
- package/dist/rag/PersistentIndexer.d.ts +148 -0
- package/dist/rag/PersistentIndexer.d.ts.map +1 -0
- package/dist/rag/PersistentIndexer.js +302 -0
- package/dist/rag/PersistentIndexer.js.map +1 -0
- package/dist/rag/embeddings/VisionEmbeddingProvider.d.ts +87 -0
- package/dist/rag/embeddings/VisionEmbeddingProvider.d.ts.map +1 -0
- package/dist/rag/embeddings/VisionEmbeddingProvider.js +164 -0
- package/dist/rag/embeddings/VisionEmbeddingProvider.js.map +1 -0
- package/dist/rag/graph/community.d.ts +56 -0
- package/dist/rag/graph/community.d.ts.map +1 -0
- package/dist/rag/graph/community.js +247 -0
- package/dist/rag/graph/community.js.map +1 -0
- package/dist/rag/graph/extractor.d.ts +99 -0
- package/dist/rag/graph/extractor.d.ts.map +1 -0
- package/dist/rag/graph/extractor.js +210 -0
- package/dist/rag/graph/extractor.js.map +1 -0
- package/dist/rag/graph/store.d.ts +176 -0
- package/dist/rag/graph/store.d.ts.map +1 -0
- package/dist/rag/graph/store.js +504 -0
- package/dist/rag/graph/store.js.map +1 -0
- package/dist/rag/index.d.ts +20 -0
- package/dist/rag/index.d.ts.map +1 -0
- package/dist/rag/index.js +26 -0
- package/dist/rag/index.js.map +1 -0
- package/dist/rag/semanticVersioning.d.ts +187 -0
- package/dist/rag/semanticVersioning.d.ts.map +1 -0
- package/dist/rag/semanticVersioning.js +253 -0
- package/dist/rag/semanticVersioning.js.map +1 -0
- package/dist/storage/IndexedDBEngine.d.ts +33 -0
- package/dist/storage/IndexedDBEngine.d.ts.map +1 -0
- package/dist/storage/IndexedDBEngine.js +198 -0
- package/dist/storage/IndexedDBEngine.js.map +1 -0
- package/dist/storage/SqliteNodeEngine.d.ts +123 -0
- package/dist/storage/SqliteNodeEngine.d.ts.map +1 -0
- package/dist/storage/SqliteNodeEngine.js +385 -0
- package/dist/storage/SqliteNodeEngine.js.map +1 -0
- package/dist/storage/SqliteWasmEngine.d.ts +60 -0
- package/dist/storage/SqliteWasmEngine.d.ts.map +1 -0
- package/dist/storage/SqliteWasmEngine.js +193 -0
- package/dist/storage/SqliteWasmEngine.js.map +1 -0
- package/dist/storage/StorageAdapter.d.ts +42 -0
- package/dist/storage/StorageAdapter.d.ts.map +1 -0
- package/dist/storage/StorageAdapter.js +2 -0
- package/dist/storage/StorageAdapter.js.map +1 -0
- package/dist/storage/VectorStore.d.ts +202 -0
- package/dist/storage/VectorStore.d.ts.map +1 -0
- package/dist/storage/VectorStore.js +557 -0
- package/dist/storage/VectorStore.js.map +1 -0
- package/dist/storage/schema.d.ts +162 -0
- package/dist/storage/schema.d.ts.map +1 -0
- package/dist/storage/schema.js +373 -0
- package/dist/storage/schema.js.map +1 -0
- package/dist/util/FileIO.d.ts +44 -0
- package/dist/util/FileIO.d.ts.map +1 -0
- package/dist/util/FileIO.js +203 -0
- package/dist/util/FileIO.js.map +1 -0
- package/dist/util/Loader.d.ts +34 -0
- package/dist/util/Loader.d.ts.map +1 -0
- package/dist/util/Loader.js +168 -0
- package/dist/util/Loader.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lambda Term - Algebraic Data Type for Lambda Calculus
|
|
3
|
+
*
|
|
4
|
+
* Represents Lambda Calculus terms as content-addressable MCards.
|
|
5
|
+
* Each term variant is stored as JSON in MCard content, with sub-terms
|
|
6
|
+
* referenced by their SHA-256 hashes for structural sharing.
|
|
7
|
+
*
|
|
8
|
+
* The three term constructors mirror the BNF grammar:
|
|
9
|
+
* M, N ::= x | λx.M | M N
|
|
10
|
+
*
|
|
11
|
+
* @module mcard-js/ptr/lambda/LambdaTerm
|
|
12
|
+
*/
|
|
13
|
+
import { MCard } from '../../model/MCard';
|
|
14
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
15
|
+
// Constructors (Smart Constructors)
|
|
16
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
17
|
+
/**
|
|
18
|
+
* Create a variable term
|
|
19
|
+
*/
|
|
20
|
+
export function mkVar(name) {
|
|
21
|
+
return { tag: 'Var', name };
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create an abstraction term
|
|
25
|
+
*/
|
|
26
|
+
export function mkAbs(param, bodyHash) {
|
|
27
|
+
return { tag: 'Abs', param, body: bodyHash };
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create an application term
|
|
31
|
+
*/
|
|
32
|
+
export function mkApp(funcHash, argHash) {
|
|
33
|
+
return { tag: 'App', func: funcHash, arg: argHash };
|
|
34
|
+
}
|
|
35
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
36
|
+
// MCard Serialization
|
|
37
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
38
|
+
/**
|
|
39
|
+
* Serialize a Lambda term to MCard content (JSON string)
|
|
40
|
+
*/
|
|
41
|
+
export function serializeTerm(term) {
|
|
42
|
+
return JSON.stringify(term);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Deserialize MCard content to Lambda term
|
|
46
|
+
*/
|
|
47
|
+
export function deserializeTerm(content) {
|
|
48
|
+
const parsed = JSON.parse(content);
|
|
49
|
+
// Validate structure
|
|
50
|
+
if (!parsed.tag) {
|
|
51
|
+
throw new Error('Invalid Lambda term: missing tag');
|
|
52
|
+
}
|
|
53
|
+
switch (parsed.tag) {
|
|
54
|
+
case 'Var':
|
|
55
|
+
if (typeof parsed.name !== 'string') {
|
|
56
|
+
throw new Error('Invalid Var term: name must be string');
|
|
57
|
+
}
|
|
58
|
+
return mkVar(parsed.name);
|
|
59
|
+
case 'Abs':
|
|
60
|
+
if (typeof parsed.param !== 'string' || typeof parsed.body !== 'string') {
|
|
61
|
+
throw new Error('Invalid Abs term: param and body must be strings');
|
|
62
|
+
}
|
|
63
|
+
return mkAbs(parsed.param, parsed.body);
|
|
64
|
+
case 'App':
|
|
65
|
+
if (typeof parsed.func !== 'string' || typeof parsed.arg !== 'string') {
|
|
66
|
+
throw new Error('Invalid App term: func and arg must be strings');
|
|
67
|
+
}
|
|
68
|
+
return mkApp(parsed.func, parsed.arg);
|
|
69
|
+
default:
|
|
70
|
+
throw new Error(`Unknown Lambda term tag: ${parsed.tag}`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create an MCard from a Lambda term
|
|
75
|
+
*/
|
|
76
|
+
export async function termToMCard(term) {
|
|
77
|
+
return MCard.create(serializeTerm(term));
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Extract Lambda term from MCard
|
|
81
|
+
*/
|
|
82
|
+
export function mcardToTerm(mcard) {
|
|
83
|
+
return deserializeTerm(mcard.getContentAsText());
|
|
84
|
+
}
|
|
85
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
86
|
+
// Collection Operations
|
|
87
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
88
|
+
/**
|
|
89
|
+
* Store a Lambda term in the collection and return its hash
|
|
90
|
+
*/
|
|
91
|
+
export async function storeTerm(collection, term) {
|
|
92
|
+
const mcard = await termToMCard(term);
|
|
93
|
+
await collection.add(mcard);
|
|
94
|
+
return mcard.hash;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Retrieve a Lambda term from the collection by hash
|
|
98
|
+
*/
|
|
99
|
+
export async function loadTerm(collection, hash) {
|
|
100
|
+
const mcard = await collection.get(hash);
|
|
101
|
+
if (!mcard)
|
|
102
|
+
return null;
|
|
103
|
+
return mcardToTerm(mcard);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Check if a term exists in the collection
|
|
107
|
+
*/
|
|
108
|
+
export async function termExists(collection, hash) {
|
|
109
|
+
const mcard = await collection.get(hash);
|
|
110
|
+
return mcard !== null;
|
|
111
|
+
}
|
|
112
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
113
|
+
// Pretty Printing
|
|
114
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
115
|
+
/**
|
|
116
|
+
* Pretty-print a Lambda term (shallow - shows hashes for subterms)
|
|
117
|
+
*/
|
|
118
|
+
export function prettyPrintShallow(term) {
|
|
119
|
+
switch (term.tag) {
|
|
120
|
+
case 'Var':
|
|
121
|
+
return term.name;
|
|
122
|
+
case 'Abs':
|
|
123
|
+
return `λ${term.param}.〈${term.body.substring(0, 8)}…〉`;
|
|
124
|
+
case 'App':
|
|
125
|
+
return `(〈${term.func.substring(0, 8)}…〉 〈${term.arg.substring(0, 8)}…〉)`;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Pretty-print a Lambda term (deep - resolves all subterms from collection)
|
|
130
|
+
*/
|
|
131
|
+
export async function prettyPrintDeep(collection, hash) {
|
|
132
|
+
const term = await loadTerm(collection, hash);
|
|
133
|
+
if (!term)
|
|
134
|
+
return `〈missing:${hash.substring(0, 8)}…〉`;
|
|
135
|
+
switch (term.tag) {
|
|
136
|
+
case 'Var':
|
|
137
|
+
return term.name;
|
|
138
|
+
case 'Abs':
|
|
139
|
+
const body = await prettyPrintDeep(collection, term.body);
|
|
140
|
+
return `(λ${term.param}.${body})`;
|
|
141
|
+
case 'App':
|
|
142
|
+
const func = await prettyPrintDeep(collection, term.func);
|
|
143
|
+
const arg = await prettyPrintDeep(collection, term.arg);
|
|
144
|
+
return `(${func} ${arg})`;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
148
|
+
// Type Guards
|
|
149
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
150
|
+
export function isVar(term) {
|
|
151
|
+
return term.tag === 'Var';
|
|
152
|
+
}
|
|
153
|
+
export function isAbs(term) {
|
|
154
|
+
return term.tag === 'Abs';
|
|
155
|
+
}
|
|
156
|
+
export function isApp(term) {
|
|
157
|
+
return term.tag === 'App';
|
|
158
|
+
}
|
|
159
|
+
//# sourceMappingURL=LambdaTerm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LambdaTerm.js","sourceRoot":"","sources":["../../../src/ptr/lambda/LambdaTerm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lambda Calculus Module for PTR
|
|
3
|
+
*
|
|
4
|
+
* Implements α-β-η conversions on MCard-stored Lambda terms.
|
|
5
|
+
*
|
|
6
|
+
* This module provides:
|
|
7
|
+
* - LambdaTerm ADT: Var, Abs, App stored as MCard content
|
|
8
|
+
* - Alpha Conversion: Variable renaming
|
|
9
|
+
* - Beta Reduction: Function application
|
|
10
|
+
* - Eta Conversion: Extensional equivalence
|
|
11
|
+
* - LambdaRuntime: PTR-compatible runtime for CLM execution
|
|
12
|
+
*
|
|
13
|
+
* @module mcard-js/ptr/lambda
|
|
14
|
+
*/
|
|
15
|
+
export type { LambdaTerm, VarTerm, AbsTerm, AppTerm, } from './LambdaTerm';
|
|
16
|
+
export { mkVar, mkAbs, mkApp, serializeTerm, deserializeTerm, termToMCard, mcardToTerm, storeTerm, loadTerm, termExists, prettyPrintShallow, prettyPrintDeep, isVar, isAbs, isApp } from './LambdaTerm';
|
|
17
|
+
export { freeVariables, boundVariables, isFreeIn, isClosed, generateFresh, generateFreshFor, difference, intersection } from './FreeVariables';
|
|
18
|
+
export { alphaRename, alphaEquivalent, alphaNormalize } from './AlphaConversion';
|
|
19
|
+
export type { ReductionStrategy, NormalizationResult } from './BetaReduction';
|
|
20
|
+
export { isRedex, findLeftmostRedex, findInnermostRedex, betaReduce, reduceStep, normalize, isNormalForm, hasNormalForm } from './BetaReduction';
|
|
21
|
+
export { isEtaRedex, etaReduce, etaReduceE, etaExpand, etaEquivalent, etaNormalize, findEtaRedexes } from './EtaConversion';
|
|
22
|
+
export type { LambdaOperation, LambdaConfig, LambdaRuntimeResult } from './LambdaRuntime';
|
|
23
|
+
export { LambdaRuntime, parseLambdaExpression } from './LambdaRuntime';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ptr/lambda/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,YAAY,EAER,UAAU,EACV,OAAO,EACP,OAAO,EACP,OAAO,GACV,MAAM,cAAc,CAAC;AAEtB,OAAO,EAEH,KAAK,EACL,KAAK,EACL,KAAK,EAGL,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW,EAGX,SAAS,EACT,QAAQ,EACR,UAAU,EAGV,kBAAkB,EAClB,eAAe,EAGf,KAAK,EACL,KAAK,EACL,KAAK,EACR,MAAM,cAAc,CAAC;AAGtB,OAAO,EACH,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,YAAY,EACf,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACR,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACH,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,cAAc,EACjB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACR,eAAe,EACf,YAAY,EACZ,mBAAmB,EACtB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,aAAa,EACb,qBAAqB,EACxB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lambda Calculus Module for PTR
|
|
3
|
+
*
|
|
4
|
+
* Implements α-β-η conversions on MCard-stored Lambda terms.
|
|
5
|
+
*
|
|
6
|
+
* This module provides:
|
|
7
|
+
* - LambdaTerm ADT: Var, Abs, App stored as MCard content
|
|
8
|
+
* - Alpha Conversion: Variable renaming
|
|
9
|
+
* - Beta Reduction: Function application
|
|
10
|
+
* - Eta Conversion: Extensional equivalence
|
|
11
|
+
* - LambdaRuntime: PTR-compatible runtime for CLM execution
|
|
12
|
+
*
|
|
13
|
+
* @module mcard-js/ptr/lambda
|
|
14
|
+
*/
|
|
15
|
+
export {
|
|
16
|
+
// Smart Constructors
|
|
17
|
+
mkVar, mkAbs, mkApp,
|
|
18
|
+
// Serialization
|
|
19
|
+
serializeTerm, deserializeTerm, termToMCard, mcardToTerm,
|
|
20
|
+
// Storage
|
|
21
|
+
storeTerm, loadTerm, termExists,
|
|
22
|
+
// Pretty Printing
|
|
23
|
+
prettyPrintShallow, prettyPrintDeep,
|
|
24
|
+
// Type Guards
|
|
25
|
+
isVar, isAbs, isApp } from './LambdaTerm';
|
|
26
|
+
// Free Variables
|
|
27
|
+
export { freeVariables, boundVariables, isFreeIn, isClosed, generateFresh, generateFreshFor, difference, intersection } from './FreeVariables';
|
|
28
|
+
// Alpha Conversion
|
|
29
|
+
export { alphaRename, alphaEquivalent, alphaNormalize } from './AlphaConversion';
|
|
30
|
+
export { isRedex, findLeftmostRedex, findInnermostRedex, betaReduce, reduceStep, normalize, isNormalForm, hasNormalForm } from './BetaReduction';
|
|
31
|
+
// Eta Conversion
|
|
32
|
+
export { isEtaRedex, etaReduce, etaReduceE, etaExpand, etaEquivalent, etaNormalize, findEtaRedexes } from './EtaConversion';
|
|
33
|
+
export { LambdaRuntime, parseLambdaExpression } from './LambdaRuntime';
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ptr/lambda/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,OAAO;AACH,qBAAqB;AACrB,KAAK,EACL,KAAK,EACL,KAAK;AAEL,gBAAgB;AAChB,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW;AAEX,UAAU;AACV,SAAS,EACT,QAAQ,EACR,UAAU;AAEV,kBAAkB;AAClB,kBAAkB,EAClB,eAAe;AAEf,cAAc;AACd,KAAK,EACL,KAAK,EACL,KAAK,EACR,MAAM,cAAc,CAAC;AAEtB,iBAAiB;AACjB,OAAO,EACH,aAAa,EACb,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,YAAY,EACf,MAAM,iBAAiB,CAAC;AAEzB,mBAAmB;AACnB,OAAO,EACH,WAAW,EACX,eAAe,EACf,cAAc,EACjB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EACH,OAAO,EACP,iBAAiB,EACjB,kBAAkB,EAClB,UAAU,EACV,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EAChB,MAAM,iBAAiB,CAAC;AAEzB,iBAAiB;AACjB,OAAO,EACH,UAAU,EACV,SAAS,EACT,UAAU,EACV,SAAS,EACT,aAAa,EACb,YAAY,EACZ,cAAc,EACjB,MAAM,iBAAiB,CAAC;AASzB,OAAO,EACH,aAAa,EACb,qBAAqB,EACxB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Configuration Module
|
|
3
|
+
*
|
|
4
|
+
* Centralized configuration for LLM providers and execution parameters.
|
|
5
|
+
* Replicates mcard.ptr.core.llm.config
|
|
6
|
+
*/
|
|
7
|
+
export declare const DEFAULT_PROVIDER = "ollama";
|
|
8
|
+
export interface ProviderConfig {
|
|
9
|
+
base_url: string;
|
|
10
|
+
api_path: string;
|
|
11
|
+
chat_path: string;
|
|
12
|
+
models_path: string | null;
|
|
13
|
+
default_model: string;
|
|
14
|
+
available_models: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare const LLM_PROVIDERS: Record<string, ProviderConfig>;
|
|
17
|
+
export declare const DEFAULT_LLM_CONFIG: {
|
|
18
|
+
temperature: number;
|
|
19
|
+
max_tokens: number;
|
|
20
|
+
top_p: number;
|
|
21
|
+
top_k: number;
|
|
22
|
+
timeout: number;
|
|
23
|
+
stream: boolean;
|
|
24
|
+
response_format: string;
|
|
25
|
+
retry_count: number;
|
|
26
|
+
retry_delay: number;
|
|
27
|
+
};
|
|
28
|
+
export type ResponseFormat = 'text' | 'json' | 'structured' | 'markdown';
|
|
29
|
+
export declare const RESPONSE_FORMATS: ResponseFormat[];
|
|
30
|
+
export declare class LLMConfig {
|
|
31
|
+
provider: string;
|
|
32
|
+
model: string | null;
|
|
33
|
+
endpoint_url: string | null;
|
|
34
|
+
api_key: string | null;
|
|
35
|
+
system_prompt: string;
|
|
36
|
+
assistant_instruction: string;
|
|
37
|
+
temperature: number;
|
|
38
|
+
max_tokens: number;
|
|
39
|
+
top_p: number;
|
|
40
|
+
top_k: number | null;
|
|
41
|
+
frequency_penalty: number;
|
|
42
|
+
presence_penalty: number;
|
|
43
|
+
stop_sequences: string[];
|
|
44
|
+
response_format: string;
|
|
45
|
+
json_schema: Record<string, any> | null;
|
|
46
|
+
timeout: number;
|
|
47
|
+
retry_count: number;
|
|
48
|
+
retry_delay: number;
|
|
49
|
+
stream: boolean;
|
|
50
|
+
constructor(data?: Partial<LLMConfig>);
|
|
51
|
+
validate(): void;
|
|
52
|
+
get effective_model(): string;
|
|
53
|
+
get effective_base_url(): string;
|
|
54
|
+
to_provider_params(): Record<string, any>;
|
|
55
|
+
static from_concrete(concrete: any, context?: any): LLMConfig;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=Config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/ptr/llm/Config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAEzC,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAiDxD,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;CAU9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,CAAC;AACzE,eAAO,MAAM,gBAAgB,EAAE,cAAc,EAA+C,CAAC;AAE7F,qBAAa,SAAS;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,aAAa,EAAE,MAAM,CAAC;IACtB,qBAAqB,EAAE,MAAM,CAAC;IAE9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,EAAE,CAAC;IAEzB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAExC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;gBAEJ,IAAI,GAAE,OAAO,CAAC,SAAS,CAAM;IA4BzC,QAAQ;IASR,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,kBAAkB,IAAI,MAAM,CAK/B;IAED,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IA8BzC,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,GAAE,GAAQ,GAAG,SAAS;CA2BpE"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Configuration Module
|
|
3
|
+
*
|
|
4
|
+
* Centralized configuration for LLM providers and execution parameters.
|
|
5
|
+
* Replicates mcard.ptr.core.llm.config
|
|
6
|
+
*/
|
|
7
|
+
export const DEFAULT_PROVIDER = 'ollama';
|
|
8
|
+
export const LLM_PROVIDERS = {
|
|
9
|
+
'ollama': {
|
|
10
|
+
base_url: 'http://localhost:11434',
|
|
11
|
+
api_path: '/api/generate',
|
|
12
|
+
chat_path: '/api/chat',
|
|
13
|
+
models_path: '/api/tags',
|
|
14
|
+
default_model: 'gemma3:latest',
|
|
15
|
+
available_models: ['gemma3:latest', 'llama3:latest', 'qwen3:latest'],
|
|
16
|
+
},
|
|
17
|
+
'webllm': {
|
|
18
|
+
base_url: '', // running in-browser
|
|
19
|
+
api_path: '',
|
|
20
|
+
chat_path: '',
|
|
21
|
+
models_path: null,
|
|
22
|
+
default_model: 'Llama-3-8B-Instruct-q4f32_1-MLC',
|
|
23
|
+
available_models: ['Llama-3-8B-Instruct-q4f32_1-MLC', 'Hermes-2-Pro-Llama-3-8B-q4f16_1-MLC', 'Phi-3-Mini-4k-Instruct-q4f16_1-MLC'],
|
|
24
|
+
},
|
|
25
|
+
'mlc-llm': {
|
|
26
|
+
base_url: 'http://localhost:8000',
|
|
27
|
+
api_path: '/v1/completions',
|
|
28
|
+
chat_path: '/v1/chat/completions',
|
|
29
|
+
models_path: '/v1/models',
|
|
30
|
+
default_model: 'Llama-3-8B-Instruct-q4f16_1-MLC',
|
|
31
|
+
available_models: [],
|
|
32
|
+
},
|
|
33
|
+
'lmstudio': {
|
|
34
|
+
base_url: 'http://localhost:1234',
|
|
35
|
+
api_path: '/v1/completions',
|
|
36
|
+
chat_path: '/v1/chat/completions',
|
|
37
|
+
models_path: '/v1/models',
|
|
38
|
+
default_model: 'local-model',
|
|
39
|
+
available_models: [],
|
|
40
|
+
},
|
|
41
|
+
'openai': {
|
|
42
|
+
base_url: 'https://api.openai.com',
|
|
43
|
+
api_path: '/v1/completions',
|
|
44
|
+
chat_path: '/v1/chat/completions',
|
|
45
|
+
models_path: '/v1/models',
|
|
46
|
+
default_model: 'gpt-4',
|
|
47
|
+
available_models: ['gpt-4', 'gpt-4-turbo', 'gpt-3.5-turbo'],
|
|
48
|
+
},
|
|
49
|
+
'anthropic': {
|
|
50
|
+
base_url: 'https://api.anthropic.com',
|
|
51
|
+
api_path: '/v1/messages',
|
|
52
|
+
chat_path: '/v1/messages',
|
|
53
|
+
models_path: null,
|
|
54
|
+
default_model: 'claude-3-sonnet-20240229',
|
|
55
|
+
available_models: ['claude-3-opus', 'claude-3-sonnet', 'claude-3-haiku'],
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
export const DEFAULT_LLM_CONFIG = {
|
|
59
|
+
temperature: 0.7,
|
|
60
|
+
max_tokens: 2048,
|
|
61
|
+
top_p: 1.0,
|
|
62
|
+
top_k: 40,
|
|
63
|
+
timeout: 120,
|
|
64
|
+
stream: false,
|
|
65
|
+
response_format: 'text',
|
|
66
|
+
retry_count: 3,
|
|
67
|
+
retry_delay: 1.0,
|
|
68
|
+
};
|
|
69
|
+
export const RESPONSE_FORMATS = ['text', 'json', 'structured', 'markdown'];
|
|
70
|
+
export class LLMConfig {
|
|
71
|
+
provider;
|
|
72
|
+
model;
|
|
73
|
+
endpoint_url;
|
|
74
|
+
api_key;
|
|
75
|
+
system_prompt;
|
|
76
|
+
assistant_instruction;
|
|
77
|
+
temperature;
|
|
78
|
+
max_tokens;
|
|
79
|
+
top_p;
|
|
80
|
+
top_k;
|
|
81
|
+
frequency_penalty;
|
|
82
|
+
presence_penalty;
|
|
83
|
+
stop_sequences;
|
|
84
|
+
response_format;
|
|
85
|
+
json_schema;
|
|
86
|
+
timeout;
|
|
87
|
+
retry_count;
|
|
88
|
+
retry_delay;
|
|
89
|
+
stream;
|
|
90
|
+
constructor(data = {}) {
|
|
91
|
+
this.provider = data.provider || DEFAULT_PROVIDER;
|
|
92
|
+
this.model = data.model || null;
|
|
93
|
+
this.endpoint_url = data.endpoint_url || null;
|
|
94
|
+
this.api_key = data.api_key || null;
|
|
95
|
+
this.system_prompt = data.system_prompt || "";
|
|
96
|
+
this.assistant_instruction = data.assistant_instruction || "";
|
|
97
|
+
this.temperature = data.temperature ?? DEFAULT_LLM_CONFIG.temperature;
|
|
98
|
+
this.max_tokens = data.max_tokens ?? DEFAULT_LLM_CONFIG.max_tokens;
|
|
99
|
+
this.top_p = data.top_p ?? DEFAULT_LLM_CONFIG.top_p;
|
|
100
|
+
this.top_k = data.top_k ?? DEFAULT_LLM_CONFIG.top_k;
|
|
101
|
+
this.frequency_penalty = data.frequency_penalty || 0.0;
|
|
102
|
+
this.presence_penalty = data.presence_penalty || 0.0;
|
|
103
|
+
this.stop_sequences = data.stop_sequences || [];
|
|
104
|
+
this.response_format = data.response_format || DEFAULT_LLM_CONFIG.response_format;
|
|
105
|
+
this.json_schema = data.json_schema || null;
|
|
106
|
+
this.timeout = data.timeout ?? DEFAULT_LLM_CONFIG.timeout;
|
|
107
|
+
this.retry_count = data.retry_count ?? DEFAULT_LLM_CONFIG.retry_count;
|
|
108
|
+
this.retry_delay = data.retry_delay ?? DEFAULT_LLM_CONFIG.retry_delay;
|
|
109
|
+
this.stream = data.stream ?? DEFAULT_LLM_CONFIG.stream;
|
|
110
|
+
this.validate();
|
|
111
|
+
}
|
|
112
|
+
validate() {
|
|
113
|
+
if (!LLM_PROVIDERS[this.provider]) {
|
|
114
|
+
throw new Error(`Unknown provider: ${this.provider}. Available: ${Object.keys(LLM_PROVIDERS).join(', ')}`);
|
|
115
|
+
}
|
|
116
|
+
if (!RESPONSE_FORMATS.includes(this.response_format)) {
|
|
117
|
+
throw new Error(`Unknown response format: ${this.response_format}. Available: ${RESPONSE_FORMATS.join(', ')}`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
get effective_model() {
|
|
121
|
+
return this.model || LLM_PROVIDERS[this.provider].default_model;
|
|
122
|
+
}
|
|
123
|
+
get effective_base_url() {
|
|
124
|
+
if (this.endpoint_url) {
|
|
125
|
+
return this.endpoint_url.replace(/\/$/, '');
|
|
126
|
+
}
|
|
127
|
+
return LLM_PROVIDERS[this.provider].base_url;
|
|
128
|
+
}
|
|
129
|
+
to_provider_params() {
|
|
130
|
+
const params = {
|
|
131
|
+
model: this.effective_model,
|
|
132
|
+
temperature: this.temperature,
|
|
133
|
+
};
|
|
134
|
+
if (this.provider === 'ollama') {
|
|
135
|
+
params.options = {
|
|
136
|
+
num_predict: this.max_tokens,
|
|
137
|
+
top_p: this.top_p,
|
|
138
|
+
top_k: this.top_k,
|
|
139
|
+
temperature: this.temperature,
|
|
140
|
+
};
|
|
141
|
+
if (this.stop_sequences.length > 0) {
|
|
142
|
+
params.options.stop = this.stop_sequences;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// OpenAI compatible
|
|
147
|
+
params.max_tokens = this.max_tokens;
|
|
148
|
+
params.top_p = this.top_p;
|
|
149
|
+
if (this.stop_sequences.length > 0) {
|
|
150
|
+
params.stop = this.stop_sequences;
|
|
151
|
+
}
|
|
152
|
+
if (this.frequency_penalty)
|
|
153
|
+
params.frequency_penalty = this.frequency_penalty;
|
|
154
|
+
if (this.presence_penalty)
|
|
155
|
+
params.presence_penalty = this.presence_penalty;
|
|
156
|
+
}
|
|
157
|
+
return params;
|
|
158
|
+
}
|
|
159
|
+
static from_concrete(concrete, context = {}) {
|
|
160
|
+
// Start with defaults from concrete's llm_config
|
|
161
|
+
const configData = { ...(concrete.llm_config || {}) };
|
|
162
|
+
// Override with top-level concrete fields
|
|
163
|
+
['provider', 'model', 'system_prompt', 'temperature', 'max_tokens'].forEach(key => {
|
|
164
|
+
if (key in concrete) {
|
|
165
|
+
configData[key] = concrete[key];
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
// Override with context
|
|
169
|
+
const contextKeys = [
|
|
170
|
+
'provider', 'model', 'endpoint_url', 'api_key',
|
|
171
|
+
'system_prompt', 'assistant_instruction',
|
|
172
|
+
'temperature', 'max_tokens', 'top_p', 'top_k',
|
|
173
|
+
'response_format', 'timeout'
|
|
174
|
+
];
|
|
175
|
+
contextKeys.forEach(key => {
|
|
176
|
+
if (key in context) {
|
|
177
|
+
configData[key] = context[key];
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
return new LLMConfig(configData);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=Config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/ptr/llm/Config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Runtime Module
|
|
3
|
+
*
|
|
4
|
+
* Provides LLMRuntime for executing LLM prompts as part of the PTR polyglot runtime system.
|
|
5
|
+
* Replicates mcard.ptr.core.llm.runtime.LLMRuntime
|
|
6
|
+
*/
|
|
7
|
+
import { Runtime } from '../node/RuntimeInterface.js';
|
|
8
|
+
import { LLMConfig } from './Config.js';
|
|
9
|
+
import { LLMProvider } from './providers/LLMProvider.js';
|
|
10
|
+
import { IO } from '../../monads/IO.js';
|
|
11
|
+
import { Either } from '../../monads/Either.js';
|
|
12
|
+
export declare function get_provider(provider_name?: string, base_url?: string | null, timeout?: number): LLMProvider;
|
|
13
|
+
export declare class LLMRuntime implements Runtime {
|
|
14
|
+
provider_name: string;
|
|
15
|
+
private _provider;
|
|
16
|
+
constructor(provider_name?: string);
|
|
17
|
+
get provider(): LLMProvider;
|
|
18
|
+
execute(codeOrPath: string, context: unknown, config: any, chapterDir: string): Promise<unknown>;
|
|
19
|
+
private _execute_completion;
|
|
20
|
+
private _execute_chat;
|
|
21
|
+
private _format_response;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create a monadic LLM completion execution.
|
|
25
|
+
*
|
|
26
|
+
* Returns IO<Either<string, any>> for functional composition.
|
|
27
|
+
*/
|
|
28
|
+
export declare function promptMonad(prompt: string, config?: Partial<LLMConfig>): IO<Either<string, any>>;
|
|
29
|
+
/**
|
|
30
|
+
* Create a monadic LLM chat execution.
|
|
31
|
+
*
|
|
32
|
+
* Returns IO<Either<string, any>> for functional composition.
|
|
33
|
+
*/
|
|
34
|
+
export declare function chatMonad(messages?: any[] | null, prompt?: string | null, system_prompt?: string, config?: Partial<LLMConfig>): IO<Either<string, any>>;
|
|
35
|
+
//# sourceMappingURL=LLMRuntime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LLMRuntime.d.ts","sourceRoot":"","sources":["../../../src/ptr/llm/LLMRuntime.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,wBAAgB,YAAY,CACxB,aAAa,GAAE,MAAyB,EACxC,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,OAAO,GAAE,MAAY,GACtB,WAAW,CAYb;AAED,qBAAa,UAAW,YAAW,OAAO;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,SAAS,CAA4B;gBAEjC,aAAa,GAAE,MAAyB;IAIpD,IAAI,QAAQ,IAAI,WAAW,CAK1B;IAEK,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YA8CxF,mBAAmB;YAKnB,aAAa;IAiB3B,OAAO,CAAC,gBAAgB;CAsB3B;AAMD;;;;GAIG;AACH,wBAAgB,WAAW,CACvB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,OAAO,CAAC,SAAS,CAAM,GAChC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAkBzB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACrB,QAAQ,GAAE,GAAG,EAAE,GAAG,IAAW,EAC7B,MAAM,GAAE,MAAM,GAAG,IAAW,EAC5B,aAAa,GAAE,MAAW,EAC1B,MAAM,GAAE,OAAO,CAAC,SAAS,CAAM,GAChC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAgCzB"}
|