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,148 @@
1
+ /**
2
+ * PersistentIndexer - Auto-indexing MCards for semantic search
3
+ *
4
+ * Manages automatic indexing of MCards into the vector store,
5
+ * with persistent storage alongside the main MCard database.
6
+ *
7
+ * Mirrors Python: mcard/rag/indexer.py
8
+ */
9
+ import { MCard } from '../model/MCard';
10
+ import { CardCollection } from '../model/CardCollection';
11
+ import { VectorStoreConfig } from '../storage/VectorStore';
12
+ export interface IndexerConfig extends VectorStoreConfig {
13
+ autoIndex?: boolean;
14
+ }
15
+ export interface IndexStats {
16
+ indexed: number;
17
+ skipped: number;
18
+ failed: number;
19
+ total: number;
20
+ status?: string;
21
+ }
22
+ export interface IndexerStats {
23
+ vectorDbPath: string;
24
+ embeddingModel: string;
25
+ dimensions: number;
26
+ indexedCount: number;
27
+ vectorCount: number;
28
+ uniqueMCards: number;
29
+ hasVecExtension: boolean;
30
+ hybridSearchEnabled: boolean;
31
+ indexingInProgress: boolean;
32
+ }
33
+ /**
34
+ * Manages persistent vector indexing for MCard collections.
35
+ *
36
+ * Features:
37
+ * - Automatic indexing when MCards are added
38
+ * - Persistent vector database alongside MCard database
39
+ * - Background indexing for large collections
40
+ * - Index status tracking
41
+ *
42
+ * Usage:
43
+ * import { PersistentIndexer } from './rag/PersistentIndexer';
44
+ *
45
+ * const indexer = new PersistentIndexer();
46
+ *
47
+ * // Index all existing content
48
+ * const stats = await indexer.indexAll();
49
+ *
50
+ * // Search
51
+ * const results = await indexer.search("query");
52
+ */
53
+ export declare class PersistentIndexer {
54
+ private static instance;
55
+ private collection;
56
+ private config;
57
+ private vectorDbPath;
58
+ private embedder;
59
+ private vectorStore;
60
+ private autoIndex;
61
+ private indexingInProgress;
62
+ private indexedHashes;
63
+ private initialized;
64
+ /**
65
+ * Get singleton instance of PersistentIndexer
66
+ */
67
+ static getInstance(collection?: CardCollection, config?: IndexerConfig, vectorDbPath?: string): PersistentIndexer;
68
+ /**
69
+ * Reset singleton instance (for testing)
70
+ */
71
+ static resetInstance(): void;
72
+ private constructor();
73
+ /**
74
+ * Set the collection to index from
75
+ */
76
+ setCollection(collection: CardCollection): void;
77
+ /**
78
+ * Try to derive vector DB path from collection's storage engine
79
+ */
80
+ private deriveVectorDbPath;
81
+ /**
82
+ * Load already-indexed hashes from the vector store
83
+ */
84
+ private loadIndexedHashes;
85
+ /**
86
+ * Check if an MCard is already indexed
87
+ */
88
+ isIndexed(hash: string): boolean;
89
+ /**
90
+ * Index a single MCard
91
+ *
92
+ * @param mcard - MCard to index
93
+ * @param force - Re-index even if already indexed
94
+ * @returns True if indexed successfully
95
+ */
96
+ indexMCard(mcard: MCard, force?: boolean): Promise<boolean>;
97
+ /**
98
+ * Index all MCards in the collection
99
+ *
100
+ * @param force - Re-index even if already indexed
101
+ * @param progressCallback - Optional callback(current, total)
102
+ * @param batchSize - Number of cards to process at once
103
+ * @returns Statistics about the indexing operation
104
+ */
105
+ indexAll(force?: boolean, progressCallback?: (current: number, total: number) => void, batchSize?: number): Promise<IndexStats>;
106
+ /**
107
+ * Search for similar MCards
108
+ *
109
+ * @param query - Search query
110
+ * @param k - Number of results
111
+ * @param hybrid - Use hybrid (vector + FTS) search
112
+ * @returns List of search results
113
+ */
114
+ search(query: string, k?: number, hybrid?: boolean): Promise<any[]>;
115
+ /**
116
+ * Delete an MCard from the index
117
+ */
118
+ delete(hash: string): Promise<boolean>;
119
+ /**
120
+ * Clear the entire vector index
121
+ */
122
+ clear(): Promise<void>;
123
+ /**
124
+ * Get indexer statistics
125
+ */
126
+ getStats(): IndexerStats;
127
+ /**
128
+ * Close the indexer
129
+ */
130
+ close(): void;
131
+ }
132
+ /**
133
+ * Get or create the default persistent indexer
134
+ */
135
+ export declare function getIndexer(collection?: CardCollection, config?: IndexerConfig): PersistentIndexer;
136
+ /**
137
+ * Convenience function for semantic search
138
+ */
139
+ export declare function semanticSearch(query: string, k?: number): Promise<any[]>;
140
+ /**
141
+ * Convenience function to index an MCard
142
+ */
143
+ export declare function indexMCard(mcard: MCard, force?: boolean): Promise<boolean>;
144
+ /**
145
+ * Reset the default indexer (for testing)
146
+ */
147
+ export declare function resetIndexer(): void;
148
+ //# sourceMappingURL=PersistentIndexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistentIndexer.d.ts","sourceRoot":"","sources":["../../src/rag/PersistentIndexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,302 @@
1
+ /**
2
+ * PersistentIndexer - Auto-indexing MCards for semantic search
3
+ *
4
+ * Manages automatic indexing of MCards into the vector store,
5
+ * with persistent storage alongside the main MCard database.
6
+ *
7
+ * Mirrors Python: mcard/rag/indexer.py
8
+ */
9
+ import { MCardVectorStore, DEFAULT_VECTOR_CONFIG } from '../storage/VectorStore';
10
+ import { OllamaEmbeddingProvider } from '../ptr/llm/providers/OllamaEmbeddingProvider';
11
+ import { createRequire } from 'module';
12
+ const require = createRequire(import.meta.url);
13
+ // ─────────────────────────────────────────────────────────────────────────────
14
+ // PersistentIndexer Class
15
+ // ─────────────────────────────────────────────────────────────────────────────
16
+ /**
17
+ * Manages persistent vector indexing for MCard collections.
18
+ *
19
+ * Features:
20
+ * - Automatic indexing when MCards are added
21
+ * - Persistent vector database alongside MCard database
22
+ * - Background indexing for large collections
23
+ * - Index status tracking
24
+ *
25
+ * Usage:
26
+ * import { PersistentIndexer } from './rag/PersistentIndexer';
27
+ *
28
+ * const indexer = new PersistentIndexer();
29
+ *
30
+ * // Index all existing content
31
+ * const stats = await indexer.indexAll();
32
+ *
33
+ * // Search
34
+ * const results = await indexer.search("query");
35
+ */
36
+ export class PersistentIndexer {
37
+ static instance = null;
38
+ collection;
39
+ config;
40
+ vectorDbPath;
41
+ embedder;
42
+ vectorStore;
43
+ autoIndex;
44
+ indexingInProgress = false;
45
+ indexedHashes = new Set();
46
+ initialized = false;
47
+ /**
48
+ * Get singleton instance of PersistentIndexer
49
+ */
50
+ static getInstance(collection, config, vectorDbPath) {
51
+ if (!PersistentIndexer.instance) {
52
+ PersistentIndexer.instance = new PersistentIndexer(collection, config, vectorDbPath);
53
+ }
54
+ return PersistentIndexer.instance;
55
+ }
56
+ /**
57
+ * Reset singleton instance (for testing)
58
+ */
59
+ static resetInstance() {
60
+ PersistentIndexer.instance = null;
61
+ }
62
+ constructor(collection, config, vectorDbPath) {
63
+ this.config = config || { ...DEFAULT_VECTOR_CONFIG, autoIndex: false };
64
+ this.autoIndex = this.config.autoIndex ?? false;
65
+ // Vector DB path - try to derive from collection if not provided
66
+ this.vectorDbPath = vectorDbPath || this.deriveVectorDbPath(collection) || ':memory:';
67
+ // Initialize embedding provider
68
+ this.embedder = new OllamaEmbeddingProvider(this.config.embeddingModel || DEFAULT_VECTOR_CONFIG.embeddingModel, this.config.ollamaBaseUrl || 'http://localhost:11434');
69
+ // Initialize vector store
70
+ this.vectorStore = new MCardVectorStore(this.vectorDbPath, this.config);
71
+ // Collection will be set later if not provided
72
+ this.collection = collection;
73
+ this.initialized = true;
74
+ console.debug(`PersistentIndexer initialized: ${this.vectorDbPath}`);
75
+ }
76
+ /**
77
+ * Set the collection to index from
78
+ */
79
+ setCollection(collection) {
80
+ this.collection = collection;
81
+ }
82
+ /**
83
+ * Try to derive vector DB path from collection's storage engine
84
+ */
85
+ deriveVectorDbPath(collection) {
86
+ if (!collection)
87
+ return null;
88
+ try {
89
+ // Access private engine via any cast (runtime inspection)
90
+ const engine = collection.engine;
91
+ // Check for getDbPath method (SqliteNodeEngine)
92
+ if (engine && typeof engine.getDbPath === 'function') {
93
+ const dbPath = engine.getDbPath();
94
+ if (dbPath && dbPath !== ':memory:') {
95
+ const path = require('path');
96
+ const parsed = path.parse(dbPath);
97
+ // Use same directory, append _vectors to name
98
+ return path.join(parsed.dir, `${parsed.name}_vectors${parsed.ext}`);
99
+ }
100
+ }
101
+ }
102
+ catch (e) {
103
+ console.warn('Failed to derive vector DB path:', e);
104
+ }
105
+ return null;
106
+ }
107
+ /**
108
+ * Load already-indexed hashes from the vector store
109
+ */
110
+ async loadIndexedHashes() {
111
+ try {
112
+ // Query for distinct hashes from metadata table
113
+ const hashes = await this.vectorStore.getIndexedHashes();
114
+ this.indexedHashes = new Set(hashes);
115
+ console.debug(`Loaded ${this.indexedHashes.size} indexed hashes`);
116
+ }
117
+ catch (error) {
118
+ console.warn(`Failed to load indexed hashes: ${error}`);
119
+ this.indexedHashes = new Set();
120
+ }
121
+ }
122
+ /**
123
+ * Check if an MCard is already indexed
124
+ */
125
+ isIndexed(hash) {
126
+ return this.indexedHashes.has(hash);
127
+ }
128
+ /**
129
+ * Index a single MCard
130
+ *
131
+ * @param mcard - MCard to index
132
+ * @param force - Re-index even if already indexed
133
+ * @returns True if indexed successfully
134
+ */
135
+ async indexMCard(mcard, force = false) {
136
+ if (!force && this.isIndexed(mcard.hash)) {
137
+ console.debug(`MCard ${mcard.hash.slice(0, 8)} already indexed, skipping`);
138
+ return true;
139
+ }
140
+ try {
141
+ const content = mcard.getContentAsText();
142
+ const count = await this.vectorStore.index(mcard.hash, content);
143
+ if (count > 0) {
144
+ this.indexedHashes.add(mcard.hash);
145
+ console.debug(`Indexed MCard ${mcard.hash.slice(0, 8)} (${count} vectors)`);
146
+ return true;
147
+ }
148
+ return false;
149
+ }
150
+ catch (error) {
151
+ console.error(`Failed to index MCard ${mcard.hash.slice(0, 8)}: ${error}`);
152
+ return false;
153
+ }
154
+ }
155
+ /**
156
+ * Index all MCards in the collection
157
+ *
158
+ * @param force - Re-index even if already indexed
159
+ * @param progressCallback - Optional callback(current, total)
160
+ * @param batchSize - Number of cards to process at once
161
+ * @returns Statistics about the indexing operation
162
+ */
163
+ async indexAll(force = false, progressCallback, batchSize = 50) {
164
+ if (this.indexingInProgress) {
165
+ console.warn('Indexing already in progress');
166
+ return { indexed: 0, skipped: 0, failed: 0, total: 0, status: 'busy' };
167
+ }
168
+ if (!this.collection) {
169
+ throw new Error('No collection set for indexer');
170
+ }
171
+ this.indexingInProgress = true;
172
+ const stats = { indexed: 0, skipped: 0, failed: 0, total: 0 };
173
+ try {
174
+ // Get all cards through pagination
175
+ let pageNumber = 1;
176
+ const pageSize = batchSize;
177
+ let allCards = [];
178
+ while (true) {
179
+ const page = await this.collection.getPage(pageNumber, pageSize);
180
+ allCards.push(...page.items);
181
+ if (!page.hasNext)
182
+ break;
183
+ pageNumber++;
184
+ }
185
+ stats.total = allCards.length;
186
+ for (let i = 0; i < allCards.length; i++) {
187
+ const mcard = allCards[i];
188
+ if (!force && this.isIndexed(mcard.hash)) {
189
+ stats.skipped++;
190
+ }
191
+ else if (await this.indexMCard(mcard, force)) {
192
+ stats.indexed++;
193
+ }
194
+ else {
195
+ stats.failed++;
196
+ }
197
+ // Progress callback
198
+ if (progressCallback && (i + 1) % 10 === 0) {
199
+ progressCallback(i + 1, stats.total);
200
+ }
201
+ }
202
+ console.info(`Indexing complete: ${JSON.stringify(stats)}`);
203
+ }
204
+ finally {
205
+ this.indexingInProgress = false;
206
+ }
207
+ return stats;
208
+ }
209
+ /**
210
+ * Search for similar MCards
211
+ *
212
+ * @param query - Search query
213
+ * @param k - Number of results
214
+ * @param hybrid - Use hybrid (vector + FTS) search
215
+ * @returns List of search results
216
+ */
217
+ async search(query, k = 5, hybrid = true) {
218
+ if (hybrid && this.config.enableHybridSearch) {
219
+ return this.vectorStore.hybridSearch(query, k);
220
+ }
221
+ else {
222
+ return this.vectorStore.search(query, k);
223
+ }
224
+ }
225
+ /**
226
+ * Delete an MCard from the index
227
+ */
228
+ async delete(hash) {
229
+ const count = await this.vectorStore.delete(hash);
230
+ if (count > 0) {
231
+ this.indexedHashes.delete(hash);
232
+ return true;
233
+ }
234
+ return false;
235
+ }
236
+ /**
237
+ * Clear the entire vector index
238
+ */
239
+ async clear() {
240
+ await this.vectorStore.clear();
241
+ this.indexedHashes.clear();
242
+ console.info('Vector index cleared');
243
+ }
244
+ /**
245
+ * Get indexer statistics
246
+ */
247
+ getStats() {
248
+ return {
249
+ vectorDbPath: this.vectorDbPath,
250
+ embeddingModel: this.config.embeddingModel || DEFAULT_VECTOR_CONFIG.embeddingModel,
251
+ dimensions: this.config.dimensions || DEFAULT_VECTOR_CONFIG.dimensions,
252
+ indexedCount: this.indexedHashes.size,
253
+ vectorCount: this.vectorStore.count(),
254
+ uniqueMCards: this.vectorStore.countUnique ? this.vectorStore.countUnique() : this.indexedHashes.size,
255
+ hasVecExtension: this.vectorStore.hasVectorExtension(),
256
+ hybridSearchEnabled: this.config.enableHybridSearch ?? false,
257
+ indexingInProgress: this.indexingInProgress,
258
+ };
259
+ }
260
+ /**
261
+ * Close the indexer
262
+ */
263
+ close() {
264
+ this.vectorStore.close();
265
+ }
266
+ }
267
+ // ─────────────────────────────────────────────────────────────────────────────
268
+ // Global Convenience Functions
269
+ // ─────────────────────────────────────────────────────────────────────────────
270
+ let defaultIndexer = null;
271
+ /**
272
+ * Get or create the default persistent indexer
273
+ */
274
+ export function getIndexer(collection, config) {
275
+ if (!defaultIndexer) {
276
+ defaultIndexer = PersistentIndexer.getInstance(collection, config);
277
+ }
278
+ return defaultIndexer;
279
+ }
280
+ /**
281
+ * Convenience function for semantic search
282
+ */
283
+ export async function semanticSearch(query, k = 5) {
284
+ return getIndexer().search(query, k);
285
+ }
286
+ /**
287
+ * Convenience function to index an MCard
288
+ */
289
+ export async function indexMCard(mcard, force = false) {
290
+ return getIndexer().indexMCard(mcard, force);
291
+ }
292
+ /**
293
+ * Reset the default indexer (for testing)
294
+ */
295
+ export function resetIndexer() {
296
+ if (defaultIndexer) {
297
+ defaultIndexer.close();
298
+ defaultIndexer = null;
299
+ }
300
+ PersistentIndexer.resetInstance();
301
+ }
302
+ //# sourceMappingURL=PersistentIndexer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersistentIndexer.js","sourceRoot":"","sources":["../../src/rag/PersistentIndexer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Vision Embedding Provider
3
+ *
4
+ * Multimodal embedding provider that uses vision models to describe images,
5
+ * then embeds the descriptions for vector search.
6
+ *
7
+ * Mirrors Python: mcard/rag/embeddings/vision.py
8
+ */
9
+ import { EmbeddingProvider } from '../../storage/VectorStore';
10
+ export interface VisionProviderConfig {
11
+ visionModel?: string;
12
+ embeddingModel?: string;
13
+ ollamaBaseUrl?: string;
14
+ descriptionPrompt?: string;
15
+ }
16
+ export declare const VISION_MODELS: {
17
+ moondream: {
18
+ description: string;
19
+ size: string;
20
+ };
21
+ 'llama3.2-vision': {
22
+ description: string;
23
+ size: string;
24
+ };
25
+ llava: {
26
+ description: string;
27
+ size: string;
28
+ };
29
+ 'minicpm-v': {
30
+ description: string;
31
+ size: string;
32
+ };
33
+ };
34
+ /**
35
+ * Multimodal embedding provider for images.
36
+ *
37
+ * Uses a two-stage approach:
38
+ * 1. Vision model generates a text description of the image
39
+ * 2. Text embedding model converts description to vector
40
+ *
41
+ * This enables semantic search over images using existing vector infrastructure.
42
+ *
43
+ * Usage:
44
+ * const provider = new VisionEmbeddingProvider();
45
+ *
46
+ * // Embed an image (path, bytes, or base64)
47
+ * const embedding = await provider.embedImage("path/to/image.jpg");
48
+ */
49
+ export declare class VisionEmbeddingProvider implements EmbeddingProvider {
50
+ private visionModel;
51
+ private baseUrl;
52
+ private descriptionPrompt;
53
+ private textEmbedder;
54
+ constructor(config?: VisionProviderConfig);
55
+ get modelName(): string;
56
+ get providerName(): string;
57
+ get dimensions(): number;
58
+ /**
59
+ * Generate text description of an image.
60
+ *
61
+ * @param imageData - Image as base64 string or Uint8Array
62
+ * @param prompt - Optional custom prompt
63
+ */
64
+ describeImage(imageData: string | Uint8Array, prompt?: string): Promise<string>;
65
+ /**
66
+ * Generate embedding for an image.
67
+ */
68
+ embedImage(imageData: string | Uint8Array, prompt?: string): Promise<number[]>;
69
+ /**
70
+ * Generate embedding and return description.
71
+ */
72
+ embedImageWithDescription(imageData: string | Uint8Array, prompt?: string): Promise<{
73
+ embedding: number[];
74
+ description: string;
75
+ }>;
76
+ embed(text: string): Promise<number[]>;
77
+ embedBatch(texts: string[]): Promise<number[][]>;
78
+ /**
79
+ * Convert Uint8Array to base64 string
80
+ */
81
+ private arrayBufferToBase64;
82
+ /**
83
+ * Get provider information
84
+ */
85
+ getInfo(): any;
86
+ }
87
+ //# sourceMappingURL=VisionEmbeddingProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisionEmbeddingProvider.d.ts","sourceRoot":"","sources":["../../../src/rag/embeddings/VisionEmbeddingProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAO9D,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAiBzB,CAAC;AAkBF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,uBAAwB,YAAW,iBAAiB;IAC7D,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,YAAY,CAA0B;gBAElC,MAAM,GAAE,oBAAyB;IAW7C,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkCrF;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAWpF;;OAEG;IACG,yBAAyB,CAC3B,SAAS,EAAE,MAAM,GAAG,UAAU,EAC9B,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAUlD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IAQtD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAS3B;;OAEG;IACH,OAAO,IAAI,GAAG;CAQjB"}