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 @@
|
|
|
1
|
+
{"version":3,"file":"SignalingServer.js","sourceRoot":"","sources":["../../../src/ptr/node/SignalingServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/ptr/node/cli.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
#!/usr/bin/env npx tsx
|
|
2
|
+
import { CLMLoader } from './CLMLoader.js';
|
|
3
|
+
import { CLMRunner } from './CLMRunner.js';
|
|
4
|
+
import { RuntimeFactory } from './Runtimes.js';
|
|
5
|
+
import * as path from 'path';
|
|
6
|
+
import * as fs from 'fs';
|
|
7
|
+
import { fileURLToPath } from 'url';
|
|
8
|
+
// ESM compatibility
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = path.dirname(__filename);
|
|
11
|
+
// Constants
|
|
12
|
+
const PROJECT_ROOT = path.resolve(__dirname, '../../../../');
|
|
13
|
+
// Colors
|
|
14
|
+
const colors = {
|
|
15
|
+
reset: '\x1b[0m',
|
|
16
|
+
bright: '\x1b[1m',
|
|
17
|
+
green: '\x1b[32m',
|
|
18
|
+
yellow: '\x1b[33m',
|
|
19
|
+
blue: '\x1b[34m',
|
|
20
|
+
cyan: '\x1b[36m',
|
|
21
|
+
red: '\x1b[31m',
|
|
22
|
+
};
|
|
23
|
+
function log(msg) {
|
|
24
|
+
console.log(msg);
|
|
25
|
+
}
|
|
26
|
+
function printHeader(title) {
|
|
27
|
+
log(`\n${colors.bright}${colors.blue}${title}${colors.reset}`);
|
|
28
|
+
log('='.repeat(60));
|
|
29
|
+
}
|
|
30
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
31
|
+
// Commands
|
|
32
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
33
|
+
async function runCommand(args) {
|
|
34
|
+
// python -m mcard.ptr.cli run <file> [--context '{}'] [--test] [--verbose]
|
|
35
|
+
let file = null;
|
|
36
|
+
let contextStr = '{}';
|
|
37
|
+
let isTest = false;
|
|
38
|
+
let verbose = false;
|
|
39
|
+
// Simple arg parsing
|
|
40
|
+
for (let i = 0; i < args.length; i++) {
|
|
41
|
+
const arg = args[i];
|
|
42
|
+
if (arg === '--context' || arg === '-c') {
|
|
43
|
+
contextStr = args[++i];
|
|
44
|
+
}
|
|
45
|
+
else if (arg === '--test' || arg === '-t') {
|
|
46
|
+
isTest = true;
|
|
47
|
+
}
|
|
48
|
+
else if (arg === '--verbose' || arg === '-v') {
|
|
49
|
+
verbose = true;
|
|
50
|
+
}
|
|
51
|
+
else if (!arg.startsWith('-')) {
|
|
52
|
+
file = arg;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
if (!file) {
|
|
56
|
+
console.error(`${colors.red}Error: No CLM file specified.${colors.reset}`);
|
|
57
|
+
console.log('Usage: node cli.js run <file.yaml> [--context "{}"] [--test]');
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
const fullPath = path.resolve(process.cwd(), file);
|
|
61
|
+
if (!fs.existsSync(fullPath)) {
|
|
62
|
+
console.error(`${colors.red}Error: File not found: ${file}${colors.reset}`);
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
let context = {};
|
|
66
|
+
try {
|
|
67
|
+
context = JSON.parse(contextStr);
|
|
68
|
+
}
|
|
69
|
+
catch (e) {
|
|
70
|
+
console.error(`${colors.red}Error parsing context JSON: ${e}${colors.reset}`);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
const chapterDir = path.dirname(fullPath);
|
|
74
|
+
if (verbose) {
|
|
75
|
+
console.log(`📄 Loading CLM from: ${file}`);
|
|
76
|
+
if (Object.keys(context).length > 0)
|
|
77
|
+
console.log(`Context: ${JSON.stringify(context)}`);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
console.log(`📄 Loading CLM from: ${file}`);
|
|
81
|
+
}
|
|
82
|
+
const loader = new CLMLoader(PROJECT_ROOT);
|
|
83
|
+
const runner = new CLMRunner(PROJECT_ROOT);
|
|
84
|
+
try {
|
|
85
|
+
const clm = loader.load(fullPath);
|
|
86
|
+
// If --test is on, run examples if present, or single run otherwise
|
|
87
|
+
// The Python CLI logic:
|
|
88
|
+
// - loads CLM
|
|
89
|
+
// - runs runner.run_file
|
|
90
|
+
// - if --test, displays formatted results
|
|
91
|
+
// - else prints JSON
|
|
92
|
+
// Our JS Runner is slightly different. We need to decide whether to run examples or single execution.
|
|
93
|
+
// Python's runner handles both unified. JS has explicit executeCLM vs runExamples.
|
|
94
|
+
if (isTest) {
|
|
95
|
+
const banner = runner.buildCLMBanner(clm);
|
|
96
|
+
console.log('');
|
|
97
|
+
banner.header.forEach(line => console.log(line));
|
|
98
|
+
if (clm.examples && clm.examples.length > 0) {
|
|
99
|
+
console.log(`Log: ['Running ${clm.examples.length} test cases...']`);
|
|
100
|
+
const runResults = await runner.runExamples(clm, chapterDir);
|
|
101
|
+
const summary = runner.summarizeExampleRuns(clm, runResults);
|
|
102
|
+
summary.results.forEach((res, index) => {
|
|
103
|
+
const statusIcon = res.match ? '✅' : '❌';
|
|
104
|
+
console.log(`Test ${index + 1} [${JSON.stringify(res.input)}]: ${statusIcon} Got ${JSON.stringify(res.result)} (Expected ${JSON.stringify(res.expected)})`);
|
|
105
|
+
});
|
|
106
|
+
console.log(`\n${'='.repeat(60)}`);
|
|
107
|
+
console.log(`📊 Test Results: ${clm.chapter.title}`);
|
|
108
|
+
console.log(`${'='.repeat(60)}`);
|
|
109
|
+
if (summary.passed === summary.total) {
|
|
110
|
+
console.log(`Result: ✅ PASSED`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
console.log(`Result: ❌ FAILED`);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
const res = await runner.executeCLM(clm, chapterDir, context);
|
|
118
|
+
const status = res.success ? '✅ PASSED' : '❌ FAILED';
|
|
119
|
+
console.log(`Result: ${status}`);
|
|
120
|
+
if (res.success)
|
|
121
|
+
console.log(`Output: ${JSON.stringify(res.result)}`);
|
|
122
|
+
else
|
|
123
|
+
console.error(`Error: ${res.error}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
if (clm.examples && clm.examples.length > 0 && Object.keys(context).length === 0) {
|
|
128
|
+
const runResults = await runner.runExamples(clm, chapterDir);
|
|
129
|
+
const summary = runner.summarizeExampleRuns(clm, runResults);
|
|
130
|
+
const payload = runner.buildSummaryReport(clm, summary);
|
|
131
|
+
console.log(JSON.stringify(payload, null, 2));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
const res = await runner.executeCLM(clm, chapterDir, context);
|
|
135
|
+
const report = runner.buildExecutionReport(clm, res);
|
|
136
|
+
console.log(JSON.stringify(report, null, 2));
|
|
137
|
+
if (!res.success)
|
|
138
|
+
process.exit(1);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
catch (e) {
|
|
143
|
+
console.error(`${colors.red}❌ Execution failed: ${e.message}${colors.reset}`);
|
|
144
|
+
if (verbose)
|
|
145
|
+
console.error(e);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
async function statusCommand(args) {
|
|
150
|
+
printHeader('🌐 Polyglot Runtime Status (Node.js)');
|
|
151
|
+
try {
|
|
152
|
+
const status = await RuntimeFactory.getAvailableRuntimes();
|
|
153
|
+
const runtimes = Object.keys(status).sort();
|
|
154
|
+
let availableCount = 0;
|
|
155
|
+
for (const r of runtimes) {
|
|
156
|
+
const isAvailable = status[r];
|
|
157
|
+
const icon = isAvailable ? `${colors.green}✓${colors.reset}` : `${colors.red}✗${colors.reset}`;
|
|
158
|
+
const name = r.charAt(0).toUpperCase() + r.slice(1);
|
|
159
|
+
console.log(`${icon} ${name}`);
|
|
160
|
+
if (isAvailable)
|
|
161
|
+
availableCount++;
|
|
162
|
+
}
|
|
163
|
+
console.log(`\nAvailable: ${availableCount}/${runtimes.length} runtimes`);
|
|
164
|
+
}
|
|
165
|
+
catch (e) {
|
|
166
|
+
console.error('Error checking status:', e);
|
|
167
|
+
}
|
|
168
|
+
console.log();
|
|
169
|
+
}
|
|
170
|
+
async function listCommand(args) {
|
|
171
|
+
printHeader('📚 Available CLM Files (Node.js)');
|
|
172
|
+
// Search paths relative to PROJECT_ROOT
|
|
173
|
+
const searchPaths = ['chapters', 'sample_pcards'];
|
|
174
|
+
let found = false;
|
|
175
|
+
// Simple recursive search
|
|
176
|
+
function scanDir(dir) {
|
|
177
|
+
const full = path.join(PROJECT_ROOT, dir);
|
|
178
|
+
if (!fs.existsSync(full))
|
|
179
|
+
return;
|
|
180
|
+
const files = fs.readdirSync(full);
|
|
181
|
+
const yamlFiles = [];
|
|
182
|
+
for (const f of files) {
|
|
183
|
+
const fPath = path.join(dir, f);
|
|
184
|
+
const stats = fs.statSync(path.join(PROJECT_ROOT, fPath));
|
|
185
|
+
if (stats.isDirectory()) {
|
|
186
|
+
scanDir(fPath);
|
|
187
|
+
}
|
|
188
|
+
else if (f.endsWith('.yaml') || f.endsWith('.clm') || f.endsWith('.yml')) {
|
|
189
|
+
yamlFiles.push(fPath);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
if (yamlFiles.length > 0) {
|
|
193
|
+
found = true;
|
|
194
|
+
// Only print if we haven't printed this dir header?
|
|
195
|
+
// Just print files with relative paths
|
|
196
|
+
for (const f of yamlFiles) {
|
|
197
|
+
console.log(` • ${f}`);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
console.log(`📁 Project Root: ${PROJECT_ROOT}/`);
|
|
202
|
+
for (const d of searchPaths) {
|
|
203
|
+
scanDir(d);
|
|
204
|
+
}
|
|
205
|
+
if (!found) {
|
|
206
|
+
console.log("❌ No CLM files found in chapters/ or sample_pcards/");
|
|
207
|
+
}
|
|
208
|
+
console.log(`\n💡 Usage: npx tsx mcard-js/src/ptr/node/cli.ts run <file>`);
|
|
209
|
+
console.log();
|
|
210
|
+
}
|
|
211
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
212
|
+
// Main
|
|
213
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
214
|
+
async function main() {
|
|
215
|
+
const args = process.argv.slice(2);
|
|
216
|
+
if (args.length === 0) {
|
|
217
|
+
printHelp();
|
|
218
|
+
process.exit(1);
|
|
219
|
+
}
|
|
220
|
+
const command = args[0];
|
|
221
|
+
const commandArgs = args.slice(1);
|
|
222
|
+
switch (command) {
|
|
223
|
+
case 'run':
|
|
224
|
+
await runCommand(commandArgs);
|
|
225
|
+
break;
|
|
226
|
+
case 'status':
|
|
227
|
+
await statusCommand(commandArgs);
|
|
228
|
+
break;
|
|
229
|
+
case 'list':
|
|
230
|
+
await listCommand(commandArgs);
|
|
231
|
+
break;
|
|
232
|
+
case '--help':
|
|
233
|
+
case '-h':
|
|
234
|
+
case 'help':
|
|
235
|
+
printHelp();
|
|
236
|
+
break;
|
|
237
|
+
default:
|
|
238
|
+
console.error(`${colors.red}Unknown command: ${command}${colors.reset}`);
|
|
239
|
+
printHelp();
|
|
240
|
+
process.exit(1);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
function printHelp() {
|
|
244
|
+
console.log(`
|
|
245
|
+
${colors.bright}MCard PTR CLI (Node.js)${colors.reset}
|
|
246
|
+
|
|
247
|
+
Usage:
|
|
248
|
+
node cli.ts <command> [options]
|
|
249
|
+
|
|
250
|
+
Commands:
|
|
251
|
+
run <file> Execute a CLM Chapter/PCard
|
|
252
|
+
Options:
|
|
253
|
+
--context, -c <json> Context for execution
|
|
254
|
+
--test, -t Display results in test format
|
|
255
|
+
--verbose, -v Enable verbose output
|
|
256
|
+
|
|
257
|
+
status Show polyglot runtime status
|
|
258
|
+
list List available CLM files
|
|
259
|
+
|
|
260
|
+
Examples:
|
|
261
|
+
node cli.ts run chapters/chapter_01_arithmetic/addition_js.yaml --test
|
|
262
|
+
node cli.ts status
|
|
263
|
+
`);
|
|
264
|
+
}
|
|
265
|
+
main().catch(console.error);
|
|
266
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/ptr/node/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handle builtins for CLM execution.
|
|
3
|
+
*
|
|
4
|
+
* Implements handle_version and handle_prune operations.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Execute handle version operation.
|
|
8
|
+
*/
|
|
9
|
+
export declare function executeHandleVersion(ctx: Record<string, any>): Promise<any>;
|
|
10
|
+
/**
|
|
11
|
+
* Execute handle prune operation.
|
|
12
|
+
*/
|
|
13
|
+
export declare function executeHandlePrune(ctx: Record<string, any>): Promise<any>;
|
|
14
|
+
//# sourceMappingURL=handle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/builtins/handle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAmBjF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAkB/E"}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handle builtins for CLM execution.
|
|
3
|
+
*
|
|
4
|
+
* Implements handle_version and handle_prune operations.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Execute handle version operation.
|
|
8
|
+
*/
|
|
9
|
+
export async function executeHandleVersion(ctx) {
|
|
10
|
+
const examples = ctx.examples || [];
|
|
11
|
+
if (examples.length) {
|
|
12
|
+
return runVersionExamples(examples);
|
|
13
|
+
}
|
|
14
|
+
// Single execution mode
|
|
15
|
+
const inputData = ctx.input || ctx;
|
|
16
|
+
const handle = inputData.handle || ctx.handle || '';
|
|
17
|
+
const versions = inputData.versions || ctx.versions || [];
|
|
18
|
+
if (!handle) {
|
|
19
|
+
return { success: false, error: 'handle is required' };
|
|
20
|
+
}
|
|
21
|
+
if (!versions.length) {
|
|
22
|
+
return { success: false, error: 'versions list is required' };
|
|
23
|
+
}
|
|
24
|
+
return executeVersionSingle(handle, versions);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Execute handle prune operation.
|
|
28
|
+
*/
|
|
29
|
+
export async function executeHandlePrune(ctx) {
|
|
30
|
+
const examples = ctx.examples || [];
|
|
31
|
+
if (examples.length) {
|
|
32
|
+
return runPruneExamples(examples);
|
|
33
|
+
}
|
|
34
|
+
// Single execution mode
|
|
35
|
+
const inputData = ctx.input || ctx;
|
|
36
|
+
const handle = inputData.handle || ctx.handle || '';
|
|
37
|
+
const versions = inputData.versions || ctx.versions || [];
|
|
38
|
+
const pruneType = inputData.prune_type || ctx.prune_type || 'all';
|
|
39
|
+
const olderThanSeconds = inputData.older_than_seconds || ctx.older_than_seconds;
|
|
40
|
+
if (!handle) {
|
|
41
|
+
return { success: false, error: 'handle is required' };
|
|
42
|
+
}
|
|
43
|
+
return executePruneSingle(handle, versions, pruneType, olderThanSeconds);
|
|
44
|
+
}
|
|
45
|
+
// ─── Private Helpers ─────────────────────────────────────────────────────────
|
|
46
|
+
async function runVersionExamples(examples) {
|
|
47
|
+
const results = [];
|
|
48
|
+
for (const example of examples) {
|
|
49
|
+
const inputData = example.input || example;
|
|
50
|
+
const handle = inputData.handle || '';
|
|
51
|
+
const versions = inputData.versions || [];
|
|
52
|
+
if (!handle || !versions.length) {
|
|
53
|
+
results.push({
|
|
54
|
+
example_name: example.name || 'unnamed',
|
|
55
|
+
success: false,
|
|
56
|
+
error: 'handle and versions required'
|
|
57
|
+
});
|
|
58
|
+
continue;
|
|
59
|
+
}
|
|
60
|
+
const result = await executeVersionSingle(handle, versions);
|
|
61
|
+
result.example_name = example.name || 'unnamed';
|
|
62
|
+
// Check expected if provided
|
|
63
|
+
const expected = example.expected_output || {};
|
|
64
|
+
result.passed = expected.history_length !== undefined
|
|
65
|
+
? result.history_length === expected.history_length
|
|
66
|
+
: result.success || false;
|
|
67
|
+
results.push(result);
|
|
68
|
+
}
|
|
69
|
+
return { success: results.every(r => r.passed), results };
|
|
70
|
+
}
|
|
71
|
+
async function executeVersionSingle(handle, versions) {
|
|
72
|
+
const { SqliteNodeEngine } = await import('../../../../storage/SqliteNodeEngine.js');
|
|
73
|
+
const { CardCollection } = await import('../../../../model/CardCollection.js');
|
|
74
|
+
const { MCard } = await import('../../../../model/MCard.js');
|
|
75
|
+
const engine = new SqliteNodeEngine(':memory:');
|
|
76
|
+
const collection = new CardCollection(engine);
|
|
77
|
+
try {
|
|
78
|
+
// Add first version
|
|
79
|
+
const firstContent = versions[0].content || versions[0];
|
|
80
|
+
const card = await MCard.create(firstContent);
|
|
81
|
+
await collection.addWithHandle(card, handle);
|
|
82
|
+
// Apply subsequent updates
|
|
83
|
+
for (let i = 1; i < versions.length; i++) {
|
|
84
|
+
const content = versions[i].content || versions[i];
|
|
85
|
+
const newCard = await MCard.create(content);
|
|
86
|
+
await collection.updateHandle(handle, newCard);
|
|
87
|
+
}
|
|
88
|
+
// Get final state
|
|
89
|
+
const finalCard = await collection.getByHandle(handle);
|
|
90
|
+
const history = await collection.getHandleHistory(handle);
|
|
91
|
+
const finalContent = finalCard ? new TextDecoder().decode(finalCard.content) : null;
|
|
92
|
+
return {
|
|
93
|
+
success: true,
|
|
94
|
+
handle,
|
|
95
|
+
final_hash: finalCard ? finalCard.hash : null,
|
|
96
|
+
final_content: finalContent,
|
|
97
|
+
history_length: history.length,
|
|
98
|
+
history
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
return { success: false, error: e.message };
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
async function runPruneExamples(examples) {
|
|
106
|
+
const results = [];
|
|
107
|
+
for (const example of examples) {
|
|
108
|
+
const inputData = example.input || example;
|
|
109
|
+
const handle = inputData.handle || '';
|
|
110
|
+
const versions = inputData.versions || [];
|
|
111
|
+
const pruneType = inputData.prune_type || 'all';
|
|
112
|
+
const olderThanSeconds = inputData.older_than_seconds;
|
|
113
|
+
if (!handle) {
|
|
114
|
+
results.push({
|
|
115
|
+
example_name: example.name || 'unnamed',
|
|
116
|
+
success: false,
|
|
117
|
+
error: 'handle is required'
|
|
118
|
+
});
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
const result = await executePruneSingle(handle, versions, pruneType, olderThanSeconds);
|
|
122
|
+
result.example_name = example.name || 'unnamed';
|
|
123
|
+
// Check expected if provided
|
|
124
|
+
const expected = example.expected_output || {};
|
|
125
|
+
if (expected.history_after !== undefined) {
|
|
126
|
+
result.passed = result.history_after === expected.history_after;
|
|
127
|
+
}
|
|
128
|
+
else if (expected.deleted !== undefined) {
|
|
129
|
+
result.passed = result.deleted === expected.deleted;
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
result.passed = result.success || false;
|
|
133
|
+
}
|
|
134
|
+
results.push(result);
|
|
135
|
+
}
|
|
136
|
+
return { success: results.every(r => r.passed), results };
|
|
137
|
+
}
|
|
138
|
+
async function executePruneSingle(handle, versions, pruneType, olderThanSeconds) {
|
|
139
|
+
const { SqliteNodeEngine } = await import('../../../../storage/SqliteNodeEngine.js');
|
|
140
|
+
const { CardCollection } = await import('../../../../model/CardCollection.js');
|
|
141
|
+
const { MCard } = await import('../../../../model/MCard.js');
|
|
142
|
+
const engine = new SqliteNodeEngine(':memory:');
|
|
143
|
+
const collection = new CardCollection(engine);
|
|
144
|
+
try {
|
|
145
|
+
// Setup handle with versions if provided
|
|
146
|
+
if (versions.length) {
|
|
147
|
+
const firstContent = versions[0].content || versions[0];
|
|
148
|
+
const card = await MCard.create(firstContent);
|
|
149
|
+
await collection.addWithHandle(card, handle);
|
|
150
|
+
for (let i = 1; i < versions.length; i++) {
|
|
151
|
+
const content = versions[i].content || versions[i];
|
|
152
|
+
const newCard = await MCard.create(content);
|
|
153
|
+
await collection.updateHandle(handle, newCard);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const historyBefore = (await collection.getHandleHistory(handle)).length;
|
|
157
|
+
let deleted = 0;
|
|
158
|
+
if (pruneType === 'all') {
|
|
159
|
+
deleted = await collection.pruneHandleHistory(handle, { deleteAll: true });
|
|
160
|
+
}
|
|
161
|
+
else if (pruneType === 'older_than' && olderThanSeconds !== undefined) {
|
|
162
|
+
deleted = await collection.pruneHandleHistory(handle, { olderThan: `${olderThanSeconds}s` });
|
|
163
|
+
}
|
|
164
|
+
const historyAfter = (await collection.getHandleHistory(handle)).length;
|
|
165
|
+
return {
|
|
166
|
+
success: true,
|
|
167
|
+
handle,
|
|
168
|
+
history_before: historyBefore,
|
|
169
|
+
deleted,
|
|
170
|
+
history_after: historyAfter
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
catch (e) {
|
|
174
|
+
return { success: false, error: e.message };
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=handle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/builtins/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builtin detection and routing for CLM execution.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Check if a builtin should be handled by network runtime.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isNetworkBuiltin(builtin: string | undefined): boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Check if a builtin is a loader operation.
|
|
10
|
+
*/
|
|
11
|
+
export declare function isLoaderBuiltin(builtin: string | undefined, operation: string | undefined): boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Check if a builtin is a handle operation.
|
|
14
|
+
*/
|
|
15
|
+
export declare function isHandleBuiltin(builtin: string | undefined, operation: string | undefined): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Get the type of handle builtin.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getHandleBuiltinType(builtin: string | undefined, operation: string | undefined): 'version' | 'prune' | null;
|
|
20
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/builtins/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAiBH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAarE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAInG;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAKnG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,IAAI,CAI3H"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builtin detection and routing for CLM execution.
|
|
3
|
+
*/
|
|
4
|
+
// Network builtins that should be routed to NetworkRuntime
|
|
5
|
+
const NETWORK_BUILTINS = new Set([
|
|
6
|
+
'http_get', 'http_post', 'http_put', 'http_delete', 'http_patch',
|
|
7
|
+
'websocket_connect', 'websocket_send', 'websocket_listen',
|
|
8
|
+
'queue_send', 'queue_receive',
|
|
9
|
+
'load_url',
|
|
10
|
+
'mcard_send', 'mcard_read', 'mcard_sync',
|
|
11
|
+
'listen_http', 'listen_sync',
|
|
12
|
+
'session_record',
|
|
13
|
+
'run_command',
|
|
14
|
+
'clm_orchestrator',
|
|
15
|
+
'signaling_server',
|
|
16
|
+
'webrtc_connect', 'webrtc_send', 'webrtc_listen',
|
|
17
|
+
]);
|
|
18
|
+
/**
|
|
19
|
+
* Check if a builtin should be handled by network runtime.
|
|
20
|
+
*/
|
|
21
|
+
export function isNetworkBuiltin(builtin) {
|
|
22
|
+
if (!builtin)
|
|
23
|
+
return false;
|
|
24
|
+
// Check exact match
|
|
25
|
+
if (NETWORK_BUILTINS.has(builtin))
|
|
26
|
+
return true;
|
|
27
|
+
// Check prefix patterns
|
|
28
|
+
return (builtin.startsWith('http_') ||
|
|
29
|
+
builtin.startsWith('websocket_') ||
|
|
30
|
+
builtin.startsWith('queue_') ||
|
|
31
|
+
builtin.startsWith('webrtc_'));
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Check if a builtin is a loader operation.
|
|
35
|
+
*/
|
|
36
|
+
export function isLoaderBuiltin(builtin, operation) {
|
|
37
|
+
return builtin === 'loader' ||
|
|
38
|
+
builtin === 'load_files' ||
|
|
39
|
+
operation === 'loader';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Check if a builtin is a handle operation.
|
|
43
|
+
*/
|
|
44
|
+
export function isHandleBuiltin(builtin, operation) {
|
|
45
|
+
return builtin === 'handle_version' ||
|
|
46
|
+
operation === 'handle_version' ||
|
|
47
|
+
builtin === 'handle_prune' ||
|
|
48
|
+
operation === 'handle_prune';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get the type of handle builtin.
|
|
52
|
+
*/
|
|
53
|
+
export function getHandleBuiltinType(builtin, operation) {
|
|
54
|
+
if (builtin === 'handle_version' || operation === 'handle_version')
|
|
55
|
+
return 'version';
|
|
56
|
+
if (builtin === 'handle_prune' || operation === 'handle_prune')
|
|
57
|
+
return 'prune';
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ptr/node/clm/builtins/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,2DAA2D;AAC3D,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC7B,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY;IAChE,mBAAmB,EAAE,gBAAgB,EAAE,kBAAkB;IACzD,YAAY,EAAE,eAAe;IAC7B,UAAU;IACV,YAAY,EAAE,YAAY,EAAE,YAAY;IACxC,aAAa,EAAE,aAAa;IAC5B,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB,EAAE,aAAa,EAAE,eAAe;CACnD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IACxD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAE3B,oBAAoB;IACpB,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAE/C,wBAAwB;IACxB,OAAO,CACH,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3B,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;QAChC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC;QAC5B,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAChC,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B,EAAE,SAA6B;IACtF,OAAO,OAAO,KAAK,QAAQ;QACvB,OAAO,KAAK,YAAY;QACxB,SAAS,KAAK,QAAQ,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAA2B,EAAE,SAA6B;IACtF,OAAO,OAAO,KAAK,gBAAgB;QAC/B,SAAS,KAAK,gBAAgB;QAC9B,OAAO,KAAK,cAAc;QAC1B,SAAS,KAAK,cAAc,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA2B,EAAE,SAA6B;IAC3F,IAAI,OAAO,KAAK,gBAAgB,IAAI,SAAS,KAAK,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACrF,IAAI,OAAO,KAAK,cAAc,IAAI,SAAS,KAAK,cAAc;QAAE,OAAO,OAAO,CAAC;IAC/E,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLM Module for PTR (JavaScript)
|
|
3
|
+
* ================================
|
|
4
|
+
*
|
|
5
|
+
* This module provides modular CLM (Cubical Logic Model) execution.
|
|
6
|
+
*
|
|
7
|
+
* Organization:
|
|
8
|
+
* - types.ts: All TypeScript interfaces
|
|
9
|
+
* - utils.ts: Helper functions
|
|
10
|
+
* - loader.ts: CLMLoader for parsing CLM files
|
|
11
|
+
* - runner.ts: CLMRunner for executing CLMs
|
|
12
|
+
* - multiruntime.ts: Multi-runtime consensus execution
|
|
13
|
+
* - builtins/: Builtin operation handlers
|
|
14
|
+
*
|
|
15
|
+
* For backward compatibility, the main CLMLoader.ts and CLMRunner.ts
|
|
16
|
+
* re-export from this module.
|
|
17
|
+
*/
|
|
18
|
+
export type { CLMSpec, RuntimeConfig, CLMExample, ExecutionResult, RuntimeResult, MultiRuntimeResult, VerificationResult, RunExamplesSummary, ExampleRunResult, ExecutionReport, SummaryReport, CLMBannerLines, } from './types.js';
|
|
19
|
+
export { resultsEqual, asObject, buildBaseContext, buildExecutionResult, isRecursiveCLM, isMultiRuntime, } from './utils.js';
|
|
20
|
+
export { isNetworkBuiltin, isLoaderBuiltin, isHandleBuiltin, getHandleBuiltinType, } from './builtins/index.js';
|
|
21
|
+
export { executeHandleVersion, executeHandlePrune, } from './builtins/handle.js';
|
|
22
|
+
export { CLMLoader } from './loader.js';
|
|
23
|
+
export { CLMRunner } from './runner.js';
|
|
24
|
+
export { executeMultiRuntime } from './multiruntime.js';
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ptr/node/clm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,YAAY,EACR,OAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,cAAc,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,cAAc,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACH,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,oBAAoB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACH,oBAAoB,EACpB,kBAAkB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC"}
|