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
package/README.md CHANGED
@@ -607,6 +607,20 @@ To run integration tests against a live Ollama instance:
607
607
  npx vitest tests/rag/Integration.test.ts
608
608
  ```
609
609
 
610
+ ## Version 2.1.13 Release Notes (December 11, 2025)
611
+ > Lean 4.25.2 Support & CLM Test Case Improvements
612
+
613
+ ### 🔧 Lean Runtime Improvements
614
+ * **Lean 4.25.2 Support**: `LeanRuntime` now uses `elan run leanprover/lean4:v4.25.2` to ensure correct toolchain version regardless of system PATH configuration.
615
+ * **Modern Syntax**: Updated `lean_gcd.lean` to use Lean 4.8+ syntax (`termination_by b`, `Nat.pos_of_ne_zero`).
616
+ * **Elan Integration**: Automatic detection of `~/.elan/bin/elan` for reliable version selection.
617
+
618
+ ### 📝 CLM Test Case Additions
619
+ * **`loader_orchestrator.clm`**: Added `test_cases` section with proper `given`/`then` assertions.
620
+ * **`verify_loaders.clm`**: Added missing `then` clause with `success: true` and `match: true` assertions.
621
+
622
+ ---
623
+
610
624
  ## Version 2.1.12 Release Notes (December 11, 2025)
611
625
  > Major Modularization Refactoring
612
626
 
@@ -0,0 +1,14 @@
1
+ /**
2
+ * HashValidator - Computes SHA-256 hashes using Web Crypto API
3
+ */
4
+ export declare class HashValidator {
5
+ /**
6
+ * Compute hash of content using specified algorithm
7
+ */
8
+ static computeHash(content: Uint8Array | string, algorithm?: string): Promise<string>;
9
+ /**
10
+ * Validate that content matches expected hash
11
+ */
12
+ static validate(content: Uint8Array | string, expectedHash: string): Promise<boolean>;
13
+ }
14
+ //# sourceMappingURL=HashValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashValidator.d.ts","sourceRoot":"","sources":["../../src/hash/HashValidator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,aAAa;IACtB;;OAEG;WACU,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,SAAS,GAAE,MAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BrG;;OAEG;WACU,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAI9F"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * HashValidator - Computes SHA-256 hashes using Web Crypto API
3
+ */
4
+ export class HashValidator {
5
+ /**
6
+ * Compute hash of content using specified algorithm
7
+ */
8
+ static async computeHash(content, algorithm = 'sha256') {
9
+ const data = typeof content === 'string'
10
+ ? new TextEncoder().encode(content)
11
+ : content;
12
+ let algoName = 'SHA-256';
13
+ switch (algorithm.toLowerCase()) {
14
+ case 'sha1':
15
+ algoName = 'SHA-1';
16
+ break;
17
+ case 'sha-1':
18
+ algoName = 'SHA-1';
19
+ break;
20
+ case 'sha256':
21
+ algoName = 'SHA-256';
22
+ break;
23
+ case 'sha-256':
24
+ algoName = 'SHA-256';
25
+ break;
26
+ case 'sha384':
27
+ algoName = 'SHA-384';
28
+ break;
29
+ case 'sha-384':
30
+ algoName = 'SHA-384';
31
+ break;
32
+ case 'sha512':
33
+ algoName = 'SHA-512';
34
+ break;
35
+ case 'sha-512':
36
+ algoName = 'SHA-512';
37
+ break;
38
+ default:
39
+ console.warn(`Algorithm ${algorithm} not natively supported or mapped, defaulting to SHA-256`);
40
+ algoName = 'SHA-256';
41
+ }
42
+ // Create a copy to ensure we have a standard ArrayBuffer (not SharedArrayBuffer)
43
+ const buffer = new Uint8Array(data).buffer;
44
+ const hashBuffer = await crypto.subtle.digest(algoName, buffer);
45
+ return Array.from(new Uint8Array(hashBuffer))
46
+ .map(b => b.toString(16).padStart(2, '0'))
47
+ .join('');
48
+ }
49
+ /**
50
+ * Validate that content matches expected hash
51
+ */
52
+ static async validate(content, expectedHash) {
53
+ const computedHash = await this.computeHash(content);
54
+ return computedHash === expectedHash;
55
+ }
56
+ }
57
+ //# sourceMappingURL=HashValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashValidator.js","sourceRoot":"","sources":["../../src/hash/HashValidator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,OAAO,aAAa;IACtB;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAA4B,EAAE,YAAoB,QAAQ;QAC/E,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ;YACpC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,CAAC,CAAC,OAAO,CAAC;QAEd,IAAI,QAAQ,GAAG,SAAS,CAAC;QACzB,QAAQ,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9B,KAAK,MAAM;gBAAE,QAAQ,GAAG,OAAO,CAAC;gBAAC,MAAM;YACvC,KAAK,OAAO;gBAAE,QAAQ,GAAG,OAAO,CAAC;gBAAC,MAAM;YACxC,KAAK,QAAQ;gBAAE,QAAQ,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC3C,KAAK,SAAS;gBAAE,QAAQ,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC5C,KAAK,QAAQ;gBAAE,QAAQ,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC3C,KAAK,SAAS;gBAAE,QAAQ,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC5C,KAAK,QAAQ;gBAAE,QAAQ,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC3C,KAAK,SAAS;gBAAE,QAAQ,GAAG,SAAS,CAAC;gBAAC,MAAM;YAC5C;gBACI,OAAO,CAAC,IAAI,CAAC,aAAa,SAAS,0DAA0D,CAAC,CAAC;gBAC/F,QAAQ,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,iFAAiF;QACjF,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAqB,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC;aACxC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACzC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,OAA4B,EAAE,YAAoB;QACpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO,YAAY,KAAK,YAAY,CAAC;IACzC,CAAC;CACJ"}
@@ -0,0 +1,29 @@
1
+ export { MCard } from './model/MCard';
2
+ export { GTime } from './model/GTime';
3
+ export { ContentHandle, validateHandle, HandleValidationError } from './model/Handle';
4
+ export { CardCollection } from './model/CardCollection';
5
+ export { ContentTypeInterpreter } from './model/detectors/ContentTypeInterpreter';
6
+ export { EVENT_CONSTANTS, ALGORITHM_HIERARCHY } from './model/constants';
7
+ export { StorageEngine, Page } from './storage/StorageAdapter';
8
+ export { IndexedDBEngine } from './storage/IndexedDBEngine';
9
+ export { SqliteWasmEngine } from './storage/SqliteWasmEngine';
10
+ export { SqliteNodeEngine } from './storage/SqliteNodeEngine';
11
+ export { HashValidator } from './hash/HashValidator';
12
+ export { Maybe } from './monads/Maybe';
13
+ export { Either } from './monads/Either';
14
+ export { IO } from './monads/IO';
15
+ export { Reader } from './monads/Reader';
16
+ export { Writer } from './monads/Writer';
17
+ export { State } from './monads/State';
18
+ export { LensProtocol, JsonRpcRequest, JsonRpcResponse, ErrorCodes } from './ptr/LensProtocol';
19
+ export { SandboxWorker } from './ptr/SandboxWorker';
20
+ export * from './ptr/common_types';
21
+ export { FaroSidecar, FaroSidecarConfig } from './ptr/FaroSidecar';
22
+ import * as FileIO from './util/FileIO';
23
+ import * as Loader from './util/Loader';
24
+ export { FileIO, Loader };
25
+ export { LLMRuntime, promptMonad, chatMonad } from './ptr/llm/LLMRuntime';
26
+ export { LLMConfig } from './ptr/llm/Config';
27
+ export * as Lambda from './ptr/lambda';
28
+ export { LambdaRuntime } from './ptr/lambda/LambdaRuntime';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGvC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAInE,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAG1B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,38 @@
1
+ // MCard JavaScript Library
2
+ // Content-addressable storage for browsers
3
+ // Core model
4
+ export { MCard } from './model/MCard';
5
+ export { GTime } from './model/GTime';
6
+ export { ContentHandle, validateHandle, HandleValidationError } from './model/Handle';
7
+ export { CardCollection } from './model/CardCollection';
8
+ export { ContentTypeInterpreter } from './model/detectors/ContentTypeInterpreter';
9
+ export { EVENT_CONSTANTS, ALGORITHM_HIERARCHY } from './model/constants';
10
+ export { IndexedDBEngine } from './storage/IndexedDBEngine';
11
+ export { SqliteWasmEngine } from './storage/SqliteWasmEngine';
12
+ export { SqliteNodeEngine } from './storage/SqliteNodeEngine';
13
+ // Hash
14
+ export { HashValidator } from './hash/HashValidator';
15
+ // Monads
16
+ export { Maybe } from './monads/Maybe';
17
+ export { Either } from './monads/Either';
18
+ export { IO } from './monads/IO';
19
+ export { Reader } from './monads/Reader';
20
+ export { Writer } from './monads/Writer';
21
+ export { State } from './monads/State';
22
+ // PTR (Polynomial Type Runtime)
23
+ export { LensProtocol, ErrorCodes } from './ptr/LensProtocol';
24
+ export { SandboxWorker } from './ptr/SandboxWorker';
25
+ export * from './ptr/common_types';
26
+ export { FaroSidecar } from './ptr/FaroSidecar';
27
+ // Utils
28
+ // Note: Exporting as namespace to avoid naming collisions
29
+ import * as FileIO from './util/FileIO';
30
+ import * as Loader from './util/Loader';
31
+ export { FileIO, Loader };
32
+ // LLM
33
+ export { LLMRuntime, promptMonad, chatMonad } from './ptr/llm/LLMRuntime';
34
+ export { LLMConfig } from './ptr/llm/Config';
35
+ // Lambda Calculus Runtime (α-β-η conversions)
36
+ export * as Lambda from './ptr/lambda';
37
+ export { LambdaRuntime } from './ptr/lambda/LambdaRuntime';
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,2CAA2C;AAE3C,aAAa;AACb,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAIzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO;AACP,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,SAAS;AACT,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,gCAAgC;AAChC,OAAO,EAAE,YAAY,EAAmC,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAEnE,QAAQ;AACR,0DAA0D;AAC1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAE1B,MAAM;AACN,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,8CAA8C;AAC9C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,92 @@
1
+ import { MCard } from './MCard';
2
+ import { StorageEngine, Page } from '../storage/StorageAdapter';
3
+ import { Maybe } from '../monads/Maybe';
4
+ /**
5
+ * CardCollection - High-level interface for MCard operations with monadic API
6
+ */
7
+ export declare class CardCollection {
8
+ private engine;
9
+ constructor(engine: StorageEngine);
10
+ /**
11
+ * Add a card to the collection
12
+ * Handles duplicates (same content, same hash) and collisions (diff content, same hash)
13
+ */
14
+ add(card: MCard): Promise<string>;
15
+ private areContentsEqual;
16
+ /**
17
+ * Get a card by hash
18
+ */
19
+ get(hash: string): Promise<MCard | null>;
20
+ /**
21
+ * Delete a card by hash
22
+ */
23
+ delete(hash: string): Promise<void>;
24
+ /**
25
+ * Get a page of cards
26
+ */
27
+ getPage(pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
28
+ /**
29
+ * Count total cards
30
+ */
31
+ count(): Promise<number>;
32
+ /**
33
+ * Add a card and register a handle for it
34
+ */
35
+ addWithHandle(card: MCard, handle: string): Promise<string>;
36
+ /**
37
+ * Get card by handle
38
+ */
39
+ getByHandle(handle: string): Promise<MCard | null>;
40
+ /**
41
+ * Resolve handle to hash
42
+ */
43
+ resolveHandle(handle: string): Promise<string | null>;
44
+ /**
45
+ * Update handle to point to new card
46
+ */
47
+ updateHandle(handle: string, newCard: MCard): Promise<string>;
48
+ /**
49
+ * Get version history for a handle
50
+ */
51
+ getHandleHistory(handle: string): Promise<{
52
+ previousHash: string;
53
+ changedAt: string;
54
+ }[]>;
55
+ /**
56
+ * Monadic get - returns Maybe<MCard>
57
+ */
58
+ getM(hash: string): Promise<Maybe<MCard>>;
59
+ /**
60
+ * Monadic getByHandle - returns Maybe<MCard>
61
+ */
62
+ getByHandleM(handle: string): Promise<Maybe<MCard>>;
63
+ /**
64
+ * Monadic resolveHandle - returns Maybe<string>
65
+ */
66
+ resolveHandleM(handle: string): Promise<Maybe<string>>;
67
+ /**
68
+ * Resolve handle and get card in one monadic operation
69
+ */
70
+ resolveAndGetM(handle: string): Promise<Maybe<MCard>>;
71
+ /**
72
+ * Prune version history for a handle.
73
+ * @param handle The handle string.
74
+ * @param options Options for pruning (olderThan date, or deleteAll).
75
+ * @returns Number of deleted entries.
76
+ */
77
+ pruneHandleHistory(handle: string, options?: {
78
+ olderThan?: string;
79
+ deleteAll?: boolean;
80
+ }): Promise<number>;
81
+ clear(): Promise<void>;
82
+ searchByString(query: string, pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
83
+ searchByContent(query: string, pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
84
+ searchByHash(hashPrefix: string): Promise<MCard[]>;
85
+ getAllMCardsRaw(): Promise<MCard[]>;
86
+ getAllCards(pageSize?: number, processCallback?: (card: MCard) => any): Promise<{
87
+ cards: MCard[];
88
+ total: number;
89
+ }>;
90
+ printAllCards(): Promise<void>;
91
+ }
92
+ //# sourceMappingURL=CardCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardCollection.d.ts","sourceRoot":"","sources":["../../src/model/CardCollection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,217 @@
1
+ import { MCard } from './MCard';
2
+ import { Maybe } from '../monads/Maybe';
3
+ /**
4
+ * CardCollection - High-level interface for MCard operations with monadic API
5
+ */
6
+ export class CardCollection {
7
+ engine;
8
+ constructor(engine) {
9
+ this.engine = engine;
10
+ }
11
+ // =========== Standard Operations ===========
12
+ /**
13
+ * Add a card to the collection
14
+ * Handles duplicates (same content, same hash) and collisions (diff content, same hash)
15
+ */
16
+ async add(card) {
17
+ // Check existing by hash
18
+ const existingCard = await this.engine.get(card.hash);
19
+ if (existingCard) {
20
+ // Compare content
21
+ const isDuplicate = this.areContentsEqual(existingCard.content, card.content);
22
+ if (isDuplicate) {
23
+ // Duplicate detected
24
+ // console.debug(`Duplicate detected for hash ${card.hash}`);
25
+ const { generateDuplicationEvent } = await import('./EventProducer');
26
+ const eventStr = generateDuplicationEvent(card);
27
+ const eventCard = await MCard.create(eventStr);
28
+ // Store duplicate event but do not overwrite original card
29
+ await this.engine.add(eventCard);
30
+ return card.hash;
31
+ }
32
+ else {
33
+ // Collision detected
34
+ // console.warn(`Collision detected for hash ${card.hash}`);
35
+ const { generateCollisionEvent } = await import('./EventProducer');
36
+ const eventStr = await generateCollisionEvent(card);
37
+ // Store collision event
38
+ const eventCard = await MCard.create(eventStr);
39
+ await this.engine.add(eventCard);
40
+ // Store colliding card with upgraded hash function
41
+ const eventObj = JSON.parse(eventStr);
42
+ const nextAlgo = eventObj.upgraded_function;
43
+ if (!nextAlgo) {
44
+ throw new Error("Failed to determine next hash algorithm for collision");
45
+ }
46
+ const upgradedCard = await MCard.create(card.content, nextAlgo);
47
+ return this.engine.add(upgradedCard);
48
+ }
49
+ }
50
+ return this.engine.add(card);
51
+ }
52
+ areContentsEqual(a, b) {
53
+ if (a.length !== b.length)
54
+ return false;
55
+ for (let i = 0; i < a.length; i++) {
56
+ if (a[i] !== b[i])
57
+ return false;
58
+ }
59
+ return true;
60
+ }
61
+ /**
62
+ * Get a card by hash
63
+ */
64
+ async get(hash) {
65
+ return this.engine.get(hash);
66
+ }
67
+ /**
68
+ * Delete a card by hash
69
+ */
70
+ async delete(hash) {
71
+ return this.engine.delete(hash);
72
+ }
73
+ /**
74
+ * Get a page of cards
75
+ */
76
+ async getPage(pageNumber = 1, pageSize = 10) {
77
+ return this.engine.getPage(pageNumber, pageSize);
78
+ }
79
+ /**
80
+ * Count total cards
81
+ */
82
+ async count() {
83
+ return this.engine.count();
84
+ }
85
+ // =========== Handle Operations ===========
86
+ /**
87
+ * Add a card and register a handle for it
88
+ */
89
+ async addWithHandle(card, handle) {
90
+ const hash = await this.add(card);
91
+ await this.engine.registerHandle(handle, hash);
92
+ return hash;
93
+ }
94
+ /**
95
+ * Get card by handle
96
+ */
97
+ async getByHandle(handle) {
98
+ return this.engine.getByHandle(handle);
99
+ }
100
+ /**
101
+ * Resolve handle to hash
102
+ */
103
+ async resolveHandle(handle) {
104
+ return this.engine.resolveHandle(handle);
105
+ }
106
+ /**
107
+ * Update handle to point to new card
108
+ */
109
+ async updateHandle(handle, newCard) {
110
+ const hash = await this.add(newCard);
111
+ await this.engine.updateHandle(handle, hash);
112
+ return hash;
113
+ }
114
+ /**
115
+ * Get version history for a handle
116
+ */
117
+ async getHandleHistory(handle) {
118
+ return this.engine.getHandleHistory(handle);
119
+ }
120
+ // =========== Monadic Operations ===========
121
+ /**
122
+ * Monadic get - returns Maybe<MCard>
123
+ */
124
+ async getM(hash) {
125
+ const card = await this.get(hash);
126
+ return card ? Maybe.just(card) : Maybe.nothing();
127
+ }
128
+ /**
129
+ * Monadic getByHandle - returns Maybe<MCard>
130
+ */
131
+ async getByHandleM(handle) {
132
+ const card = await this.getByHandle(handle);
133
+ return card ? Maybe.just(card) : Maybe.nothing();
134
+ }
135
+ /**
136
+ * Monadic resolveHandle - returns Maybe<string>
137
+ */
138
+ async resolveHandleM(handle) {
139
+ const hash = await this.resolveHandle(handle);
140
+ return hash ? Maybe.just(hash) : Maybe.nothing();
141
+ }
142
+ /**
143
+ * Resolve handle and get card in one monadic operation
144
+ */
145
+ async resolveAndGetM(handle) {
146
+ const maybeHash = await this.resolveHandleM(handle);
147
+ if (maybeHash.isNothing)
148
+ return Maybe.nothing();
149
+ return this.getM(maybeHash.value);
150
+ }
151
+ /**
152
+ * Prune version history for a handle.
153
+ * @param handle The handle string.
154
+ * @param options Options for pruning (olderThan date, or deleteAll).
155
+ * @returns Number of deleted entries.
156
+ */
157
+ async pruneHandleHistory(handle, options = {}) {
158
+ if (this.engine.pruneHandleHistory) {
159
+ return this.engine.pruneHandleHistory(handle, options);
160
+ }
161
+ return 0; // Or throw error if engine doesn't support it
162
+ }
163
+ // =========== Search & Bulk Operations ===========
164
+ async clear() {
165
+ return this.engine.clear();
166
+ }
167
+ async searchByString(query, pageNumber = 1, pageSize = 10) {
168
+ return this.engine.search(query, pageNumber, pageSize);
169
+ }
170
+ async searchByContent(query, pageNumber = 1, pageSize = 10) {
171
+ return this.engine.search(query, pageNumber, pageSize);
172
+ }
173
+ async searchByHash(hashPrefix) {
174
+ return this.engine.searchByHash(hashPrefix);
175
+ }
176
+ async getAllMCardsRaw() {
177
+ return this.engine.getAll();
178
+ }
179
+ async getAllCards(pageSize = 10, processCallback) {
180
+ const cards = [];
181
+ let pageNumber = 1;
182
+ let total = 0;
183
+ while (true) {
184
+ const page = await this.getPage(pageNumber, pageSize);
185
+ if (!page.items || page.items.length === 0)
186
+ break;
187
+ for (const card of page.items) {
188
+ if (processCallback) {
189
+ processCallback(card);
190
+ }
191
+ cards.push(card);
192
+ }
193
+ total = page.totalItems;
194
+ if (!page.hasNext)
195
+ break;
196
+ pageNumber++;
197
+ }
198
+ return { cards, total };
199
+ }
200
+ async printAllCards() {
201
+ const cards = await this.getAllMCardsRaw();
202
+ cards.forEach(card => {
203
+ console.log(`Hash: ${card.hash}`);
204
+ // Try to print as text if possible
205
+ try {
206
+ const text = new TextDecoder().decode(card.content);
207
+ const preview = text.slice(0, 100).replace(/\n/g, ' ');
208
+ console.log(`Content: ${preview}${text.length > 100 ? '...' : ''}`);
209
+ }
210
+ catch {
211
+ console.log(`Content (binary): ${card.content.length} bytes`);
212
+ }
213
+ console.log('---');
214
+ });
215
+ }
216
+ }
217
+ //# sourceMappingURL=CardCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardCollection.js","sourceRoot":"","sources":["../../src/model/CardCollection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export declare class ContentTypeInterpreter {
2
+ private static readonly MIME_TO_EXT;
3
+ /**
4
+ * Detect content type and suggest extension.
5
+ *
6
+ * @param content Content string or binary buffer
7
+ * @param fileExtension Optional file extension hint
8
+ * @returns Object containing detected mimeType and suggested extension
9
+ */
10
+ static detectContentType(content: string | Uint8Array, fileExtension?: string): {
11
+ mimeType: string;
12
+ extension: string;
13
+ };
14
+ static getExtension(mimeType: string): string;
15
+ /**
16
+ * Check if content should be treated as binary.
17
+ */
18
+ static isBinaryContent(content: string | Uint8Array, mimeType?: string): boolean;
19
+ static isKnownLongLineExtension(extension?: string): boolean;
20
+ static isUnstructuredBinary(sample: Uint8Array): boolean;
21
+ static hasPathologicalLines(sample: Uint8Array, isKnownType: boolean): boolean;
22
+ }
23
+ //# sourceMappingURL=ContentTypeInterpreter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContentTypeInterpreter.d.ts","sourceRoot":"","sources":["../../src/model/ContentTypeInterpreter.ts"],"names":[],"mappings":"AAEA,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CA8BjC;IAEF;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CACpB,OAAO,EAAE,MAAM,GAAG,UAAU,EAC5B,aAAa,CAAC,EAAE,MAAM,GACvB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;IAyC1C,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAI7C;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO;IAsBhF,MAAM,CAAC,wBAAwB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAM5D,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO;IA2BxD,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,GAAG,OAAO;CASjF"}