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":"loader.js","sourceRoot":"","sources":["../../../../src/ptr/node/runtimes/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Python runtime executor.
3
+ *
4
+ * Executes Python code via subprocess with automatic entry point detection.
5
+ */
6
+ import { Runtime } from './base.js';
7
+ export declare class PythonRuntime implements Runtime {
8
+ execute(code: string, context: unknown, config: any): Promise<unknown>;
9
+ /**
10
+ * Create Python wrapper script with entry point invocation.
11
+ */
12
+ private createWrapper;
13
+ }
14
+ //# sourceMappingURL=python.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.d.ts","sourceRoot":"","sources":["../../../../src/ptr/node/runtimes/python.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,OAAO,EAAyB,MAAM,WAAW,CAAC;AAM3D,qBAAa,aAAc,YAAW,OAAO;IACnC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IA6B5E;;OAEG;IACH,OAAO,CAAC,aAAa;CAsDxB"}
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Python runtime executor.
3
+ *
4
+ * Executes Python code via subprocess with automatic entry point detection.
5
+ */
6
+ import * as fs from 'fs';
7
+ import * as path from 'path';
8
+ import * as util from 'util';
9
+ import { execFile, parseOutput } from './base.js';
10
+ import { findProjectRoot } from '../FileSystemUtils.js';
11
+ const writeFile = util.promisify(fs.writeFile);
12
+ const unlink = util.promisify(fs.unlink);
13
+ export class PythonRuntime {
14
+ async execute(code, context, config) {
15
+ const entryPoint = config.entry_point || 'add';
16
+ const contextStr = JSON.stringify(context);
17
+ const projectRoot = findProjectRoot();
18
+ const wrapper = this.createWrapper(code, entryPoint);
19
+ const tmpFile = path.resolve(process.cwd(), `tmp_${Date.now()}.py`);
20
+ await writeFile(tmpFile, wrapper);
21
+ try {
22
+ const { stdout, stderr } = await execFile('python3', [tmpFile, contextStr], {
23
+ cwd: projectRoot,
24
+ env: {
25
+ ...process.env,
26
+ PYTHONPATH: `${projectRoot}${path.delimiter}${process.env.PYTHONPATH || ''}`
27
+ }
28
+ });
29
+ if (stderr)
30
+ console.error('[Python Stderr]', stderr);
31
+ return parseOutput(stdout);
32
+ }
33
+ catch (error) {
34
+ const stderr = error.stderr ? `\nStderr: ${error.stderr.toString()}` : '';
35
+ const stdout = error.stdout ? `\nStdout: ${error.stdout.toString()}` : '';
36
+ throw new Error(`Python execution failed: ${error.message}${stderr}${stdout}`);
37
+ }
38
+ finally {
39
+ await unlink(tmpFile);
40
+ }
41
+ }
42
+ /**
43
+ * Create Python wrapper script with entry point invocation.
44
+ */
45
+ createWrapper(code, entryPoint) {
46
+ return `
47
+ import sys
48
+ import json
49
+
50
+ try:
51
+ context = json.loads(sys.argv[1])
52
+ target = context
53
+
54
+ if isinstance(target, str):
55
+ target = target.encode('utf-8')
56
+ except:
57
+ context = {}
58
+ target = {}
59
+ pass
60
+
61
+ # User logic
62
+ ${code}
63
+
64
+ # Entry point invocation
65
+ def _is_arg_error(e):
66
+ msg = str(e).lower()
67
+ return 'positional argument' in msg or 'required argument' in msg or 'takes' in msg and 'argument' in msg
68
+
69
+ try:
70
+ fn = None
71
+ if '${entryPoint}' in dir():
72
+ fn = ${entryPoint}
73
+ elif '${entryPoint}' in globals():
74
+ fn = globals()['${entryPoint}']
75
+
76
+ if fn is not None:
77
+ try:
78
+ res = fn(context)
79
+ except TypeError as e:
80
+ if not _is_arg_error(e):
81
+ raise
82
+ try:
83
+ res = fn(target)
84
+ except TypeError as e2:
85
+ if not _is_arg_error(e2):
86
+ raise
87
+ res = fn()
88
+ print(json.dumps(res))
89
+ else:
90
+ if 'result' in dir() or 'result' in globals():
91
+ print(json.dumps(result if 'result' in dir() else globals().get('result')))
92
+ else:
93
+ print(json.dumps(None))
94
+ except Exception as e:
95
+ print(json.dumps({"error": str(e)}))
96
+ sys.exit(1)
97
+ `;
98
+ }
99
+ }
100
+ //# sourceMappingURL=python.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"python.js","sourceRoot":"","sources":["../../../../src/ptr/node/runtimes/python.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAW,QAAQ,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;AAEzC,MAAM,OAAO,aAAa;IACtB,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,OAAgB,EAAE,MAAW;QACrD,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACpE,MAAM,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC;YACD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;gBACxE,GAAG,EAAE,WAAW;gBAChB,GAAG,EAAE;oBACD,GAAG,OAAO,CAAC,GAAG;oBACd,UAAU,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,EAAE;iBAC/E;aACJ,CAAC,CAAC;YACH,IAAI,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;YAErD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QACnF,CAAC;gBAAS,CAAC;YACP,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,IAAY,EAAE,UAAkB;QAClD,OAAO;;;;;;;;;;;;;;;;EAgBb,IAAI;;;;;;;;;UASI,UAAU;eACL,UAAU;YACb,UAAU;0BACI,UAAU;;;;;;;;;;;;;;;;;;;;;;;CAuBnC,CAAC;IACE,CAAC;CACJ"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WASM runtime executor.
3
+ *
4
+ * Executes WebAssembly modules via wasmtime CLI.
5
+ */
6
+ import { Runtime } from './base.js';
7
+ export declare class WasmRuntime implements Runtime {
8
+ execute(wasmPath: string, context: unknown, config: any, chapterDir: string): Promise<unknown>;
9
+ }
10
+ //# sourceMappingURL=wasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.d.ts","sourceRoot":"","sources":["../../../../src/ptr/node/runtimes/wasm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,WAAY,YAAW,OAAO;IACjC,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAsDvG"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * WASM runtime executor.
3
+ *
4
+ * Executes WebAssembly modules via wasmtime CLI.
5
+ */
6
+ import * as path from 'path';
7
+ import * as child_process from 'child_process';
8
+ export class WasmRuntime {
9
+ async execute(wasmPath, context, config, chapterDir) {
10
+ const fullPath = path.resolve(chapterDir, wasmPath);
11
+ const contextStr = typeof context === 'string' ? context : JSON.stringify(context ?? {});
12
+ return new Promise((resolve, reject) => {
13
+ const proc = child_process.spawn('wasmtime', [fullPath, contextStr]);
14
+ // Close stdin immediately - WASM programs don't read from stdin
15
+ proc.stdin.end();
16
+ let stdout = '';
17
+ let stderr = '';
18
+ proc.stdout.on('data', (data) => {
19
+ stdout += data.toString('utf-8');
20
+ });
21
+ proc.stderr.on('data', (data) => {
22
+ stderr += data.toString('utf-8');
23
+ });
24
+ proc.on('error', (err) => {
25
+ reject(err);
26
+ });
27
+ proc.on('close', (code) => {
28
+ if (code !== 0) {
29
+ if (stderr.includes('command not found') || stderr.includes('wasmtime: not found')) {
30
+ return reject(new Error('WASM runtime requires wasmtime CLI. Install it, e.g. with: brew install wasmtime'));
31
+ }
32
+ return reject(new Error(`wasmtime exited with code ${code}: ${stderr || stdout}`));
33
+ }
34
+ const out = stdout.trim();
35
+ if (!out) {
36
+ return resolve(undefined);
37
+ }
38
+ // Try numeric first (for arithmetic chapters)
39
+ const numeric = out.trim();
40
+ if (numeric && !Number.isNaN(Number(numeric))) {
41
+ return resolve(Number(numeric));
42
+ }
43
+ // Try JSON
44
+ try {
45
+ return resolve(JSON.parse(out));
46
+ }
47
+ catch {
48
+ // Fallback: raw string
49
+ return resolve(out);
50
+ }
51
+ });
52
+ });
53
+ }
54
+ }
55
+ //# sourceMappingURL=wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wasm.js","sourceRoot":"","sources":["../../../../src/ptr/node/runtimes/wasm.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAG/C,MAAM,OAAO,WAAW;IACpB,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,OAAgB,EAAE,MAAW,EAAE,UAAkB;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAEzF,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YAErE,gEAAgE;YAChE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;YAEjB,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,MAAM,GAAG,EAAE,CAAC;YAEhB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACpC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;gBACpC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACb,IAAI,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;wBACjF,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC,CAAC;oBACjH,CAAC;oBACD,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,IAAI,KAAK,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;gBACvF,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,OAAO,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC9B,CAAC;gBAED,8CAA8C;gBAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3B,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;oBAC5C,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAED,WAAW;gBACX,IAAI,CAAC;oBACD,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACL,uBAAuB;oBACvB,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -0,0 +1,26 @@
1
+ import { GraphStore } from './graph/store';
2
+ import { GraphExtractor } from './graph/extractor';
3
+ import { MCardVectorStore } from '../storage/VectorStore';
4
+ import { MCard } from '../model/MCard';
5
+ export interface GraphRAGResponse {
6
+ answer: string;
7
+ sources: string[];
8
+ entities: any[];
9
+ relationships: any[];
10
+ graphContext: string;
11
+ vectorContext: string;
12
+ confidence: number;
13
+ metadata?: any;
14
+ }
15
+ export declare class GraphRAGEngine {
16
+ vectorStore: MCardVectorStore;
17
+ graphStore: GraphStore;
18
+ extractor: GraphExtractor;
19
+ llmModel: string;
20
+ config: any;
21
+ constructor(vectorDbPath: string, graphDbPath?: string | null, llmModel?: string, config?: any);
22
+ index(mcard: MCard, extractGraph?: boolean, force?: boolean): Promise<any>;
23
+ query(question: string, k?: number, useGraph?: boolean): Promise<GraphRAGResponse>;
24
+ private _getGraphContext;
25
+ }
26
+ //# sourceMappingURL=GraphRAGEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphRAGEngine.d.ts","sourceRoot":"","sources":["../../src/rag/GraphRAGEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAA2D,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAsB,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AA6BvC,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,GAAG,EAAE,CAAC;IAChB,aAAa,EAAE,GAAG,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;CAClB;AAED,qBAAa,cAAc;IACvB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;gBAGR,YAAY,EAAE,MAAM,EACpB,WAAW,GAAE,MAAM,GAAG,IAAW,EACjC,QAAQ,GAAE,MAAwB,EAClC,MAAM,GAAE,GAAQ;IAoBd,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,GAAE,OAAc,EAAE,KAAK,GAAE,OAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAqBvF,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAE,MAAU,EAAE,QAAQ,GAAE,OAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;YA0EnF,gBAAgB;CAiDjC"}
@@ -0,0 +1,166 @@
1
+ import { GraphStore, storeExtractionResult } from './graph/store';
2
+ import { GraphExtractor } from './graph/extractor';
3
+ import { MCardVectorStore } from '../storage/VectorStore';
4
+ import { chatMonad } from '../ptr/llm/LLMRuntime';
5
+ const GRAPHRAG_SYSTEM_PROMPT = `You are a helpful assistant that answers questions using both document context and a knowledge graph.
6
+
7
+ You have access to:
8
+ 1. DOCUMENT CONTEXT: Relevant text passages from the knowledge base
9
+ 2. GRAPH CONTEXT: Entities and their relationships from the knowledge graph
10
+
11
+ Use both sources to provide comprehensive, accurate answers.
12
+ - Cite sources [1], [2], etc. for document context
13
+ - Reference entities by name when using graph information
14
+ - If the graph shows relationships that help answer the question, describe them
15
+
16
+ Be thorough but concise. Acknowledge if information is incomplete.`;
17
+ const GRAPH_QUERY_PROMPT = `Question: {question}
18
+
19
+ === DOCUMENT CONTEXT ===
20
+ {vector_context}
21
+
22
+ === KNOWLEDGE GRAPH ===
23
+ Entities: {entities}
24
+ Relationships: {relationships}
25
+
26
+ Please provide a comprehensive answer using both the document context and knowledge graph information.`;
27
+ export class GraphRAGEngine {
28
+ vectorStore;
29
+ graphStore;
30
+ extractor;
31
+ llmModel;
32
+ config;
33
+ constructor(vectorDbPath, graphDbPath = null, llmModel = 'gemma3:latest', config = {}) {
34
+ this.config = config;
35
+ this.llmModel = llmModel;
36
+ // Init vector store
37
+ this.vectorStore = new MCardVectorStore(vectorDbPath, config);
38
+ // Init graph store
39
+ const gPath = graphDbPath || vectorDbPath;
40
+ this.graphStore = new GraphStore(gPath);
41
+ // Init extractor
42
+ // GraphExtractor constructor expects config object
43
+ this.extractor = new GraphExtractor({ model: llmModel, ...config });
44
+ }
45
+ async index(mcard, extractGraph = true, force = false) {
46
+ const stats = { vectors: 0, entities: 0, relationships: 0 };
47
+ let content = mcard.getContentAsText();
48
+ // Vector index
49
+ // We always index (INSERT OR REPLACE)
50
+ stats.vectors = await this.vectorStore.index(mcard.hash, content);
51
+ // Graph extract
52
+ if (extractGraph && (force || !(await this.graphStore.isExtracted(mcard.hash)))) {
53
+ const result = await this.extractor.extract(content);
54
+ if (result.success) {
55
+ const [entCount, relCount] = storeExtractionResult(this.graphStore, result, mcard.hash);
56
+ stats.entities = entCount;
57
+ stats.relationships = relCount;
58
+ }
59
+ }
60
+ return stats;
61
+ }
62
+ async query(question, k = 5, useGraph = true) {
63
+ // Vector Search
64
+ const results = await this.vectorStore.search(question, k);
65
+ const contextParts = [];
66
+ const sources = [];
67
+ results.forEach((r, i) => {
68
+ const chunk = r.content || `[Content from ${r.hash.substring(0, 8)}]`;
69
+ contextParts.push(`[${i + 1}] ${chunk}`);
70
+ sources.push(r.hash);
71
+ });
72
+ const vectorContext = contextParts.join('\n\n');
73
+ // Graph Search
74
+ let entities = [];
75
+ let relationships = [];
76
+ let graphContext = "";
77
+ if (useGraph) {
78
+ const graphData = await this._getGraphContext(question, sources);
79
+ entities = graphData.entities;
80
+ relationships = graphData.relationships;
81
+ if (entities.length > 0) {
82
+ const entStr = entities.slice(0, 10).map(e => `${e.name} (${e.type})`).join(', ');
83
+ const relStr = relationships.slice(0, 15).map(r => `${r.source} --${r.relationship}-> ${r.target}`).join('\n');
84
+ graphContext = `Entities: ${entStr}\nRelationships:\n${relStr}`;
85
+ }
86
+ }
87
+ // LLM Generation
88
+ let answer = "";
89
+ if (!vectorContext && entities.length === 0) {
90
+ answer = "I couldn't find relevant information.";
91
+ }
92
+ else {
93
+ const entStr = entities.length ? entities.map(e => `${e.name} (${e.type})`).join(', ') : "None found";
94
+ const relStr = relationships.length ? relationships.map(r => ` - ${r.source} --${r.relationship}-> ${r.target}`).join('\n') : "None found";
95
+ const prompt = GRAPH_QUERY_PROMPT
96
+ .replace('{question}', question)
97
+ .replace('{vector_context}', vectorContext || "No document context available.")
98
+ .replace('{entities}', entStr)
99
+ .replace('{relationships}', relStr);
100
+ const monad = chatMonad(null, // messages null
101
+ prompt, GRAPHRAG_SYSTEM_PROMPT, { model: this.llmModel, temperature: 0.3 });
102
+ const result = await monad.run();
103
+ if (result.isRight) {
104
+ const val = result.right;
105
+ answer = typeof val === 'object' ? val.content : val;
106
+ }
107
+ else {
108
+ answer = `Error: ${result.left}`;
109
+ }
110
+ }
111
+ return {
112
+ answer,
113
+ sources,
114
+ entities,
115
+ relationships,
116
+ graphContext,
117
+ vectorContext,
118
+ confidence: 0.8 // placeholder
119
+ };
120
+ }
121
+ async _getGraphContext(query, sourceHashes) {
122
+ const entities = [];
123
+ const seenIds = new Set();
124
+ // Word search
125
+ const words = query.split(/\s+/).filter(w => w.length > 3);
126
+ const uniqueWords = [...new Set(words)]; // dedupe words
127
+ for (const word of uniqueWords) {
128
+ // Check if searchEntities exists on GraphStore
129
+ const found = await this.graphStore.searchEntities(word, undefined, 5);
130
+ for (const ent of found) {
131
+ if (!seenIds.has(ent.id)) {
132
+ seenIds.add(ent.id);
133
+ entities.push(ent);
134
+ }
135
+ }
136
+ }
137
+ // Source search
138
+ const uniquesources = [...new Set(sourceHashes)].slice(0, 3);
139
+ for (const hash of uniquesources) {
140
+ const found = await this.graphStore.getEntitiesBySource(hash);
141
+ for (const ent of found) {
142
+ if (!seenIds.has(ent.id)) {
143
+ seenIds.add(ent.id);
144
+ entities.push(ent);
145
+ }
146
+ }
147
+ }
148
+ // Get Relationships
149
+ const relationships = [];
150
+ for (const ent of entities) {
151
+ const outRels = await this.graphStore.getRelationshipsFrom(ent.id);
152
+ for (const r of outRels) {
153
+ relationships.push({
154
+ source: ent.name,
155
+ relationship: r.relationship,
156
+ target: r.targetName
157
+ });
158
+ }
159
+ // Limit per entity to avoid explosion
160
+ if (relationships.length > 50)
161
+ break;
162
+ }
163
+ return { entities, relationships };
164
+ }
165
+ }
166
+ //# sourceMappingURL=GraphRAGEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GraphRAGEngine.js","sourceRoot":"","sources":["../../src/rag/GraphRAGEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Handle-Aware Vector Store for Semantic Versioning
3
+ *
4
+ * Extends VectorStore to enable semantic similarity detection
5
+ * across MCard versions linked to handles.
6
+ *
7
+ * Key Features:
8
+ * - Link MCards to handles during indexing
9
+ * - Compare versions within a handle by semantic similarity
10
+ * - Filter searches by handle
11
+ * - Sort version history by distance to current or query
12
+ * - Automatic upgrade type classification based on semantic delta
13
+ *
14
+ * @module mcard-js/rag/HandleVectorStore
15
+ */
16
+ import { MCard } from '../model/MCard';
17
+ import { MCardVectorStore, VectorStoreConfig } from '../storage/VectorStore';
18
+ export { VectorStoreConfig } from '../storage/VectorStore';
19
+ /**
20
+ * A version in a handle's history with embedding info.
21
+ */
22
+ export interface HandleVersion {
23
+ hash: string;
24
+ versionOrder: number;
25
+ isCurrent: boolean;
26
+ createdAt: string;
27
+ parentHash?: string;
28
+ embeddingId?: number;
29
+ semanticDelta?: number;
30
+ upgradeType?: string;
31
+ }
32
+ /**
33
+ * Result from version similarity comparison.
34
+ */
35
+ export interface VersionSimilarityResult {
36
+ hash: string;
37
+ versionOrder: number;
38
+ similarityToCurrent: number;
39
+ distanceToCurrent: number;
40
+ similarityToQuery?: number;
41
+ parentHash?: string;
42
+ upgradeType?: string;
43
+ }
44
+ /**
45
+ * Classify upgrade type based on semantic similarity to parent.
46
+ *
47
+ * Thresholds:
48
+ * - >= 0.95: trivial (formatting, typo fixes)
49
+ * - 0.85 - 0.94: minor (small edits, clarifications)
50
+ * - 0.70 - 0.84: major (significant content changes)
51
+ * - < 0.70: breaking (major semantic drift)
52
+ *
53
+ * @param semanticDelta Cosine similarity to parent version
54
+ * @returns Upgrade type string
55
+ */
56
+ export declare function classifyUpgradeType(semanticDelta: number): string;
57
+ /**
58
+ * Calculate Euclidean distance between two vectors.
59
+ */
60
+ export declare function euclideanDistance(a: number[], b: number[]): number;
61
+ /**
62
+ * Extended vector store with handle-aware version similarity.
63
+ *
64
+ * This class implements the Handle-Hash Duality pattern with semantic
65
+ * awareness, enabling:
66
+ *
67
+ * - Version tracking via handles
68
+ * - Semantic similarity detection across versions
69
+ * - Intelligent upgrade classification
70
+ * - Cross-version semantic search
71
+ *
72
+ * Architecture:
73
+ * - Handles remain stable identifiers (Proxy Pattern)
74
+ * - Hashes reference immutable content (Content-Addressing)
75
+ * - Embeddings enable semantic understanding (Vector Search)
76
+ *
77
+ * @example
78
+ * ```typescript
79
+ * const store = new HandleVectorStore(':memory:');
80
+ *
81
+ * // Index with handle association
82
+ * await store.indexWithHandle(mcard, 'my_document');
83
+ *
84
+ * // Get versions sorted by similarity to current
85
+ * const versions = await store.getVersionsBySimilarity('my_document');
86
+ *
87
+ * // Find versions similar to a query
88
+ * const results = await store.searchHandleVersions('my_document', 'machine learning');
89
+ * ```
90
+ */
91
+ export declare class HandleVectorStore extends MCardVectorStore {
92
+ constructor(dbPath?: string, config?: Partial<VectorStoreConfig>);
93
+ /**
94
+ * Create handle-vector bridge tables for semantic versioning.
95
+ */
96
+ private initHandleTables;
97
+ /**
98
+ * Index an MCard and associate it with a handle.
99
+ *
100
+ * This method:
101
+ * 1. Indexes the MCard content with embeddings (via base class)
102
+ * 2. Links the MCard hash to the handle with version tracking
103
+ * 3. Computes semantic delta from parent version (if exists)
104
+ * 4. Classifies the upgrade type based on similarity
105
+ *
106
+ * @param mcard MCard to index
107
+ * @param handle Handle name to associate with
108
+ * @param isCurrent Whether this is the current version
109
+ * @param chunk Whether to chunk long content
110
+ * @returns Number of vectors indexed (0 if content couldn't be indexed)
111
+ */
112
+ indexWithHandle(mcard: MCard, handle: string, isCurrent?: boolean, chunk?: boolean): Promise<number>;
113
+ /**
114
+ * Get all versions for a handle.
115
+ *
116
+ * @param handle Handle name to query
117
+ * @returns List of HandleVersion objects, ordered by version_order (0 = current)
118
+ */
119
+ getHandleVersions(handle: string): HandleVersion[];
120
+ /**
121
+ * Get all version hashes for a handle.
122
+ *
123
+ * @param handle Handle name to query
124
+ * @returns List of hashes, ordered by version_order
125
+ */
126
+ getHandleVersionHashes(handle: string): string[];
127
+ /**
128
+ * Get the current version for a handle.
129
+ *
130
+ * @param handle Handle name to query
131
+ * @returns HandleVersion for current version, or undefined if handle not found
132
+ */
133
+ getCurrentVersion(handle: string): HandleVersion | undefined;
134
+ /**
135
+ * Get versions for a handle, sorted by similarity to a reference.
136
+ *
137
+ * @param handle Handle name
138
+ * @param referenceHash Hash to compare against (default: current version)
139
+ * @param metric 'cosine' (higher = more similar) or 'euclidean' (lower = more similar)
140
+ * @returns List of VersionSimilarityResult, sorted by similarity
141
+ */
142
+ getVersionsBySimilarity(handle: string, referenceHash?: string, metric?: 'cosine' | 'euclidean'): VersionSimilarityResult[];
143
+ /**
144
+ * Search within a handle's versions by semantic query.
145
+ *
146
+ * Useful for finding which version of a document best matches
147
+ * a specific concept or topic.
148
+ *
149
+ * @param handle Handle name to filter by
150
+ * @param query Search query text
151
+ * @param k Number of results
152
+ * @returns List of VersionSimilarityResult with query similarity scores
153
+ */
154
+ searchHandleVersions(handle: string, query: string, k?: number): Promise<VersionSimilarityResult[]>;
155
+ /**
156
+ * Compute pairwise cosine similarities between all versions of a handle.
157
+ *
158
+ * Optionally caches results in the version_similarity_cache table.
159
+ *
160
+ * @param handle Handle name
161
+ * @param cache Whether to cache computed similarities
162
+ * @returns Map of (hash_a, hash_b) string key to cosine similarity
163
+ */
164
+ computeVersionDistances(handle: string, cache?: boolean): Map<string, number>;
165
+ /**
166
+ * Get embedding vector for a hash.
167
+ *
168
+ * @param hash MCard hash
169
+ * @param chunkIndex Chunk index (default 0 for first/whole chunk)
170
+ * @returns Embedding vector as array of floats, or undefined if not found
171
+ */
172
+ private getEmbedding;
173
+ /**
174
+ * List all handles with indexed versions.
175
+ *
176
+ * @returns List of unique handle names
177
+ */
178
+ listHandles(): string[];
179
+ /**
180
+ * Count versions for a handle.
181
+ *
182
+ * @param handle Handle name
183
+ * @returns Number of versions
184
+ */
185
+ countVersions(handle: string): number;
186
+ /**
187
+ * Delete all version records for a handle.
188
+ *
189
+ * Note: This only removes the handle-version associations,
190
+ * not the underlying MCard embeddings.
191
+ *
192
+ * @param handle Handle name
193
+ * @returns Number of version records deleted
194
+ */
195
+ deleteHandle(handle: string): number;
196
+ /**
197
+ * Get extended vector store information including handle stats.
198
+ */
199
+ getInfo(): Record<string, unknown>;
200
+ }
201
+ //# sourceMappingURL=HandleVectorStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandleVectorStore.d.ts","sourceRoot":"","sources":["../../src/rag/HandleVectorStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAmG,MAAM,wBAAwB,CAAC;AAI9K,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAM3D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAUjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAUlE;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;gBAEvC,MAAM,GAAE,MAAmB,EAAE,MAAM,GAAE,OAAO,CAAC,iBAAiB,CAAM;IAKhF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACjB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,OAAc,EACzB,KAAK,GAAE,OAAc,GACtB,OAAO,CAAC,MAAM,CAAC;IAgHlB;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE;IA8BlD;;;;;OAKG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE;IAKhD;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAsC5D;;;;;;;OAOG;IACH,uBAAuB,CACnB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EACtB,MAAM,GAAE,QAAQ,GAAG,WAAsB,GAC1C,uBAAuB,EAAE;IA6D5B;;;;;;;;;;OAUG;IACG,oBAAoB,CACtB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,CAAC,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,uBAAuB,EAAE,CAAC;IA2CrC;;;;;;;;OAQG;IACH,uBAAuB,CACnB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,OAAc,GACtB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAsDtB;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IA4BpB;;;;OAIG;IACH,WAAW,IAAI,MAAM,EAAE;IAOvB;;;;;OAKG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAOrC;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAepC;;OAEG;IACM,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAqB9C"}