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":"IndexedDBEngine.js","sourceRoot":"","sources":["../../src/storage/IndexedDBEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SqliteNodeEngine - Native SQLite backend for Node.js using better-sqlite3
|
|
3
|
+
*
|
|
4
|
+
* Provides synchronous SQLite operations with the same schema as Python implementation.
|
|
5
|
+
* Supports both file-based and in-memory databases.
|
|
6
|
+
*/
|
|
7
|
+
import { MCard } from '../model/MCard';
|
|
8
|
+
import { StorageEngine, Page } from './StorageAdapter';
|
|
9
|
+
/**
|
|
10
|
+
* SqliteNodeEngine - Native SQLite for Node.js
|
|
11
|
+
*
|
|
12
|
+
* Uses better-sqlite3 for synchronous, high-performance SQLite operations.
|
|
13
|
+
*/
|
|
14
|
+
export declare class SqliteNodeEngine implements StorageEngine {
|
|
15
|
+
private db;
|
|
16
|
+
private dbPath;
|
|
17
|
+
/**
|
|
18
|
+
* Create a new SqliteNodeEngine
|
|
19
|
+
* @param dbPath Path to database file, or ':memory:' for in-memory database
|
|
20
|
+
*/
|
|
21
|
+
constructor(dbPath?: string);
|
|
22
|
+
/**
|
|
23
|
+
* Initialize database schema
|
|
24
|
+
*/
|
|
25
|
+
private setupDatabase;
|
|
26
|
+
/**
|
|
27
|
+
* Close the database connection
|
|
28
|
+
*/
|
|
29
|
+
close(): void;
|
|
30
|
+
/**
|
|
31
|
+
* Get the database path
|
|
32
|
+
*/
|
|
33
|
+
getDbPath(): string;
|
|
34
|
+
add(card: MCard): Promise<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Add a card synchronously (for performance-critical paths)
|
|
37
|
+
*/
|
|
38
|
+
addSync(card: MCard): string;
|
|
39
|
+
get(hash: string): Promise<MCard | null>;
|
|
40
|
+
/**
|
|
41
|
+
* Get a card synchronously
|
|
42
|
+
*/
|
|
43
|
+
getSync(hash: string): MCard | null;
|
|
44
|
+
delete(hash: string): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Delete a card synchronously
|
|
47
|
+
*/
|
|
48
|
+
deleteSync(hash: string): boolean;
|
|
49
|
+
getPage(pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
|
|
50
|
+
/**
|
|
51
|
+
* Get a page of cards synchronously
|
|
52
|
+
*/
|
|
53
|
+
getPageSync(pageNumber?: number, pageSize?: number): Page<MCard>;
|
|
54
|
+
count(): Promise<number>;
|
|
55
|
+
/**
|
|
56
|
+
* Count cards synchronously
|
|
57
|
+
*/
|
|
58
|
+
countSync(): number;
|
|
59
|
+
searchByHash(hashPrefix: string): Promise<MCard[]>;
|
|
60
|
+
search(query: string, pageNumber: number, pageSize: number): Promise<Page<MCard>>;
|
|
61
|
+
getAll(): Promise<MCard[]>;
|
|
62
|
+
clear(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Clear all data synchronously
|
|
65
|
+
* Delete in FK-safe order: children first, then parents
|
|
66
|
+
*/
|
|
67
|
+
clearSync(): void;
|
|
68
|
+
/**
|
|
69
|
+
* Search cards by string in content, hash, or g_time
|
|
70
|
+
*/
|
|
71
|
+
searchByString(searchString: string, pageNumber?: number, pageSize?: number): Page<MCard>;
|
|
72
|
+
/**
|
|
73
|
+
* Search cards by content pattern (binary-safe)
|
|
74
|
+
*/
|
|
75
|
+
searchByContent(searchPattern: string | Uint8Array, pageNumber?: number, pageSize?: number): Page<MCard>;
|
|
76
|
+
/**
|
|
77
|
+
* Get all cards (single page with all items)
|
|
78
|
+
*/
|
|
79
|
+
getAllCards(): Page<MCard>;
|
|
80
|
+
registerHandle(handle: string, hash: string): Promise<void>;
|
|
81
|
+
/**
|
|
82
|
+
* Register a handle synchronously
|
|
83
|
+
*/
|
|
84
|
+
registerHandleSync(handle: string, hash: string): void;
|
|
85
|
+
resolveHandle(handle: string): Promise<string | null>;
|
|
86
|
+
/**
|
|
87
|
+
* Resolve a handle synchronously
|
|
88
|
+
*/
|
|
89
|
+
resolveHandleSync(handle: string): string | null;
|
|
90
|
+
getByHandle(handle: string): Promise<MCard | null>;
|
|
91
|
+
/**
|
|
92
|
+
* Get card by handle synchronously
|
|
93
|
+
*/
|
|
94
|
+
getByHandleSync(handle: string): MCard | null;
|
|
95
|
+
updateHandle(handle: string, newHash: string): Promise<string>;
|
|
96
|
+
/**
|
|
97
|
+
* Update a handle synchronously
|
|
98
|
+
*/
|
|
99
|
+
updateHandleSync(handle: string, newHash: string): string;
|
|
100
|
+
getHandleHistory(handle: string): Promise<{
|
|
101
|
+
previousHash: string;
|
|
102
|
+
changedAt: string;
|
|
103
|
+
}[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Get handle history synchronously
|
|
106
|
+
*/
|
|
107
|
+
getHandleHistorySync(handle: string): {
|
|
108
|
+
previousHash: string;
|
|
109
|
+
changedAt: string;
|
|
110
|
+
}[];
|
|
111
|
+
pruneHandleHistory(handle: string, options?: {
|
|
112
|
+
olderThan?: string;
|
|
113
|
+
deleteAll?: boolean;
|
|
114
|
+
}): Promise<number>;
|
|
115
|
+
/**
|
|
116
|
+
* Prune handle history synchronously
|
|
117
|
+
*/
|
|
118
|
+
pruneHandleHistorySync(handle: string, options?: {
|
|
119
|
+
olderThan?: string;
|
|
120
|
+
deleteAll?: boolean;
|
|
121
|
+
}): number;
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=SqliteNodeEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteNodeEngine.d.ts","sourceRoot":"","sources":["../../src/storage/SqliteNodeEngine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAsBvD;;;;GAIG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAClD,OAAO,CAAC,EAAE,CAAwB;IAClC,OAAO,CAAC,MAAM,CAAS;IAEvB;;;OAGG;gBACS,MAAM,GAAE,MAAmB;IAUvC;;OAEG;IACH,OAAO,CAAC,aAAa;IAIrB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,SAAS,IAAI,MAAM;IAMb,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAQvC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,KAAK,GAAG,MAAM;IAQtB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAI9C;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAa7B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAM3B,OAAO,CAAC,UAAU,GAAE,MAAU,EAAE,QAAQ,GAAE,MAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAIjG;;OAEG;IACH,WAAW,CAAC,UAAU,GAAE,MAAU,EAAE,QAAQ,GAAE,MAA0B,GAAG,IAAI,CAAC,KAAK,CAAC;IA+BhF,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAI9B;;OAEG;IACH,SAAS,IAAI,MAAM;IAMb,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAOlD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IA0BjF,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAO1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;;OAGG;IACH,SAAS,IAAI,IAAI;IAQjB;;OAEG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,EAAE,QAAQ,GAAE,MAA0B,GAAG,IAAI,CAAC,KAAK,CAAC;IA0C/G;;OAEG;IACH,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,UAAU,GAAE,MAAU,EAAE,QAAQ,GAAE,MAA0B,GAAG,IAAI,CAAC,KAAK,CAAC;IA6C9H;;OAEG;IACH,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC;IAwBpB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAiBhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI3D;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAO1C,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAIxD;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAMvC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpE;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IA4BnD,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAI9F;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE;IAW7E,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAIpH;;OAEG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,MAAM;CAgB5G"}
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SqliteNodeEngine - Native SQLite backend for Node.js using better-sqlite3
|
|
3
|
+
*
|
|
4
|
+
* Provides synchronous SQLite operations with the same schema as Python implementation.
|
|
5
|
+
* Supports both file-based and in-memory databases.
|
|
6
|
+
*/
|
|
7
|
+
import { MCard } from '../model/MCard';
|
|
8
|
+
import { validateHandle } from '../model/Handle';
|
|
9
|
+
import { initCoreSchemas } from './schema';
|
|
10
|
+
import { createRequire } from 'module';
|
|
11
|
+
const DEFAULT_PAGE_SIZE = 10;
|
|
12
|
+
/**
|
|
13
|
+
* SqliteNodeEngine - Native SQLite for Node.js
|
|
14
|
+
*
|
|
15
|
+
* Uses better-sqlite3 for synchronous, high-performance SQLite operations.
|
|
16
|
+
*/
|
|
17
|
+
export class SqliteNodeEngine {
|
|
18
|
+
db;
|
|
19
|
+
dbPath;
|
|
20
|
+
/**
|
|
21
|
+
* Create a new SqliteNodeEngine
|
|
22
|
+
* @param dbPath Path to database file, or ':memory:' for in-memory database
|
|
23
|
+
*/
|
|
24
|
+
constructor(dbPath = ':memory:') {
|
|
25
|
+
this.dbPath = dbPath;
|
|
26
|
+
// Dynamic require to avoid bundling issues
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
28
|
+
const require = createRequire(import.meta.url);
|
|
29
|
+
const Database = require('better-sqlite3');
|
|
30
|
+
this.db = new Database(dbPath);
|
|
31
|
+
this.setupDatabase();
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Initialize database schema
|
|
35
|
+
*/
|
|
36
|
+
setupDatabase() {
|
|
37
|
+
initCoreSchemas(this.db);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Close the database connection
|
|
41
|
+
*/
|
|
42
|
+
close() {
|
|
43
|
+
this.db.close();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Get the database path
|
|
47
|
+
*/
|
|
48
|
+
getDbPath() {
|
|
49
|
+
return this.dbPath;
|
|
50
|
+
}
|
|
51
|
+
// =========== Card Operations ===========
|
|
52
|
+
async add(card) {
|
|
53
|
+
const stmt = this.db.prepare('INSERT OR REPLACE INTO card (hash, content, g_time) VALUES (?, ?, ?)');
|
|
54
|
+
stmt.run(card.hash, Buffer.from(card.content), card.g_time);
|
|
55
|
+
return card.hash;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Add a card synchronously (for performance-critical paths)
|
|
59
|
+
*/
|
|
60
|
+
addSync(card) {
|
|
61
|
+
const stmt = this.db.prepare('INSERT OR REPLACE INTO card (hash, content, g_time) VALUES (?, ?, ?)');
|
|
62
|
+
stmt.run(card.hash, Buffer.from(card.content), card.g_time);
|
|
63
|
+
return card.hash;
|
|
64
|
+
}
|
|
65
|
+
async get(hash) {
|
|
66
|
+
return this.getSync(hash);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get a card synchronously
|
|
70
|
+
*/
|
|
71
|
+
getSync(hash) {
|
|
72
|
+
const stmt = this.db.prepare('SELECT hash, content, g_time FROM card WHERE hash = ?');
|
|
73
|
+
const row = stmt.get(hash);
|
|
74
|
+
if (!row)
|
|
75
|
+
return null;
|
|
76
|
+
const content = row.content instanceof Buffer
|
|
77
|
+
? new Uint8Array(row.content)
|
|
78
|
+
: new Uint8Array(row.content);
|
|
79
|
+
return MCard.fromData(content, row.hash, row.g_time);
|
|
80
|
+
}
|
|
81
|
+
async delete(hash) {
|
|
82
|
+
this.deleteSync(hash);
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Delete a card synchronously
|
|
86
|
+
*/
|
|
87
|
+
deleteSync(hash) {
|
|
88
|
+
const stmt = this.db.prepare('DELETE FROM card WHERE hash = ?');
|
|
89
|
+
const result = stmt.run(hash);
|
|
90
|
+
return result.changes > 0;
|
|
91
|
+
}
|
|
92
|
+
async getPage(pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
93
|
+
return this.getPageSync(pageNumber, pageSize);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Get a page of cards synchronously
|
|
97
|
+
*/
|
|
98
|
+
getPageSync(pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
99
|
+
if (pageNumber < 1)
|
|
100
|
+
throw new Error('Page number must be >= 1');
|
|
101
|
+
if (pageSize < 1)
|
|
102
|
+
throw new Error('Page size must be >= 1');
|
|
103
|
+
const totalItems = this.countSync();
|
|
104
|
+
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
105
|
+
const offset = (pageNumber - 1) * pageSize;
|
|
106
|
+
const stmt = this.db.prepare('SELECT hash, content, g_time FROM card ORDER BY g_time DESC LIMIT ? OFFSET ?');
|
|
107
|
+
const rows = stmt.all(pageSize, offset);
|
|
108
|
+
const items = rows.map(row => {
|
|
109
|
+
const content = row.content instanceof Buffer
|
|
110
|
+
? new Uint8Array(row.content)
|
|
111
|
+
: new Uint8Array(row.content);
|
|
112
|
+
return MCard.fromData(content, row.hash, row.g_time);
|
|
113
|
+
});
|
|
114
|
+
return {
|
|
115
|
+
items,
|
|
116
|
+
totalItems,
|
|
117
|
+
pageNumber,
|
|
118
|
+
pageSize,
|
|
119
|
+
totalPages,
|
|
120
|
+
hasNext: offset + items.length < totalItems,
|
|
121
|
+
hasPrevious: pageNumber > 1
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
async count() {
|
|
125
|
+
return this.countSync();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Count cards synchronously
|
|
129
|
+
*/
|
|
130
|
+
countSync() {
|
|
131
|
+
const stmt = this.db.prepare('SELECT COUNT(*) as count FROM card');
|
|
132
|
+
const row = stmt.get();
|
|
133
|
+
return row.count;
|
|
134
|
+
}
|
|
135
|
+
async searchByHash(hashPrefix) {
|
|
136
|
+
const rows = this.db.prepare('SELECT hash, content, g_time FROM card WHERE hash LIKE ?').all(`${hashPrefix}%`);
|
|
137
|
+
return rows.map((row) => MCard.fromData(new Uint8Array(row.content), row.hash, row.g_time));
|
|
138
|
+
}
|
|
139
|
+
async search(query, pageNumber, pageSize) {
|
|
140
|
+
const offset = (pageNumber - 1) * pageSize;
|
|
141
|
+
const searchPattern = `%${query}%`;
|
|
142
|
+
const countResult = this.db.prepare('SELECT COUNT(*) as count FROM card WHERE CAST(content AS TEXT) LIKE ?').get(searchPattern);
|
|
143
|
+
const totalItems = countResult.count;
|
|
144
|
+
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
145
|
+
const rows = this.db.prepare('SELECT hash, content, g_time FROM card WHERE CAST(content AS TEXT) LIKE ? LIMIT ? OFFSET ?')
|
|
146
|
+
.all(searchPattern, pageSize, offset);
|
|
147
|
+
const items = rows.map((row) => MCard.fromData(new Uint8Array(row.content), row.hash, row.g_time));
|
|
148
|
+
return {
|
|
149
|
+
items,
|
|
150
|
+
totalItems,
|
|
151
|
+
pageNumber,
|
|
152
|
+
pageSize,
|
|
153
|
+
totalPages,
|
|
154
|
+
hasNext: pageNumber < totalPages,
|
|
155
|
+
hasPrevious: pageNumber > 1
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
async getAll() {
|
|
159
|
+
const rows = this.db.prepare('SELECT hash, content, g_time FROM card').all();
|
|
160
|
+
return rows.map((row) => MCard.fromData(new Uint8Array(row.content), row.hash, row.g_time));
|
|
161
|
+
}
|
|
162
|
+
async clear() {
|
|
163
|
+
this.clearSync();
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Clear all data synchronously
|
|
167
|
+
* Delete in FK-safe order: children first, then parents
|
|
168
|
+
*/
|
|
169
|
+
clearSync() {
|
|
170
|
+
this.db.exec('DELETE FROM handle_history');
|
|
171
|
+
this.db.exec('DELETE FROM handle_registry');
|
|
172
|
+
this.db.exec('DELETE FROM card');
|
|
173
|
+
}
|
|
174
|
+
// =========== Search Operations ===========
|
|
175
|
+
/**
|
|
176
|
+
* Search cards by string in content, hash, or g_time
|
|
177
|
+
*/
|
|
178
|
+
searchByString(searchString, pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
179
|
+
if (pageNumber < 1)
|
|
180
|
+
throw new Error('Page number must be >= 1');
|
|
181
|
+
if (pageSize < 1)
|
|
182
|
+
throw new Error('Page size must be >= 1');
|
|
183
|
+
const pattern = `%${searchString}%`;
|
|
184
|
+
const offset = (pageNumber - 1) * pageSize;
|
|
185
|
+
// Count matching items
|
|
186
|
+
const countStmt = this.db.prepare(`
|
|
187
|
+
SELECT COUNT(*) as count FROM card
|
|
188
|
+
WHERE hash LIKE ? OR g_time LIKE ? OR CAST(content AS TEXT) LIKE ?
|
|
189
|
+
`);
|
|
190
|
+
const countRow = countStmt.get(pattern, pattern, pattern);
|
|
191
|
+
const totalItems = countRow.count;
|
|
192
|
+
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
193
|
+
// Get items
|
|
194
|
+
const stmt = this.db.prepare(`
|
|
195
|
+
SELECT hash, content, g_time FROM card
|
|
196
|
+
WHERE hash LIKE ? OR g_time LIKE ? OR CAST(content AS TEXT) LIKE ?
|
|
197
|
+
ORDER BY g_time DESC LIMIT ? OFFSET ?
|
|
198
|
+
`);
|
|
199
|
+
const rows = stmt.all(pattern, pattern, pattern, pageSize, offset);
|
|
200
|
+
const items = rows.map(row => {
|
|
201
|
+
const content = row.content instanceof Buffer
|
|
202
|
+
? new Uint8Array(row.content)
|
|
203
|
+
: new Uint8Array(row.content);
|
|
204
|
+
return MCard.fromData(content, row.hash, row.g_time);
|
|
205
|
+
});
|
|
206
|
+
return {
|
|
207
|
+
items,
|
|
208
|
+
totalItems,
|
|
209
|
+
pageNumber,
|
|
210
|
+
pageSize,
|
|
211
|
+
totalPages,
|
|
212
|
+
hasNext: offset + items.length < totalItems,
|
|
213
|
+
hasPrevious: pageNumber > 1
|
|
214
|
+
};
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Search cards by content pattern (binary-safe)
|
|
218
|
+
*/
|
|
219
|
+
searchByContent(searchPattern, pageNumber = 1, pageSize = DEFAULT_PAGE_SIZE) {
|
|
220
|
+
if (pageNumber < 1)
|
|
221
|
+
throw new Error('Page number must be >= 1');
|
|
222
|
+
if (pageSize < 1)
|
|
223
|
+
throw new Error('Page size must be >= 1');
|
|
224
|
+
if (!searchPattern || (typeof searchPattern === 'string' && searchPattern.length === 0)) {
|
|
225
|
+
throw new Error('Search pattern cannot be empty');
|
|
226
|
+
}
|
|
227
|
+
const searchBytes = typeof searchPattern === 'string'
|
|
228
|
+
? Buffer.from(searchPattern, 'utf-8')
|
|
229
|
+
: Buffer.from(searchPattern);
|
|
230
|
+
const offset = (pageNumber - 1) * pageSize;
|
|
231
|
+
// Count matching items using INSTR for binary search
|
|
232
|
+
const countStmt = this.db.prepare('SELECT COUNT(*) as count FROM card WHERE INSTR(content, ?) > 0');
|
|
233
|
+
const countRow = countStmt.get(searchBytes);
|
|
234
|
+
const totalItems = countRow.count;
|
|
235
|
+
const totalPages = Math.ceil(totalItems / pageSize) || 1;
|
|
236
|
+
// Get items
|
|
237
|
+
const stmt = this.db.prepare(`
|
|
238
|
+
SELECT hash, content, g_time FROM card
|
|
239
|
+
WHERE INSTR(content, ?) > 0
|
|
240
|
+
ORDER BY g_time DESC LIMIT ? OFFSET ?
|
|
241
|
+
`);
|
|
242
|
+
const rows = stmt.all(searchBytes, pageSize, offset);
|
|
243
|
+
const items = rows.map(row => {
|
|
244
|
+
const content = row.content instanceof Buffer
|
|
245
|
+
? new Uint8Array(row.content)
|
|
246
|
+
: new Uint8Array(row.content);
|
|
247
|
+
return MCard.fromData(content, row.hash, row.g_time);
|
|
248
|
+
});
|
|
249
|
+
return {
|
|
250
|
+
items,
|
|
251
|
+
totalItems,
|
|
252
|
+
pageNumber,
|
|
253
|
+
pageSize,
|
|
254
|
+
totalPages,
|
|
255
|
+
hasNext: offset + items.length < totalItems,
|
|
256
|
+
hasPrevious: pageNumber > 1
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Get all cards (single page with all items)
|
|
261
|
+
*/
|
|
262
|
+
getAllCards() {
|
|
263
|
+
const stmt = this.db.prepare('SELECT hash, content, g_time FROM card ORDER BY g_time DESC');
|
|
264
|
+
const rows = stmt.all();
|
|
265
|
+
const items = rows.map(row => {
|
|
266
|
+
const content = row.content instanceof Buffer
|
|
267
|
+
? new Uint8Array(row.content)
|
|
268
|
+
: new Uint8Array(row.content);
|
|
269
|
+
return MCard.fromData(content, row.hash, row.g_time);
|
|
270
|
+
});
|
|
271
|
+
return {
|
|
272
|
+
items,
|
|
273
|
+
totalItems: items.length,
|
|
274
|
+
pageNumber: 1,
|
|
275
|
+
pageSize: items.length || 1,
|
|
276
|
+
totalPages: 1,
|
|
277
|
+
hasNext: false,
|
|
278
|
+
hasPrevious: false
|
|
279
|
+
};
|
|
280
|
+
}
|
|
281
|
+
// =========== Handle Operations ===========
|
|
282
|
+
async registerHandle(handle, hash) {
|
|
283
|
+
this.registerHandleSync(handle, hash);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Register a handle synchronously
|
|
287
|
+
*/
|
|
288
|
+
registerHandleSync(handle, hash) {
|
|
289
|
+
const normalized = validateHandle(handle);
|
|
290
|
+
const now = new Date().toISOString();
|
|
291
|
+
// Check if handle already exists
|
|
292
|
+
const checkStmt = this.db.prepare('SELECT handle FROM handle_registry WHERE handle = ?');
|
|
293
|
+
const existing = checkStmt.get(normalized);
|
|
294
|
+
if (existing) {
|
|
295
|
+
throw new Error(`Handle '${handle}' already exists.`);
|
|
296
|
+
}
|
|
297
|
+
const stmt = this.db.prepare('INSERT INTO handle_registry (handle, current_hash, created_at, updated_at) VALUES (?, ?, ?, ?)');
|
|
298
|
+
stmt.run(normalized, hash, now, now);
|
|
299
|
+
}
|
|
300
|
+
async resolveHandle(handle) {
|
|
301
|
+
return this.resolveHandleSync(handle);
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Resolve a handle synchronously
|
|
305
|
+
*/
|
|
306
|
+
resolveHandleSync(handle) {
|
|
307
|
+
const normalized = validateHandle(handle);
|
|
308
|
+
const stmt = this.db.prepare('SELECT current_hash FROM handle_registry WHERE handle = ?');
|
|
309
|
+
const row = stmt.get(normalized);
|
|
310
|
+
return row?.current_hash || null;
|
|
311
|
+
}
|
|
312
|
+
async getByHandle(handle) {
|
|
313
|
+
return this.getByHandleSync(handle);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Get card by handle synchronously
|
|
317
|
+
*/
|
|
318
|
+
getByHandleSync(handle) {
|
|
319
|
+
const hash = this.resolveHandleSync(handle);
|
|
320
|
+
if (!hash)
|
|
321
|
+
return null;
|
|
322
|
+
return this.getSync(hash);
|
|
323
|
+
}
|
|
324
|
+
async updateHandle(handle, newHash) {
|
|
325
|
+
return this.updateHandleSync(handle, newHash);
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Update a handle synchronously
|
|
329
|
+
*/
|
|
330
|
+
updateHandleSync(handle, newHash) {
|
|
331
|
+
const normalized = validateHandle(handle);
|
|
332
|
+
const now = new Date().toISOString();
|
|
333
|
+
// Get current hash
|
|
334
|
+
const getStmt = this.db.prepare('SELECT current_hash FROM handle_registry WHERE handle = ?');
|
|
335
|
+
const row = getStmt.get(normalized);
|
|
336
|
+
if (!row) {
|
|
337
|
+
throw new Error(`Handle '${handle}' not found.`);
|
|
338
|
+
}
|
|
339
|
+
const previousHash = row.current_hash;
|
|
340
|
+
// Record history
|
|
341
|
+
const historyStmt = this.db.prepare('INSERT INTO handle_history (handle, previous_hash, changed_at) VALUES (?, ?, ?)');
|
|
342
|
+
historyStmt.run(normalized, previousHash, now);
|
|
343
|
+
// Update handle
|
|
344
|
+
const updateStmt = this.db.prepare('UPDATE handle_registry SET current_hash = ?, updated_at = ? WHERE handle = ?');
|
|
345
|
+
updateStmt.run(newHash, now, normalized);
|
|
346
|
+
return previousHash;
|
|
347
|
+
}
|
|
348
|
+
async getHandleHistory(handle) {
|
|
349
|
+
return this.getHandleHistorySync(handle);
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Get handle history synchronously
|
|
353
|
+
*/
|
|
354
|
+
getHandleHistorySync(handle) {
|
|
355
|
+
const normalized = validateHandle(handle);
|
|
356
|
+
const stmt = this.db.prepare('SELECT previous_hash, changed_at FROM handle_history WHERE handle = ? ORDER BY id DESC');
|
|
357
|
+
const rows = stmt.all(normalized);
|
|
358
|
+
return rows.map(row => ({
|
|
359
|
+
previousHash: row.previous_hash,
|
|
360
|
+
changedAt: row.changed_at
|
|
361
|
+
}));
|
|
362
|
+
}
|
|
363
|
+
async pruneHandleHistory(handle, options = {}) {
|
|
364
|
+
return this.pruneHandleHistorySync(handle, options);
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Prune handle history synchronously
|
|
368
|
+
*/
|
|
369
|
+
pruneHandleHistorySync(handle, options = {}) {
|
|
370
|
+
const normalized = validateHandle(handle);
|
|
371
|
+
let stmt;
|
|
372
|
+
if (options.deleteAll) {
|
|
373
|
+
stmt = this.db.prepare('DELETE FROM handle_history WHERE handle = ?');
|
|
374
|
+
const result = stmt.run(normalized);
|
|
375
|
+
return result.changes;
|
|
376
|
+
}
|
|
377
|
+
else if (options.olderThan) {
|
|
378
|
+
stmt = this.db.prepare('DELETE FROM handle_history WHERE handle = ? AND changed_at < ?');
|
|
379
|
+
const result = stmt.run(normalized, options.olderThan);
|
|
380
|
+
return result.changes;
|
|
381
|
+
}
|
|
382
|
+
return 0;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=SqliteNodeEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteNodeEngine.js","sourceRoot":"","sources":["../../src/storage/SqliteNodeEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SqliteWasmEngine - SQLite WASM backend using sql.js
|
|
3
|
+
*
|
|
4
|
+
* Provides full SQL support with FTS5 and same schema as Python implementation.
|
|
5
|
+
* Persistence via IndexedDB or OPFS.
|
|
6
|
+
*/
|
|
7
|
+
import { MCard } from '../model/MCard';
|
|
8
|
+
import { StorageEngine, Page } from './StorageAdapter';
|
|
9
|
+
export type SqlJsDatabase = {
|
|
10
|
+
run: (sql: string, params?: unknown[]) => void;
|
|
11
|
+
exec: (sql: string) => {
|
|
12
|
+
columns: string[];
|
|
13
|
+
values: unknown[][];
|
|
14
|
+
}[];
|
|
15
|
+
prepare: (sql: string) => unknown;
|
|
16
|
+
export: () => Uint8Array;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* SqliteWasmEngine - Full SQL support via sql.js
|
|
20
|
+
*/
|
|
21
|
+
export declare class SqliteWasmEngine implements StorageEngine {
|
|
22
|
+
private db;
|
|
23
|
+
private SQL;
|
|
24
|
+
/**
|
|
25
|
+
* Initialize the database
|
|
26
|
+
* @param wasmUrl URL to sql-wasm.wasm file (optional, defaults to CDN)
|
|
27
|
+
* @param existingData Optional existing database as Uint8Array
|
|
28
|
+
*/
|
|
29
|
+
init(wasmUrl?: string, existingData?: Uint8Array): Promise<void>;
|
|
30
|
+
private ensureDb;
|
|
31
|
+
/**
|
|
32
|
+
* Export database as Uint8Array (for persistence)
|
|
33
|
+
*/
|
|
34
|
+
export(): Uint8Array;
|
|
35
|
+
/**
|
|
36
|
+
* Get raw sql.js Database for use with VectorStore adapter.
|
|
37
|
+
*
|
|
38
|
+
* Example:
|
|
39
|
+
* const vecStore = createWasmVectorStore(engine.getRawDb());
|
|
40
|
+
*/
|
|
41
|
+
getRawDb(): SqlJsDatabase;
|
|
42
|
+
add(card: MCard): Promise<string>;
|
|
43
|
+
get(hash: string): Promise<MCard | null>;
|
|
44
|
+
delete(hash: string): Promise<void>;
|
|
45
|
+
getPage(pageNumber: number, pageSize: number): Promise<Page<MCard>>;
|
|
46
|
+
count(): Promise<number>;
|
|
47
|
+
searchByHash(hashPrefix: string): Promise<MCard[]>;
|
|
48
|
+
search(query: string, pageNumber: number, pageSize: number): Promise<Page<MCard>>;
|
|
49
|
+
getAll(): Promise<MCard[]>;
|
|
50
|
+
clear(): Promise<void>;
|
|
51
|
+
registerHandle(handle: string, hash: string): Promise<void>;
|
|
52
|
+
resolveHandle(handle: string): Promise<string | null>;
|
|
53
|
+
getByHandle(handle: string): Promise<MCard | null>;
|
|
54
|
+
updateHandle(handle: string, newHash: string): Promise<string>;
|
|
55
|
+
getHandleHistory(handle: string): Promise<{
|
|
56
|
+
previousHash: string;
|
|
57
|
+
changedAt: string;
|
|
58
|
+
}[]>;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=SqliteWasmEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SqliteWasmEngine.d.ts","sourceRoot":"","sources":["../../src/storage/SqliteWasmEngine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAIvD,MAAM,MAAM,aAAa,GAAG;IACxB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC/C,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAA;KAAE,EAAE,CAAC;IACpE,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,MAAM,EAAE,MAAM,UAAU,CAAC;CAC5B,CAAC;AAMF;;GAEG;AACH,qBAAa,gBAAiB,YAAW,aAAa;IAClD,OAAO,CAAC,EAAE,CAA8B;IACxC,OAAO,CAAC,GAAG,CAA4B;IAEvC;;;;OAIG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBtE,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,MAAM,IAAI,UAAU;IAIpB;;;;;OAKG;IACH,QAAQ,IAAI,aAAa;IAMnB,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IASjC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASxC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAsBnE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAKxB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAalD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAoCjF,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAO1B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAStB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3D,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQrD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAMlD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6B9D,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAUjG"}
|