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.
Files changed (362) hide show
  1. package/README.md +14 -0
  2. package/dist/hash/HashValidator.d.ts +14 -0
  3. package/dist/hash/HashValidator.d.ts.map +1 -0
  4. package/dist/hash/HashValidator.js +57 -0
  5. package/dist/hash/HashValidator.js.map +1 -0
  6. package/dist/index.d.ts +29 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +38 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/model/CardCollection.d.ts +92 -0
  11. package/dist/model/CardCollection.d.ts.map +1 -0
  12. package/dist/model/CardCollection.js +217 -0
  13. package/dist/model/CardCollection.js.map +1 -0
  14. package/dist/model/ContentTypeInterpreter.d.ts +23 -0
  15. package/dist/model/ContentTypeInterpreter.d.ts.map +1 -0
  16. package/dist/model/ContentTypeInterpreter.js +140 -0
  17. package/dist/model/ContentTypeInterpreter.js.map +1 -0
  18. package/dist/model/EventProducer.d.ts +10 -0
  19. package/dist/model/EventProducer.d.ts.map +1 -0
  20. package/dist/model/EventProducer.js +46 -0
  21. package/dist/model/EventProducer.js.map +1 -0
  22. package/dist/model/GTime.d.ts +44 -0
  23. package/dist/model/GTime.d.ts.map +1 -0
  24. package/dist/model/GTime.js +91 -0
  25. package/dist/model/GTime.js.map +1 -0
  26. package/dist/model/Handle.d.ts +37 -0
  27. package/dist/model/Handle.d.ts.map +1 -0
  28. package/dist/model/Handle.js +90 -0
  29. package/dist/model/Handle.js.map +1 -0
  30. package/dist/model/MCard.d.ts +43 -0
  31. package/dist/model/MCard.d.ts.map +1 -0
  32. package/dist/model/MCard.js +76 -0
  33. package/dist/model/MCard.js.map +1 -0
  34. package/dist/model/constants.d.ts +45 -0
  35. package/dist/model/constants.d.ts.map +1 -0
  36. package/dist/model/constants.js +27 -0
  37. package/dist/model/constants.js.map +1 -0
  38. package/dist/model/detectors/BaseDetector.d.ts +26 -0
  39. package/dist/model/detectors/BaseDetector.d.ts.map +1 -0
  40. package/dist/model/detectors/BaseDetector.js +5 -0
  41. package/dist/model/detectors/BaseDetector.js.map +1 -0
  42. package/dist/model/detectors/BinaryDetector.d.ts +12 -0
  43. package/dist/model/detectors/BinaryDetector.d.ts.map +1 -0
  44. package/dist/model/detectors/BinaryDetector.js +82 -0
  45. package/dist/model/detectors/BinaryDetector.js.map +1 -0
  46. package/dist/model/detectors/ContentTypeInterpreter.d.ts +11 -0
  47. package/dist/model/detectors/ContentTypeInterpreter.d.ts.map +1 -0
  48. package/dist/model/detectors/ContentTypeInterpreter.js +51 -0
  49. package/dist/model/detectors/ContentTypeInterpreter.js.map +1 -0
  50. package/dist/model/detectors/DataFormatDetectors.d.ts +29 -0
  51. package/dist/model/detectors/DataFormatDetectors.d.ts.map +1 -0
  52. package/dist/model/detectors/DataFormatDetectors.js +223 -0
  53. package/dist/model/detectors/DataFormatDetectors.js.map +1 -0
  54. package/dist/model/detectors/LanguageDetector.d.ts +11 -0
  55. package/dist/model/detectors/LanguageDetector.d.ts.map +1 -0
  56. package/dist/model/detectors/LanguageDetector.js +148 -0
  57. package/dist/model/detectors/LanguageDetector.js.map +1 -0
  58. package/dist/model/detectors/MarkupDetectors.d.ts +22 -0
  59. package/dist/model/detectors/MarkupDetectors.d.ts.map +1 -0
  60. package/dist/model/detectors/MarkupDetectors.js +132 -0
  61. package/dist/model/detectors/MarkupDetectors.js.map +1 -0
  62. package/dist/model/detectors/OBJDetector.d.ts +8 -0
  63. package/dist/model/detectors/OBJDetector.d.ts.map +1 -0
  64. package/dist/model/detectors/OBJDetector.js +48 -0
  65. package/dist/model/detectors/OBJDetector.js.map +1 -0
  66. package/dist/model/detectors/registry.d.ts +13 -0
  67. package/dist/model/detectors/registry.d.ts.map +1 -0
  68. package/dist/model/detectors/registry.js +67 -0
  69. package/dist/model/detectors/registry.js.map +1 -0
  70. package/dist/monads/Either.d.ts +51 -0
  71. package/dist/monads/Either.d.ts.map +1 -0
  72. package/dist/monads/Either.js +82 -0
  73. package/dist/monads/Either.js.map +1 -0
  74. package/dist/monads/IO.d.ts +38 -0
  75. package/dist/monads/IO.d.ts.map +1 -0
  76. package/dist/monads/IO.js +66 -0
  77. package/dist/monads/IO.js.map +1 -0
  78. package/dist/monads/Maybe.d.ts +45 -0
  79. package/dist/monads/Maybe.d.ts.map +1 -0
  80. package/dist/monads/Maybe.js +73 -0
  81. package/dist/monads/Maybe.js.map +1 -0
  82. package/dist/monads/Reader.d.ts +29 -0
  83. package/dist/monads/Reader.d.ts.map +1 -0
  84. package/dist/monads/Reader.js +44 -0
  85. package/dist/monads/Reader.js.map +1 -0
  86. package/dist/monads/State.d.ts +33 -0
  87. package/dist/monads/State.d.ts.map +1 -0
  88. package/dist/monads/State.js +50 -0
  89. package/dist/monads/State.js.map +1 -0
  90. package/dist/monads/Writer.d.ts +29 -0
  91. package/dist/monads/Writer.d.ts.map +1 -0
  92. package/dist/monads/Writer.js +46 -0
  93. package/dist/monads/Writer.js.map +1 -0
  94. package/dist/ptr/FaroSidecar.d.ts +56 -0
  95. package/dist/ptr/FaroSidecar.d.ts.map +1 -0
  96. package/dist/ptr/FaroSidecar.js +102 -0
  97. package/dist/ptr/FaroSidecar.js.map +1 -0
  98. package/dist/ptr/LensProtocol.d.ts +84 -0
  99. package/dist/ptr/LensProtocol.d.ts.map +1 -0
  100. package/dist/ptr/LensProtocol.js +98 -0
  101. package/dist/ptr/LensProtocol.js.map +1 -0
  102. package/dist/ptr/SandboxWorker.d.ts +54 -0
  103. package/dist/ptr/SandboxWorker.d.ts.map +1 -0
  104. package/dist/ptr/SandboxWorker.js +172 -0
  105. package/dist/ptr/SandboxWorker.js.map +1 -0
  106. package/dist/ptr/common_types.d.ts +39 -0
  107. package/dist/ptr/common_types.d.ts.map +1 -0
  108. package/dist/ptr/common_types.js +12 -0
  109. package/dist/ptr/common_types.js.map +1 -0
  110. package/dist/ptr/lambda/AlphaConversion.d.ts +42 -0
  111. package/dist/ptr/lambda/AlphaConversion.d.ts.map +1 -0
  112. package/dist/ptr/lambda/AlphaConversion.js +244 -0
  113. package/dist/ptr/lambda/AlphaConversion.js.map +1 -0
  114. package/dist/ptr/lambda/BetaReduction.d.ts +73 -0
  115. package/dist/ptr/lambda/BetaReduction.d.ts.map +1 -0
  116. package/dist/ptr/lambda/BetaReduction.js +322 -0
  117. package/dist/ptr/lambda/BetaReduction.js.map +1 -0
  118. package/dist/ptr/lambda/EtaConversion.d.ts +65 -0
  119. package/dist/ptr/lambda/EtaConversion.d.ts.map +1 -0
  120. package/dist/ptr/lambda/EtaConversion.js +228 -0
  121. package/dist/ptr/lambda/EtaConversion.js.map +1 -0
  122. package/dist/ptr/lambda/FreeVariables.d.ts +44 -0
  123. package/dist/ptr/lambda/FreeVariables.d.ts.map +1 -0
  124. package/dist/ptr/lambda/FreeVariables.js +207 -0
  125. package/dist/ptr/lambda/FreeVariables.js.map +1 -0
  126. package/dist/ptr/lambda/LambdaRuntime.d.ts +80 -0
  127. package/dist/ptr/lambda/LambdaRuntime.d.ts.map +1 -0
  128. package/dist/ptr/lambda/LambdaRuntime.js +433 -0
  129. package/dist/ptr/lambda/LambdaRuntime.js.map +1 -0
  130. package/dist/ptr/lambda/LambdaTerm.d.ts +95 -0
  131. package/dist/ptr/lambda/LambdaTerm.d.ts.map +1 -0
  132. package/dist/ptr/lambda/LambdaTerm.js +159 -0
  133. package/dist/ptr/lambda/LambdaTerm.js.map +1 -0
  134. package/dist/ptr/lambda/index.d.ts +24 -0
  135. package/dist/ptr/lambda/index.d.ts.map +1 -0
  136. package/dist/ptr/lambda/index.js +34 -0
  137. package/dist/ptr/lambda/index.js.map +1 -0
  138. package/dist/ptr/llm/Config.d.ts +57 -0
  139. package/dist/ptr/llm/Config.d.ts.map +1 -0
  140. package/dist/ptr/llm/Config.js +183 -0
  141. package/dist/ptr/llm/Config.js.map +1 -0
  142. package/dist/ptr/llm/LLMRuntime.d.ts +35 -0
  143. package/dist/ptr/llm/LLMRuntime.d.ts.map +1 -0
  144. package/dist/ptr/llm/LLMRuntime.js +176 -0
  145. package/dist/ptr/llm/LLMRuntime.js.map +1 -0
  146. package/dist/ptr/llm/providers/LLMProvider.d.ts +43 -0
  147. package/dist/ptr/llm/providers/LLMProvider.d.ts.map +1 -0
  148. package/dist/ptr/llm/providers/LLMProvider.js +31 -0
  149. package/dist/ptr/llm/providers/LLMProvider.js.map +1 -0
  150. package/dist/ptr/llm/providers/MLCLLMProvider.d.ts +22 -0
  151. package/dist/ptr/llm/providers/MLCLLMProvider.d.ts.map +1 -0
  152. package/dist/ptr/llm/providers/MLCLLMProvider.js +155 -0
  153. package/dist/ptr/llm/providers/MLCLLMProvider.js.map +1 -0
  154. package/dist/ptr/llm/providers/OllamaEmbeddingProvider.d.ts +20 -0
  155. package/dist/ptr/llm/providers/OllamaEmbeddingProvider.d.ts.map +1 -0
  156. package/dist/ptr/llm/providers/OllamaEmbeddingProvider.js +42 -0
  157. package/dist/ptr/llm/providers/OllamaEmbeddingProvider.js.map +1 -0
  158. package/dist/ptr/llm/providers/OllamaProvider.d.ts +21 -0
  159. package/dist/ptr/llm/providers/OllamaProvider.d.ts.map +1 -0
  160. package/dist/ptr/llm/providers/OllamaProvider.js +158 -0
  161. package/dist/ptr/llm/providers/OllamaProvider.js.map +1 -0
  162. package/dist/ptr/llm/providers/WebLLMProvider.d.ts +22 -0
  163. package/dist/ptr/llm/providers/WebLLMProvider.d.ts.map +1 -0
  164. package/dist/ptr/llm/providers/WebLLMProvider.js +151 -0
  165. package/dist/ptr/llm/providers/WebLLMProvider.js.map +1 -0
  166. package/dist/ptr/node/Action.d.ts +426 -0
  167. package/dist/ptr/node/Action.d.ts.map +1 -0
  168. package/dist/ptr/node/Action.js +711 -0
  169. package/dist/ptr/node/Action.js.map +1 -0
  170. package/dist/ptr/node/CLMLoader.d.ts +18 -0
  171. package/dist/ptr/node/CLMLoader.d.ts.map +1 -0
  172. package/dist/ptr/node/CLMLoader.js +18 -0
  173. package/dist/ptr/node/CLMLoader.js.map +1 -0
  174. package/dist/ptr/node/CLMRunner.d.ts +34 -0
  175. package/dist/ptr/node/CLMRunner.d.ts.map +1 -0
  176. package/dist/ptr/node/CLMRunner.js +36 -0
  177. package/dist/ptr/node/CLMRunner.js.map +1 -0
  178. package/dist/ptr/node/FileSystemUtils.d.ts +40 -0
  179. package/dist/ptr/node/FileSystemUtils.d.ts.map +1 -0
  180. package/dist/ptr/node/FileSystemUtils.js +170 -0
  181. package/dist/ptr/node/FileSystemUtils.js.map +1 -0
  182. package/dist/ptr/node/NetworkConfig.d.ts +191 -0
  183. package/dist/ptr/node/NetworkConfig.d.ts.map +1 -0
  184. package/dist/ptr/node/NetworkConfig.js +8 -0
  185. package/dist/ptr/node/NetworkConfig.js.map +1 -0
  186. package/dist/ptr/node/NetworkRuntime.d.ts +38 -0
  187. package/dist/ptr/node/NetworkRuntime.d.ts.map +1 -0
  188. package/dist/ptr/node/NetworkRuntime.js +871 -0
  189. package/dist/ptr/node/NetworkRuntime.js.map +1 -0
  190. package/dist/ptr/node/P2PChatSession.d.ts +53 -0
  191. package/dist/ptr/node/P2PChatSession.d.ts.map +1 -0
  192. package/dist/ptr/node/P2PChatSession.js +154 -0
  193. package/dist/ptr/node/P2PChatSession.js.map +1 -0
  194. package/dist/ptr/node/RuntimeInterface.d.ts +4 -0
  195. package/dist/ptr/node/RuntimeInterface.d.ts.map +1 -0
  196. package/dist/ptr/node/RuntimeInterface.js +2 -0
  197. package/dist/ptr/node/RuntimeInterface.js.map +1 -0
  198. package/dist/ptr/node/Runtimes.d.ts +34 -0
  199. package/dist/ptr/node/Runtimes.d.ts.map +1 -0
  200. package/dist/ptr/node/Runtimes.js +38 -0
  201. package/dist/ptr/node/Runtimes.js.map +1 -0
  202. package/dist/ptr/node/SignalingServer.d.ts +37 -0
  203. package/dist/ptr/node/SignalingServer.d.ts.map +1 -0
  204. package/dist/ptr/node/SignalingServer.js +218 -0
  205. package/dist/ptr/node/SignalingServer.js.map +1 -0
  206. package/dist/ptr/node/cli.d.ts +3 -0
  207. package/dist/ptr/node/cli.d.ts.map +1 -0
  208. package/dist/ptr/node/cli.js +266 -0
  209. package/dist/ptr/node/cli.js.map +1 -0
  210. package/dist/ptr/node/clm/builtins/handle.d.ts +14 -0
  211. package/dist/ptr/node/clm/builtins/handle.d.ts.map +1 -0
  212. package/dist/ptr/node/clm/builtins/handle.js +177 -0
  213. package/dist/ptr/node/clm/builtins/handle.js.map +1 -0
  214. package/dist/ptr/node/clm/builtins/index.d.ts +20 -0
  215. package/dist/ptr/node/clm/builtins/index.d.ts.map +1 -0
  216. package/dist/ptr/node/clm/builtins/index.js +60 -0
  217. package/dist/ptr/node/clm/builtins/index.js.map +1 -0
  218. package/dist/ptr/node/clm/index.d.ts +25 -0
  219. package/dist/ptr/node/clm/index.d.ts.map +1 -0
  220. package/dist/ptr/node/clm/index.js +28 -0
  221. package/dist/ptr/node/clm/index.js.map +1 -0
  222. package/dist/ptr/node/clm/loader.d.ts +25 -0
  223. package/dist/ptr/node/clm/loader.d.ts.map +1 -0
  224. package/dist/ptr/node/clm/loader.js +146 -0
  225. package/dist/ptr/node/clm/loader.js.map +1 -0
  226. package/dist/ptr/node/clm/multiruntime.d.ts +9 -0
  227. package/dist/ptr/node/clm/multiruntime.d.ts.map +1 -0
  228. package/dist/ptr/node/clm/multiruntime.js +121 -0
  229. package/dist/ptr/node/clm/multiruntime.js.map +1 -0
  230. package/dist/ptr/node/clm/runner.d.ts +70 -0
  231. package/dist/ptr/node/clm/runner.d.ts.map +1 -0
  232. package/dist/ptr/node/clm/runner.js +324 -0
  233. package/dist/ptr/node/clm/runner.js.map +1 -0
  234. package/dist/ptr/node/clm/types.d.ts +166 -0
  235. package/dist/ptr/node/clm/types.d.ts.map +1 -0
  236. package/dist/ptr/node/clm/types.js +5 -0
  237. package/dist/ptr/node/clm/types.js.map +1 -0
  238. package/dist/ptr/node/clm/utils.d.ts +29 -0
  239. package/dist/ptr/node/clm/utils.d.ts.map +1 -0
  240. package/dist/ptr/node/clm/utils.js +88 -0
  241. package/dist/ptr/node/clm/utils.js.map +1 -0
  242. package/dist/ptr/node/network/HttpClient.d.ts +14 -0
  243. package/dist/ptr/node/network/HttpClient.d.ts.map +1 -0
  244. package/dist/ptr/node/network/HttpClient.js +139 -0
  245. package/dist/ptr/node/network/HttpClient.js.map +1 -0
  246. package/dist/ptr/node/network/MCardSerialization.d.ts +19 -0
  247. package/dist/ptr/node/network/MCardSerialization.d.ts.map +1 -0
  248. package/dist/ptr/node/network/MCardSerialization.js +41 -0
  249. package/dist/ptr/node/network/MCardSerialization.js.map +1 -0
  250. package/dist/ptr/node/network/NetworkInfrastructure.d.ts +37 -0
  251. package/dist/ptr/node/network/NetworkInfrastructure.d.ts.map +1 -0
  252. package/dist/ptr/node/network/NetworkInfrastructure.js +121 -0
  253. package/dist/ptr/node/network/NetworkInfrastructure.js.map +1 -0
  254. package/dist/ptr/node/network/NetworkSecurity.d.ts +24 -0
  255. package/dist/ptr/node/network/NetworkSecurity.d.ts.map +1 -0
  256. package/dist/ptr/node/network/NetworkSecurity.js +104 -0
  257. package/dist/ptr/node/network/NetworkSecurity.js.map +1 -0
  258. package/dist/ptr/node/runtimes/base.d.ts +31 -0
  259. package/dist/ptr/node/runtimes/base.d.ts.map +1 -0
  260. package/dist/ptr/node/runtimes/base.js +33 -0
  261. package/dist/ptr/node/runtimes/base.js.map +1 -0
  262. package/dist/ptr/node/runtimes/binary.d.ts +10 -0
  263. package/dist/ptr/node/runtimes/binary.d.ts.map +1 -0
  264. package/dist/ptr/node/runtimes/binary.js +16 -0
  265. package/dist/ptr/node/runtimes/binary.js.map +1 -0
  266. package/dist/ptr/node/runtimes/factory.d.ts +22 -0
  267. package/dist/ptr/node/runtimes/factory.d.ts.map +1 -0
  268. package/dist/ptr/node/runtimes/factory.js +152 -0
  269. package/dist/ptr/node/runtimes/factory.js.map +1 -0
  270. package/dist/ptr/node/runtimes/index.d.ts +28 -0
  271. package/dist/ptr/node/runtimes/index.d.ts.map +1 -0
  272. package/dist/ptr/node/runtimes/index.js +30 -0
  273. package/dist/ptr/node/runtimes/index.js.map +1 -0
  274. package/dist/ptr/node/runtimes/javascript.d.ts +22 -0
  275. package/dist/ptr/node/runtimes/javascript.d.ts.map +1 -0
  276. package/dist/ptr/node/runtimes/javascript.js +125 -0
  277. package/dist/ptr/node/runtimes/javascript.js.map +1 -0
  278. package/dist/ptr/node/runtimes/lean.d.ts +10 -0
  279. package/dist/ptr/node/runtimes/lean.d.ts.map +1 -0
  280. package/dist/ptr/node/runtimes/lean.js +60 -0
  281. package/dist/ptr/node/runtimes/lean.js.map +1 -0
  282. package/dist/ptr/node/runtimes/loader.d.ts +21 -0
  283. package/dist/ptr/node/runtimes/loader.d.ts.map +1 -0
  284. package/dist/ptr/node/runtimes/loader.js +126 -0
  285. package/dist/ptr/node/runtimes/loader.js.map +1 -0
  286. package/dist/ptr/node/runtimes/python.d.ts +14 -0
  287. package/dist/ptr/node/runtimes/python.d.ts.map +1 -0
  288. package/dist/ptr/node/runtimes/python.js +100 -0
  289. package/dist/ptr/node/runtimes/python.js.map +1 -0
  290. package/dist/ptr/node/runtimes/wasm.d.ts +10 -0
  291. package/dist/ptr/node/runtimes/wasm.d.ts.map +1 -0
  292. package/dist/ptr/node/runtimes/wasm.js +55 -0
  293. package/dist/ptr/node/runtimes/wasm.js.map +1 -0
  294. package/dist/rag/GraphRAGEngine.d.ts +26 -0
  295. package/dist/rag/GraphRAGEngine.d.ts.map +1 -0
  296. package/dist/rag/GraphRAGEngine.js +166 -0
  297. package/dist/rag/GraphRAGEngine.js.map +1 -0
  298. package/dist/rag/HandleVectorStore.d.ts +201 -0
  299. package/dist/rag/HandleVectorStore.d.ts.map +1 -0
  300. package/dist/rag/HandleVectorStore.js +527 -0
  301. package/dist/rag/HandleVectorStore.js.map +1 -0
  302. package/dist/rag/PersistentIndexer.d.ts +148 -0
  303. package/dist/rag/PersistentIndexer.d.ts.map +1 -0
  304. package/dist/rag/PersistentIndexer.js +302 -0
  305. package/dist/rag/PersistentIndexer.js.map +1 -0
  306. package/dist/rag/embeddings/VisionEmbeddingProvider.d.ts +87 -0
  307. package/dist/rag/embeddings/VisionEmbeddingProvider.d.ts.map +1 -0
  308. package/dist/rag/embeddings/VisionEmbeddingProvider.js +164 -0
  309. package/dist/rag/embeddings/VisionEmbeddingProvider.js.map +1 -0
  310. package/dist/rag/graph/community.d.ts +56 -0
  311. package/dist/rag/graph/community.d.ts.map +1 -0
  312. package/dist/rag/graph/community.js +247 -0
  313. package/dist/rag/graph/community.js.map +1 -0
  314. package/dist/rag/graph/extractor.d.ts +99 -0
  315. package/dist/rag/graph/extractor.d.ts.map +1 -0
  316. package/dist/rag/graph/extractor.js +210 -0
  317. package/dist/rag/graph/extractor.js.map +1 -0
  318. package/dist/rag/graph/store.d.ts +176 -0
  319. package/dist/rag/graph/store.d.ts.map +1 -0
  320. package/dist/rag/graph/store.js +504 -0
  321. package/dist/rag/graph/store.js.map +1 -0
  322. package/dist/rag/index.d.ts +20 -0
  323. package/dist/rag/index.d.ts.map +1 -0
  324. package/dist/rag/index.js +26 -0
  325. package/dist/rag/index.js.map +1 -0
  326. package/dist/rag/semanticVersioning.d.ts +187 -0
  327. package/dist/rag/semanticVersioning.d.ts.map +1 -0
  328. package/dist/rag/semanticVersioning.js +253 -0
  329. package/dist/rag/semanticVersioning.js.map +1 -0
  330. package/dist/storage/IndexedDBEngine.d.ts +33 -0
  331. package/dist/storage/IndexedDBEngine.d.ts.map +1 -0
  332. package/dist/storage/IndexedDBEngine.js +198 -0
  333. package/dist/storage/IndexedDBEngine.js.map +1 -0
  334. package/dist/storage/SqliteNodeEngine.d.ts +123 -0
  335. package/dist/storage/SqliteNodeEngine.d.ts.map +1 -0
  336. package/dist/storage/SqliteNodeEngine.js +385 -0
  337. package/dist/storage/SqliteNodeEngine.js.map +1 -0
  338. package/dist/storage/SqliteWasmEngine.d.ts +60 -0
  339. package/dist/storage/SqliteWasmEngine.d.ts.map +1 -0
  340. package/dist/storage/SqliteWasmEngine.js +193 -0
  341. package/dist/storage/SqliteWasmEngine.js.map +1 -0
  342. package/dist/storage/StorageAdapter.d.ts +42 -0
  343. package/dist/storage/StorageAdapter.d.ts.map +1 -0
  344. package/dist/storage/StorageAdapter.js +2 -0
  345. package/dist/storage/StorageAdapter.js.map +1 -0
  346. package/dist/storage/VectorStore.d.ts +202 -0
  347. package/dist/storage/VectorStore.d.ts.map +1 -0
  348. package/dist/storage/VectorStore.js +557 -0
  349. package/dist/storage/VectorStore.js.map +1 -0
  350. package/dist/storage/schema.d.ts +162 -0
  351. package/dist/storage/schema.d.ts.map +1 -0
  352. package/dist/storage/schema.js +373 -0
  353. package/dist/storage/schema.js.map +1 -0
  354. package/dist/util/FileIO.d.ts +44 -0
  355. package/dist/util/FileIO.d.ts.map +1 -0
  356. package/dist/util/FileIO.js +203 -0
  357. package/dist/util/FileIO.js.map +1 -0
  358. package/dist/util/Loader.d.ts +34 -0
  359. package/dist/util/Loader.d.ts.map +1 -0
  360. package/dist/util/Loader.js +168 -0
  361. package/dist/util/Loader.js.map +1 -0
  362. 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":"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"}
@@ -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"}