mcard-js 2.1.24 → 2.1.26

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 (454) hide show
  1. package/README.md +1 -1
  2. package/dist/scripts/docker-startup.d.ts +2 -0
  3. package/dist/scripts/docker-startup.d.ts.map +1 -0
  4. package/dist/scripts/docker-startup.js +39 -0
  5. package/dist/scripts/docker-startup.js.map +1 -0
  6. package/dist/src/hash/HashValidator.d.ts +14 -0
  7. package/dist/src/hash/HashValidator.d.ts.map +1 -0
  8. package/dist/src/hash/HashValidator.js +57 -0
  9. package/dist/src/hash/HashValidator.js.map +1 -0
  10. package/dist/src/index.d.ts +29 -0
  11. package/dist/src/index.d.ts.map +1 -0
  12. package/dist/src/index.js +38 -0
  13. package/dist/src/index.js.map +1 -0
  14. package/dist/src/model/CardCollection.d.ts +147 -0
  15. package/dist/src/model/CardCollection.d.ts.map +1 -0
  16. package/dist/src/model/CardCollection.js +272 -0
  17. package/dist/src/model/CardCollection.js.map +1 -0
  18. package/dist/src/model/ContentTypeInterpreter.d.ts +23 -0
  19. package/dist/src/model/ContentTypeInterpreter.d.ts.map +1 -0
  20. package/dist/src/model/ContentTypeInterpreter.js +140 -0
  21. package/dist/src/model/ContentTypeInterpreter.js.map +1 -0
  22. package/dist/src/model/EventProducer.d.ts +10 -0
  23. package/dist/src/model/EventProducer.d.ts.map +1 -0
  24. package/dist/src/model/EventProducer.js +46 -0
  25. package/dist/src/model/EventProducer.js.map +1 -0
  26. package/dist/src/model/GTime.d.ts +44 -0
  27. package/dist/src/model/GTime.d.ts.map +1 -0
  28. package/dist/src/model/GTime.js +91 -0
  29. package/dist/src/model/GTime.js.map +1 -0
  30. package/dist/src/model/Handle.d.ts +37 -0
  31. package/dist/src/model/Handle.d.ts.map +1 -0
  32. package/dist/src/model/Handle.js +90 -0
  33. package/dist/src/model/Handle.js.map +1 -0
  34. package/dist/src/model/MCard.d.ts +145 -0
  35. package/dist/src/model/MCard.d.ts.map +1 -0
  36. package/dist/src/model/MCard.js +180 -0
  37. package/dist/src/model/MCard.js.map +1 -0
  38. package/dist/src/model/PCard.d.ts +271 -0
  39. package/dist/src/model/PCard.d.ts.map +1 -0
  40. package/dist/src/model/PCard.js +558 -0
  41. package/dist/src/model/PCard.js.map +1 -0
  42. package/dist/src/model/VCard.d.ts +277 -0
  43. package/dist/src/model/VCard.d.ts.map +1 -0
  44. package/dist/src/model/VCard.js +573 -0
  45. package/dist/src/model/VCard.js.map +1 -0
  46. package/dist/src/model/constants.d.ts +45 -0
  47. package/dist/src/model/constants.d.ts.map +1 -0
  48. package/dist/src/model/constants.js +27 -0
  49. package/dist/src/model/constants.js.map +1 -0
  50. package/dist/src/model/detectors/BaseDetector.d.ts +26 -0
  51. package/dist/src/model/detectors/BaseDetector.d.ts.map +1 -0
  52. package/dist/src/model/detectors/BaseDetector.js +5 -0
  53. package/dist/src/model/detectors/BaseDetector.js.map +1 -0
  54. package/dist/src/model/detectors/BinaryDetector.d.ts +16 -0
  55. package/dist/src/model/detectors/BinaryDetector.d.ts.map +1 -0
  56. package/dist/src/model/detectors/BinaryDetector.js +93 -0
  57. package/dist/src/model/detectors/BinaryDetector.js.map +1 -0
  58. package/dist/src/model/detectors/ContentTypeInterpreter.d.ts +11 -0
  59. package/dist/src/model/detectors/ContentTypeInterpreter.d.ts.map +1 -0
  60. package/dist/src/model/detectors/ContentTypeInterpreter.js +51 -0
  61. package/dist/src/model/detectors/ContentTypeInterpreter.js.map +1 -0
  62. package/dist/src/model/detectors/DataFormatDetectors.d.ts +29 -0
  63. package/dist/src/model/detectors/DataFormatDetectors.d.ts.map +1 -0
  64. package/dist/src/model/detectors/DataFormatDetectors.js +223 -0
  65. package/dist/src/model/detectors/DataFormatDetectors.js.map +1 -0
  66. package/dist/src/model/detectors/LanguageDetector.d.ts +11 -0
  67. package/dist/src/model/detectors/LanguageDetector.d.ts.map +1 -0
  68. package/dist/src/model/detectors/LanguageDetector.js +148 -0
  69. package/dist/src/model/detectors/LanguageDetector.js.map +1 -0
  70. package/dist/src/model/detectors/MarkupDetectors.d.ts +22 -0
  71. package/dist/src/model/detectors/MarkupDetectors.d.ts.map +1 -0
  72. package/dist/src/model/detectors/MarkupDetectors.js +132 -0
  73. package/dist/src/model/detectors/MarkupDetectors.js.map +1 -0
  74. package/dist/src/model/detectors/OBJDetector.d.ts +8 -0
  75. package/dist/src/model/detectors/OBJDetector.d.ts.map +1 -0
  76. package/dist/src/model/detectors/OBJDetector.js +48 -0
  77. package/dist/src/model/detectors/OBJDetector.js.map +1 -0
  78. package/dist/src/model/detectors/registry.d.ts +13 -0
  79. package/dist/src/model/detectors/registry.d.ts.map +1 -0
  80. package/dist/src/model/detectors/registry.js +67 -0
  81. package/dist/src/model/detectors/registry.js.map +1 -0
  82. package/dist/src/model/vcard_ext/core.d.ts +22 -0
  83. package/dist/src/model/vcard_ext/core.d.ts.map +1 -0
  84. package/dist/src/model/vcard_ext/core.js +41 -0
  85. package/dist/src/model/vcard_ext/core.js.map +1 -0
  86. package/dist/src/model/vcard_ext/index.d.ts +14 -0
  87. package/dist/src/model/vcard_ext/index.d.ts.map +1 -0
  88. package/dist/src/model/vcard_ext/index.js +24 -0
  89. package/dist/src/model/vcard_ext/index.js.map +1 -0
  90. package/dist/src/model/vcard_ext/network.d.ts +6 -0
  91. package/dist/src/model/vcard_ext/network.d.ts.map +1 -0
  92. package/dist/src/model/vcard_ext/network.js +23 -0
  93. package/dist/src/model/vcard_ext/network.js.map +1 -0
  94. package/dist/src/model/vcard_ext/observability.d.ts +6 -0
  95. package/dist/src/model/vcard_ext/observability.d.ts.map +1 -0
  96. package/dist/src/model/vcard_ext/observability.js +62 -0
  97. package/dist/src/model/vcard_ext/observability.js.map +1 -0
  98. package/dist/src/model/vcard_ext/storage.d.ts +6 -0
  99. package/dist/src/model/vcard_ext/storage.d.ts.map +1 -0
  100. package/dist/src/model/vcard_ext/storage.js +47 -0
  101. package/dist/src/model/vcard_ext/storage.js.map +1 -0
  102. package/dist/src/model/vcard_ext/vendors.d.ts +12 -0
  103. package/dist/src/model/vcard_ext/vendors.d.ts.map +1 -0
  104. package/dist/src/model/vcard_ext/vendors.js +210 -0
  105. package/dist/src/model/vcard_ext/vendors.js.map +1 -0
  106. package/dist/src/model/vcard_vocabulary.d.ts +174 -0
  107. package/dist/src/model/vcard_vocabulary.d.ts.map +1 -0
  108. package/dist/src/model/vcard_vocabulary.js +187 -0
  109. package/dist/src/model/vcard_vocabulary.js.map +1 -0
  110. package/dist/src/monads/Either.d.ts +51 -0
  111. package/dist/src/monads/Either.d.ts.map +1 -0
  112. package/dist/src/monads/Either.js +82 -0
  113. package/dist/src/monads/Either.js.map +1 -0
  114. package/dist/src/monads/IO.d.ts +38 -0
  115. package/dist/src/monads/IO.d.ts.map +1 -0
  116. package/dist/src/monads/IO.js +66 -0
  117. package/dist/src/monads/IO.js.map +1 -0
  118. package/dist/src/monads/Maybe.d.ts +45 -0
  119. package/dist/src/monads/Maybe.d.ts.map +1 -0
  120. package/dist/src/monads/Maybe.js +73 -0
  121. package/dist/src/monads/Maybe.js.map +1 -0
  122. package/dist/src/monads/Reader.d.ts +29 -0
  123. package/dist/src/monads/Reader.d.ts.map +1 -0
  124. package/dist/src/monads/Reader.js +44 -0
  125. package/dist/src/monads/Reader.js.map +1 -0
  126. package/dist/src/monads/State.d.ts +33 -0
  127. package/dist/src/monads/State.d.ts.map +1 -0
  128. package/dist/src/monads/State.js +50 -0
  129. package/dist/src/monads/State.js.map +1 -0
  130. package/dist/src/monads/Writer.d.ts +29 -0
  131. package/dist/src/monads/Writer.d.ts.map +1 -0
  132. package/dist/src/monads/Writer.js +46 -0
  133. package/dist/src/monads/Writer.js.map +1 -0
  134. package/dist/src/ptr/Bridgelet.d.ts +180 -0
  135. package/dist/src/ptr/Bridgelet.d.ts.map +1 -0
  136. package/dist/src/ptr/Bridgelet.js +296 -0
  137. package/dist/src/ptr/Bridgelet.js.map +1 -0
  138. package/dist/src/ptr/CLMIntrospection.d.ts +169 -0
  139. package/dist/src/ptr/CLMIntrospection.d.ts.map +1 -0
  140. package/dist/src/ptr/CLMIntrospection.js +329 -0
  141. package/dist/src/ptr/CLMIntrospection.js.map +1 -0
  142. package/dist/src/ptr/FaroSidecar.d.ts +56 -0
  143. package/dist/src/ptr/FaroSidecar.d.ts.map +1 -0
  144. package/dist/src/ptr/FaroSidecar.js +102 -0
  145. package/dist/src/ptr/FaroSidecar.js.map +1 -0
  146. package/dist/src/ptr/LensProtocol.d.ts +84 -0
  147. package/dist/src/ptr/LensProtocol.d.ts.map +1 -0
  148. package/dist/src/ptr/LensProtocol.js +98 -0
  149. package/dist/src/ptr/LensProtocol.js.map +1 -0
  150. package/dist/src/ptr/OpenTelemetrySidecar.d.ts +144 -0
  151. package/dist/src/ptr/OpenTelemetrySidecar.d.ts.map +1 -0
  152. package/dist/src/ptr/OpenTelemetrySidecar.js +232 -0
  153. package/dist/src/ptr/OpenTelemetrySidecar.js.map +1 -0
  154. package/dist/src/ptr/SandboxWorker.d.ts +79 -0
  155. package/dist/src/ptr/SandboxWorker.d.ts.map +1 -0
  156. package/dist/src/ptr/SandboxWorker.js +298 -0
  157. package/dist/src/ptr/SandboxWorker.js.map +1 -0
  158. package/dist/src/ptr/common_types.d.ts +39 -0
  159. package/dist/src/ptr/common_types.d.ts.map +1 -0
  160. package/dist/src/ptr/common_types.js +12 -0
  161. package/dist/src/ptr/common_types.js.map +1 -0
  162. package/dist/src/ptr/lambda/AlphaConversion.d.ts +42 -0
  163. package/dist/src/ptr/lambda/AlphaConversion.d.ts.map +1 -0
  164. package/dist/src/ptr/lambda/AlphaConversion.js +244 -0
  165. package/dist/src/ptr/lambda/AlphaConversion.js.map +1 -0
  166. package/dist/src/ptr/lambda/BetaReduction.d.ts +73 -0
  167. package/dist/src/ptr/lambda/BetaReduction.d.ts.map +1 -0
  168. package/dist/src/ptr/lambda/BetaReduction.js +330 -0
  169. package/dist/src/ptr/lambda/BetaReduction.js.map +1 -0
  170. package/dist/src/ptr/lambda/EtaConversion.d.ts +65 -0
  171. package/dist/src/ptr/lambda/EtaConversion.d.ts.map +1 -0
  172. package/dist/src/ptr/lambda/EtaConversion.js +228 -0
  173. package/dist/src/ptr/lambda/EtaConversion.js.map +1 -0
  174. package/dist/src/ptr/lambda/FreeVariables.d.ts +49 -0
  175. package/dist/src/ptr/lambda/FreeVariables.d.ts.map +1 -0
  176. package/dist/src/ptr/lambda/FreeVariables.js +227 -0
  177. package/dist/src/ptr/lambda/FreeVariables.js.map +1 -0
  178. package/dist/src/ptr/lambda/IOEffects.d.ts +103 -0
  179. package/dist/src/ptr/lambda/IOEffects.d.ts.map +1 -0
  180. package/dist/src/ptr/lambda/IOEffects.js +236 -0
  181. package/dist/src/ptr/lambda/IOEffects.js.map +1 -0
  182. package/dist/src/ptr/lambda/LambdaRuntime.d.ts +104 -0
  183. package/dist/src/ptr/lambda/LambdaRuntime.d.ts.map +1 -0
  184. package/dist/src/ptr/lambda/LambdaRuntime.js +636 -0
  185. package/dist/src/ptr/lambda/LambdaRuntime.js.map +1 -0
  186. package/dist/src/ptr/lambda/LambdaTerm.d.ts +100 -0
  187. package/dist/src/ptr/lambda/LambdaTerm.d.ts.map +1 -0
  188. package/dist/src/ptr/lambda/LambdaTerm.js +183 -0
  189. package/dist/src/ptr/lambda/LambdaTerm.js.map +1 -0
  190. package/dist/src/ptr/lambda/index.d.ts +24 -0
  191. package/dist/src/ptr/lambda/index.d.ts.map +1 -0
  192. package/dist/src/ptr/lambda/index.js +34 -0
  193. package/dist/src/ptr/lambda/index.js.map +1 -0
  194. package/dist/src/ptr/llm/Config.d.ts +57 -0
  195. package/dist/src/ptr/llm/Config.d.ts.map +1 -0
  196. package/dist/src/ptr/llm/Config.js +183 -0
  197. package/dist/src/ptr/llm/Config.js.map +1 -0
  198. package/dist/src/ptr/llm/LLMRuntime.d.ts +35 -0
  199. package/dist/src/ptr/llm/LLMRuntime.d.ts.map +1 -0
  200. package/dist/src/ptr/llm/LLMRuntime.js +176 -0
  201. package/dist/src/ptr/llm/LLMRuntime.js.map +1 -0
  202. package/dist/src/ptr/llm/providers/LLMProvider.d.ts +43 -0
  203. package/dist/src/ptr/llm/providers/LLMProvider.d.ts.map +1 -0
  204. package/dist/src/ptr/llm/providers/LLMProvider.js +31 -0
  205. package/dist/src/ptr/llm/providers/LLMProvider.js.map +1 -0
  206. package/dist/src/ptr/llm/providers/MLCLLMProvider.d.ts +22 -0
  207. package/dist/src/ptr/llm/providers/MLCLLMProvider.d.ts.map +1 -0
  208. package/dist/src/ptr/llm/providers/MLCLLMProvider.js +155 -0
  209. package/dist/src/ptr/llm/providers/MLCLLMProvider.js.map +1 -0
  210. package/dist/src/ptr/llm/providers/OllamaEmbeddingProvider.d.ts +20 -0
  211. package/dist/src/ptr/llm/providers/OllamaEmbeddingProvider.d.ts.map +1 -0
  212. package/dist/src/ptr/llm/providers/OllamaEmbeddingProvider.js +42 -0
  213. package/dist/src/ptr/llm/providers/OllamaEmbeddingProvider.js.map +1 -0
  214. package/dist/src/ptr/llm/providers/OllamaProvider.d.ts +21 -0
  215. package/dist/src/ptr/llm/providers/OllamaProvider.d.ts.map +1 -0
  216. package/dist/src/ptr/llm/providers/OllamaProvider.js +158 -0
  217. package/dist/src/ptr/llm/providers/OllamaProvider.js.map +1 -0
  218. package/dist/src/ptr/llm/providers/WebLLMProvider.d.ts +22 -0
  219. package/dist/src/ptr/llm/providers/WebLLMProvider.d.ts.map +1 -0
  220. package/dist/src/ptr/llm/providers/WebLLMProvider.js +151 -0
  221. package/dist/src/ptr/llm/providers/WebLLMProvider.js.map +1 -0
  222. package/dist/src/ptr/node/Action.d.ts +445 -0
  223. package/dist/src/ptr/node/Action.d.ts.map +1 -0
  224. package/dist/src/ptr/node/Action.js +818 -0
  225. package/dist/src/ptr/node/Action.js.map +1 -0
  226. package/dist/src/ptr/node/CLMLoader.d.ts +18 -0
  227. package/dist/src/ptr/node/CLMLoader.d.ts.map +1 -0
  228. package/dist/src/ptr/node/CLMLoader.js +18 -0
  229. package/dist/src/ptr/node/CLMLoader.js.map +1 -0
  230. package/dist/src/ptr/node/CLMRunner.d.ts +34 -0
  231. package/dist/src/ptr/node/CLMRunner.d.ts.map +1 -0
  232. package/dist/src/ptr/node/CLMRunner.js +36 -0
  233. package/dist/src/ptr/node/CLMRunner.js.map +1 -0
  234. package/dist/src/ptr/node/FileSystemUtils.d.ts +41 -0
  235. package/dist/src/ptr/node/FileSystemUtils.d.ts.map +1 -0
  236. package/dist/src/ptr/node/FileSystemUtils.js +126 -0
  237. package/dist/src/ptr/node/FileSystemUtils.js.map +1 -0
  238. package/dist/src/ptr/node/NetworkConfig.d.ts +191 -0
  239. package/dist/src/ptr/node/NetworkConfig.d.ts.map +1 -0
  240. package/dist/src/ptr/node/NetworkConfig.js +8 -0
  241. package/dist/src/ptr/node/NetworkConfig.js.map +1 -0
  242. package/dist/src/ptr/node/NetworkRuntime.d.ts +38 -0
  243. package/dist/src/ptr/node/NetworkRuntime.d.ts.map +1 -0
  244. package/dist/src/ptr/node/NetworkRuntime.js +871 -0
  245. package/dist/src/ptr/node/NetworkRuntime.js.map +1 -0
  246. package/dist/src/ptr/node/P2PChatSession.d.ts +53 -0
  247. package/dist/src/ptr/node/P2PChatSession.d.ts.map +1 -0
  248. package/dist/src/ptr/node/P2PChatSession.js +154 -0
  249. package/dist/src/ptr/node/P2PChatSession.js.map +1 -0
  250. package/dist/src/ptr/node/RuntimeInterface.d.ts +4 -0
  251. package/dist/src/ptr/node/RuntimeInterface.d.ts.map +1 -0
  252. package/dist/src/ptr/node/RuntimeInterface.js +2 -0
  253. package/dist/src/ptr/node/RuntimeInterface.js.map +1 -0
  254. package/dist/src/ptr/node/Runtimes.d.ts +34 -0
  255. package/dist/src/ptr/node/Runtimes.d.ts.map +1 -0
  256. package/dist/src/ptr/node/Runtimes.js +38 -0
  257. package/dist/src/ptr/node/Runtimes.js.map +1 -0
  258. package/dist/src/ptr/node/SignalingServer.d.ts +37 -0
  259. package/dist/src/ptr/node/SignalingServer.d.ts.map +1 -0
  260. package/dist/src/ptr/node/SignalingServer.js +218 -0
  261. package/dist/src/ptr/node/SignalingServer.js.map +1 -0
  262. package/dist/src/ptr/node/cli.d.ts +3 -0
  263. package/dist/src/ptr/node/cli.d.ts.map +1 -0
  264. package/dist/src/ptr/node/cli.js +266 -0
  265. package/dist/src/ptr/node/cli.js.map +1 -0
  266. package/dist/src/ptr/node/clm/builtins/handle.d.ts +14 -0
  267. package/dist/src/ptr/node/clm/builtins/handle.d.ts.map +1 -0
  268. package/dist/src/ptr/node/clm/builtins/handle.js +177 -0
  269. package/dist/src/ptr/node/clm/builtins/handle.js.map +1 -0
  270. package/dist/src/ptr/node/clm/builtins/index.d.ts +28 -0
  271. package/dist/src/ptr/node/clm/builtins/index.d.ts.map +1 -0
  272. package/dist/src/ptr/node/clm/builtins/index.js +94 -0
  273. package/dist/src/ptr/node/clm/builtins/index.js.map +1 -0
  274. package/dist/src/ptr/node/clm/builtins/server-scripts/websocket-server-worker.d.ts +8 -0
  275. package/dist/src/ptr/node/clm/builtins/server-scripts/websocket-server-worker.d.ts.map +1 -0
  276. package/dist/src/ptr/node/clm/builtins/server-scripts/websocket-server-worker.js +81 -0
  277. package/dist/src/ptr/node/clm/builtins/server-scripts/websocket-server-worker.js.map +1 -0
  278. package/dist/src/ptr/node/clm/builtins/static-server.d.ts +35 -0
  279. package/dist/src/ptr/node/clm/builtins/static-server.d.ts.map +1 -0
  280. package/dist/src/ptr/node/clm/builtins/static-server.js +252 -0
  281. package/dist/src/ptr/node/clm/builtins/static-server.js.map +1 -0
  282. package/dist/src/ptr/node/clm/builtins/websocket-server.d.ts +35 -0
  283. package/dist/src/ptr/node/clm/builtins/websocket-server.d.ts.map +1 -0
  284. package/dist/src/ptr/node/clm/builtins/websocket-server.js +265 -0
  285. package/dist/src/ptr/node/clm/builtins/websocket-server.js.map +1 -0
  286. package/dist/src/ptr/node/clm/index.d.ts +27 -0
  287. package/dist/src/ptr/node/clm/index.d.ts.map +1 -0
  288. package/dist/src/ptr/node/clm/index.js +30 -0
  289. package/dist/src/ptr/node/clm/index.js.map +1 -0
  290. package/dist/src/ptr/node/clm/loader.d.ts +25 -0
  291. package/dist/src/ptr/node/clm/loader.d.ts.map +1 -0
  292. package/dist/src/ptr/node/clm/loader.js +217 -0
  293. package/dist/src/ptr/node/clm/loader.js.map +1 -0
  294. package/dist/src/ptr/node/clm/multiruntime.d.ts +9 -0
  295. package/dist/src/ptr/node/clm/multiruntime.d.ts.map +1 -0
  296. package/dist/src/ptr/node/clm/multiruntime.js +121 -0
  297. package/dist/src/ptr/node/clm/multiruntime.js.map +1 -0
  298. package/dist/src/ptr/node/clm/operations/handle.d.ts +14 -0
  299. package/dist/src/ptr/node/clm/operations/handle.d.ts.map +1 -0
  300. package/dist/src/ptr/node/clm/operations/handle.js +177 -0
  301. package/dist/src/ptr/node/clm/operations/handle.js.map +1 -0
  302. package/dist/src/ptr/node/clm/operations/index.d.ts +28 -0
  303. package/dist/src/ptr/node/clm/operations/index.d.ts.map +1 -0
  304. package/dist/src/ptr/node/clm/operations/index.js +94 -0
  305. package/dist/src/ptr/node/clm/operations/index.js.map +1 -0
  306. package/dist/src/ptr/node/clm/operations/server-scripts/websocket-server-worker.d.ts +8 -0
  307. package/dist/src/ptr/node/clm/operations/server-scripts/websocket-server-worker.d.ts.map +1 -0
  308. package/dist/src/ptr/node/clm/operations/server-scripts/websocket-server-worker.js +81 -0
  309. package/dist/src/ptr/node/clm/operations/server-scripts/websocket-server-worker.js.map +1 -0
  310. package/dist/src/ptr/node/clm/operations/static-server.d.ts +35 -0
  311. package/dist/src/ptr/node/clm/operations/static-server.d.ts.map +1 -0
  312. package/dist/src/ptr/node/clm/operations/static-server.js +252 -0
  313. package/dist/src/ptr/node/clm/operations/static-server.js.map +1 -0
  314. package/dist/src/ptr/node/clm/operations/websocket-server.d.ts +35 -0
  315. package/dist/src/ptr/node/clm/operations/websocket-server.d.ts.map +1 -0
  316. package/dist/src/ptr/node/clm/operations/websocket-server.js +265 -0
  317. package/dist/src/ptr/node/clm/operations/websocket-server.js.map +1 -0
  318. package/dist/src/ptr/node/clm/runner.d.ts +77 -0
  319. package/dist/src/ptr/node/clm/runner.d.ts.map +1 -0
  320. package/dist/src/ptr/node/clm/runner.js +431 -0
  321. package/dist/src/ptr/node/clm/runner.js.map +1 -0
  322. package/dist/src/ptr/node/clm/types.d.ts +213 -0
  323. package/dist/src/ptr/node/clm/types.d.ts.map +1 -0
  324. package/dist/src/ptr/node/clm/types.js +5 -0
  325. package/dist/src/ptr/node/clm/types.js.map +1 -0
  326. package/dist/src/ptr/node/clm/utils.d.ts +29 -0
  327. package/dist/src/ptr/node/clm/utils.d.ts.map +1 -0
  328. package/dist/src/ptr/node/clm/utils.js +88 -0
  329. package/dist/src/ptr/node/clm/utils.js.map +1 -0
  330. package/dist/src/ptr/node/network/HttpClient.d.ts +14 -0
  331. package/dist/src/ptr/node/network/HttpClient.d.ts.map +1 -0
  332. package/dist/src/ptr/node/network/HttpClient.js +139 -0
  333. package/dist/src/ptr/node/network/HttpClient.js.map +1 -0
  334. package/dist/src/ptr/node/network/MCardSerialization.d.ts +19 -0
  335. package/dist/src/ptr/node/network/MCardSerialization.d.ts.map +1 -0
  336. package/dist/src/ptr/node/network/MCardSerialization.js +41 -0
  337. package/dist/src/ptr/node/network/MCardSerialization.js.map +1 -0
  338. package/dist/src/ptr/node/network/NetworkInfrastructure.d.ts +37 -0
  339. package/dist/src/ptr/node/network/NetworkInfrastructure.d.ts.map +1 -0
  340. package/dist/src/ptr/node/network/NetworkInfrastructure.js +121 -0
  341. package/dist/src/ptr/node/network/NetworkInfrastructure.js.map +1 -0
  342. package/dist/src/ptr/node/network/NetworkSecurity.d.ts +24 -0
  343. package/dist/src/ptr/node/network/NetworkSecurity.d.ts.map +1 -0
  344. package/dist/src/ptr/node/network/NetworkSecurity.js +104 -0
  345. package/dist/src/ptr/node/network/NetworkSecurity.js.map +1 -0
  346. package/dist/src/ptr/node/runtimes/base.d.ts +31 -0
  347. package/dist/src/ptr/node/runtimes/base.d.ts.map +1 -0
  348. package/dist/src/ptr/node/runtimes/base.js +33 -0
  349. package/dist/src/ptr/node/runtimes/base.js.map +1 -0
  350. package/dist/src/ptr/node/runtimes/binary.d.ts +10 -0
  351. package/dist/src/ptr/node/runtimes/binary.d.ts.map +1 -0
  352. package/dist/src/ptr/node/runtimes/binary.js +16 -0
  353. package/dist/src/ptr/node/runtimes/binary.js.map +1 -0
  354. package/dist/src/ptr/node/runtimes/factory.d.ts +22 -0
  355. package/dist/src/ptr/node/runtimes/factory.d.ts.map +1 -0
  356. package/dist/src/ptr/node/runtimes/factory.js +152 -0
  357. package/dist/src/ptr/node/runtimes/factory.js.map +1 -0
  358. package/dist/src/ptr/node/runtimes/index.d.ts +28 -0
  359. package/dist/src/ptr/node/runtimes/index.d.ts.map +1 -0
  360. package/dist/src/ptr/node/runtimes/index.js +30 -0
  361. package/dist/src/ptr/node/runtimes/index.js.map +1 -0
  362. package/dist/src/ptr/node/runtimes/javascript.d.ts +22 -0
  363. package/dist/src/ptr/node/runtimes/javascript.d.ts.map +1 -0
  364. package/dist/src/ptr/node/runtimes/javascript.js +125 -0
  365. package/dist/src/ptr/node/runtimes/javascript.js.map +1 -0
  366. package/dist/src/ptr/node/runtimes/lean.d.ts +10 -0
  367. package/dist/src/ptr/node/runtimes/lean.d.ts.map +1 -0
  368. package/dist/src/ptr/node/runtimes/lean.js +60 -0
  369. package/dist/src/ptr/node/runtimes/lean.js.map +1 -0
  370. package/dist/src/ptr/node/runtimes/loader.d.ts +21 -0
  371. package/dist/src/ptr/node/runtimes/loader.d.ts.map +1 -0
  372. package/dist/src/ptr/node/runtimes/loader.js +142 -0
  373. package/dist/src/ptr/node/runtimes/loader.js.map +1 -0
  374. package/dist/src/ptr/node/runtimes/python.d.ts +14 -0
  375. package/dist/src/ptr/node/runtimes/python.d.ts.map +1 -0
  376. package/dist/src/ptr/node/runtimes/python.js +100 -0
  377. package/dist/src/ptr/node/runtimes/python.js.map +1 -0
  378. package/dist/src/ptr/node/runtimes/wasm.d.ts +10 -0
  379. package/dist/src/ptr/node/runtimes/wasm.d.ts.map +1 -0
  380. package/dist/src/ptr/node/runtimes/wasm.js +55 -0
  381. package/dist/src/ptr/node/runtimes/wasm.js.map +1 -0
  382. package/dist/src/rag/GraphRAGEngine.d.ts +26 -0
  383. package/dist/src/rag/GraphRAGEngine.d.ts.map +1 -0
  384. package/dist/src/rag/GraphRAGEngine.js +166 -0
  385. package/dist/src/rag/GraphRAGEngine.js.map +1 -0
  386. package/dist/src/rag/HandleVectorStore.d.ts +201 -0
  387. package/dist/src/rag/HandleVectorStore.d.ts.map +1 -0
  388. package/dist/src/rag/HandleVectorStore.js +527 -0
  389. package/dist/src/rag/HandleVectorStore.js.map +1 -0
  390. package/dist/src/rag/PersistentIndexer.d.ts +148 -0
  391. package/dist/src/rag/PersistentIndexer.d.ts.map +1 -0
  392. package/dist/src/rag/PersistentIndexer.js +302 -0
  393. package/dist/src/rag/PersistentIndexer.js.map +1 -0
  394. package/dist/src/rag/embeddings/VisionEmbeddingProvider.d.ts +87 -0
  395. package/dist/src/rag/embeddings/VisionEmbeddingProvider.d.ts.map +1 -0
  396. package/dist/src/rag/embeddings/VisionEmbeddingProvider.js +164 -0
  397. package/dist/src/rag/embeddings/VisionEmbeddingProvider.js.map +1 -0
  398. package/dist/src/rag/graph/community.d.ts +56 -0
  399. package/dist/src/rag/graph/community.d.ts.map +1 -0
  400. package/dist/src/rag/graph/community.js +247 -0
  401. package/dist/src/rag/graph/community.js.map +1 -0
  402. package/dist/src/rag/graph/extractor.d.ts +99 -0
  403. package/dist/src/rag/graph/extractor.d.ts.map +1 -0
  404. package/dist/src/rag/graph/extractor.js +210 -0
  405. package/dist/src/rag/graph/extractor.js.map +1 -0
  406. package/dist/src/rag/graph/store.d.ts +176 -0
  407. package/dist/src/rag/graph/store.d.ts.map +1 -0
  408. package/dist/src/rag/graph/store.js +504 -0
  409. package/dist/src/rag/graph/store.js.map +1 -0
  410. package/dist/src/rag/index.d.ts +20 -0
  411. package/dist/src/rag/index.d.ts.map +1 -0
  412. package/dist/src/rag/index.js +26 -0
  413. package/dist/src/rag/index.js.map +1 -0
  414. package/dist/src/rag/semanticVersioning.d.ts +187 -0
  415. package/dist/src/rag/semanticVersioning.d.ts.map +1 -0
  416. package/dist/src/rag/semanticVersioning.js +253 -0
  417. package/dist/src/rag/semanticVersioning.js.map +1 -0
  418. package/dist/src/storage/IndexedDBEngine.d.ts +33 -0
  419. package/dist/src/storage/IndexedDBEngine.d.ts.map +1 -0
  420. package/dist/src/storage/IndexedDBEngine.js +198 -0
  421. package/dist/src/storage/IndexedDBEngine.js.map +1 -0
  422. package/dist/src/storage/SqliteNodeEngine.d.ts +123 -0
  423. package/dist/src/storage/SqliteNodeEngine.d.ts.map +1 -0
  424. package/dist/src/storage/SqliteNodeEngine.js +385 -0
  425. package/dist/src/storage/SqliteNodeEngine.js.map +1 -0
  426. package/dist/src/storage/SqliteWasmEngine.d.ts +60 -0
  427. package/dist/src/storage/SqliteWasmEngine.d.ts.map +1 -0
  428. package/dist/src/storage/SqliteWasmEngine.js +193 -0
  429. package/dist/src/storage/SqliteWasmEngine.js.map +1 -0
  430. package/dist/src/storage/StorageAdapter.d.ts +42 -0
  431. package/dist/src/storage/StorageAdapter.d.ts.map +1 -0
  432. package/dist/src/storage/StorageAdapter.js +2 -0
  433. package/dist/src/storage/StorageAdapter.js.map +1 -0
  434. package/dist/src/storage/VectorStore.d.ts +202 -0
  435. package/dist/src/storage/VectorStore.d.ts.map +1 -0
  436. package/dist/src/storage/VectorStore.js +557 -0
  437. package/dist/src/storage/VectorStore.js.map +1 -0
  438. package/dist/src/storage/schema.d.ts +162 -0
  439. package/dist/src/storage/schema.d.ts.map +1 -0
  440. package/dist/src/storage/schema.js +373 -0
  441. package/dist/src/storage/schema.js.map +1 -0
  442. package/dist/src/types/dots.d.ts +206 -0
  443. package/dist/src/types/dots.d.ts.map +1 -0
  444. package/dist/src/types/dots.js +201 -0
  445. package/dist/src/types/dots.js.map +1 -0
  446. package/dist/src/util/FileIO.d.ts +44 -0
  447. package/dist/src/util/FileIO.d.ts.map +1 -0
  448. package/dist/src/util/FileIO.js +203 -0
  449. package/dist/src/util/FileIO.js.map +1 -0
  450. package/dist/src/util/Loader.d.ts +34 -0
  451. package/dist/src/util/Loader.d.ts.map +1 -0
  452. package/dist/src/util/Loader.js +190 -0
  453. package/dist/src/util/Loader.js.map +1 -0
  454. package/package.json +4 -2
package/README.md CHANGED
@@ -609,7 +609,7 @@ To run integration tests against a live Ollama instance:
609
609
  npx vitest tests/rag/Integration.test.ts
610
610
  ```
611
611
 
612
- ## Version 0.1.42 / 2.1.24 Release Notes (January 13, 2026)
612
+ ## Version 0.1.44 / 2.1.24 Release Notes (January 13, 2026)
613
613
  > Single Source of Truth Schema Synchronization
614
614
 
615
615
  ### 🔄 Schema Synchronization
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=docker-startup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-startup.d.ts","sourceRoot":"","sources":["../../scripts/docker-startup.ts"],"names":[],"mappings":""}
@@ -0,0 +1,39 @@
1
+ import { executeStaticServer } from '../src/ptr/node/clm/operations/static-server.js';
2
+ import { executeWebSocketServer } from '../src/ptr/node/clm/operations/websocket-server.js';
3
+ async function main() {
4
+ console.log("🚀 Starting MCard Polyglot Services...");
5
+ // 1. Static Server
6
+ console.log("▶ Deploying Static Server on port 5320...");
7
+ const staticResult = await executeStaticServer({
8
+ action: 'deploy',
9
+ port: 5320,
10
+ host: '0.0.0.0',
11
+ root_dir: '/app/public'
12
+ }, {}, process.cwd());
13
+ if (staticResult.success) {
14
+ console.log(`✅ Static Server running: ${staticResult.url}`);
15
+ console.log(` Serving: ${staticResult.root_dir}`);
16
+ }
17
+ else {
18
+ console.error(`❌ Static Server failed: ${staticResult.error}`);
19
+ }
20
+ // 2. WebSocket Server
21
+ console.log("▶ Deploying WebSocket Server on port 5321...");
22
+ // Assuming similar signature for WebSocket server
23
+ const wsResult = await executeWebSocketServer({
24
+ action: 'deploy',
25
+ port: 5321,
26
+ host: '0.0.0.0'
27
+ }, {}, process.cwd());
28
+ if (wsResult.success) {
29
+ console.log(`✅ WebSocket Server running: ws://0.0.0.0:5321`);
30
+ }
31
+ else {
32
+ console.error(`❌ WebSocket Server failed: ${wsResult.error}`);
33
+ }
34
+ console.log("\nServices are active. Press Ctrl+C to stop.");
35
+ // Keep process alive
36
+ setInterval(() => { }, 1000 * 60 * 60);
37
+ }
38
+ main().catch(console.error);
39
+ //# sourceMappingURL=docker-startup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docker-startup.js","sourceRoot":"","sources":["../../scripts/docker-startup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iDAAiD,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAG5F,KAAK,UAAU,IAAI;IACf,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAEtD,mBAAmB;IACnB,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC;QAC3C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,aAAa;KAC1B,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtB,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,sBAAsB;IACtB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,kDAAkD;IAClD,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC;QAC1C,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,SAAS;KAClB,EAAE,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAEtB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACjE,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,KAAK,CAAC,8BAA8B,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAE5D,qBAAqB;IACrB,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
@@ -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"}
@@ -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,147 @@
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
+ * ## DOTS Vocabulary Role: CARRIER CATEGORY Car(S)
8
+ *
9
+ * CardCollection is the **Carrier Category** in the Double Operadic Theory of Systems.
10
+ * - **Objects**: Individual MCards (data artifacts)
11
+ * - **Morphisms**: Hash references between MCards (content-addressable links)
12
+ * - **Composition**: Morphisms compose via hash chains (Merkle-DAG structure)
13
+ *
14
+ * The Carrier is where **actual systems live**. While the Target (CLM design space)
15
+ * defines possible interfaces and interactions, the Carrier holds the real data.
16
+ *
17
+ * ## The Action: Loose(I) ⊛ Car(S) → Car(S)
18
+ *
19
+ * In DOTS, the **Action** is how interactions (from Target) act on systems (in Carrier)
20
+ * to produce new systems. For CardCollection:
21
+ * - PCard (Chart/Lens) defines the interaction pattern
22
+ * - CardCollection.add() produces new MCard in the Carrier
23
+ * - The result is a new Object in Car(S)
24
+ *
25
+ * ## Empty Schema Principle
26
+ *
27
+ * CardCollection embodies the Wordless Book principle:
28
+ * - At t₀: Empty collection = "Wordless Book"
29
+ * - At t_n: Billions of cards = "Infinite Library"
30
+ * - Schema (structure) never changes; only data (content) grows
31
+ *
32
+ * ## CRD-Only Operations (No UPDATE)
33
+ *
34
+ * Following MCard design principles, this collection supports only:
35
+ * - **C**reate: `add()`, `addWithHandle()`
36
+ * - **R**ead: `get()`, `getByHandle()`, `getPage()`, `search*()`
37
+ * - **D**elete: `delete()`, `clear()`
38
+ *
39
+ * There is NO `update()` method. Instead, to "update":
40
+ * 1. Create a new MCard with new content
41
+ * 2. Use `updateHandle()` to point the handle to the new hash
42
+ * 3. The old MCard remains in the collection (immutable history)
43
+ *
44
+ * ## CRDT Foundation (G-Set)
45
+ *
46
+ * CardCollection implements **Grow-Only Set (G-Set) CRDT** semantics:
47
+ * - **Commutative**: merge(A, B) = merge(B, A)
48
+ * - **Associative**: merge(A, merge(B, C)) = merge(merge(A, B), C)
49
+ * - **Idempotent**: merge(A, A) = A (same hash = same card)
50
+ *
51
+ * This enables **Strong Eventual Consistency** without coordination.
52
+ *
53
+ * ## Monadic API
54
+ *
55
+ * The `*M` methods (getM, getByHandleM, etc.) return Maybe<T> monads
56
+ * for composable, null-safe operations following functional programming patterns.
57
+ *
58
+ * @see {@link MCard} for the individual Carrier objects
59
+ * @see {@link DOTSRole.CARRIER} for DOTS vocabulary definition
60
+ * @see docs/WorkingNotes/Permanent/Projects/PKC Kernel/MCard.md for full specification
61
+ */
62
+ export declare class CardCollection {
63
+ private engine;
64
+ constructor(engine: StorageEngine);
65
+ /**
66
+ * Add a card to the collection
67
+ * Handles duplicates (same content, same hash) and collisions (diff content, same hash)
68
+ */
69
+ add(card: MCard): Promise<string>;
70
+ private areContentsEqual;
71
+ /**
72
+ * Get a card by hash
73
+ */
74
+ get(hash: string): Promise<MCard | null>;
75
+ /**
76
+ * Delete a card by hash
77
+ */
78
+ delete(hash: string): Promise<void>;
79
+ /**
80
+ * Get a page of cards
81
+ */
82
+ getPage(pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
83
+ /**
84
+ * Count total cards
85
+ */
86
+ count(): Promise<number>;
87
+ /**
88
+ * Add a card and register a handle for it
89
+ */
90
+ addWithHandle(card: MCard, handle: string): Promise<string>;
91
+ /**
92
+ * Get card by handle
93
+ */
94
+ getByHandle(handle: string): Promise<MCard | null>;
95
+ /**
96
+ * Resolve handle to hash
97
+ */
98
+ resolveHandle(handle: string): Promise<string | null>;
99
+ /**
100
+ * Update handle to point to new card
101
+ */
102
+ updateHandle(handle: string, newCard: MCard): Promise<string>;
103
+ /**
104
+ * Get version history for a handle
105
+ */
106
+ getHandleHistory(handle: string): Promise<{
107
+ previousHash: string;
108
+ changedAt: string;
109
+ }[]>;
110
+ /**
111
+ * Monadic get - returns Maybe<MCard>
112
+ */
113
+ getM(hash: string): Promise<Maybe<MCard>>;
114
+ /**
115
+ * Monadic getByHandle - returns Maybe<MCard>
116
+ */
117
+ getByHandleM(handle: string): Promise<Maybe<MCard>>;
118
+ /**
119
+ * Monadic resolveHandle - returns Maybe<string>
120
+ */
121
+ resolveHandleM(handle: string): Promise<Maybe<string>>;
122
+ /**
123
+ * Resolve handle and get card in one monadic operation
124
+ */
125
+ resolveAndGetM(handle: string): Promise<Maybe<MCard>>;
126
+ /**
127
+ * Prune version history for a handle.
128
+ * @param handle The handle string.
129
+ * @param options Options for pruning (olderThan date, or deleteAll).
130
+ * @returns Number of deleted entries.
131
+ */
132
+ pruneHandleHistory(handle: string, options?: {
133
+ olderThan?: string;
134
+ deleteAll?: boolean;
135
+ }): Promise<number>;
136
+ clear(): Promise<void>;
137
+ searchByString(query: string, pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
138
+ searchByContent(query: string, pageNumber?: number, pageSize?: number): Promise<Page<MCard>>;
139
+ searchByHash(hashPrefix: string): Promise<MCard[]>;
140
+ getAllMCardsRaw(): Promise<MCard[]>;
141
+ getAllCards(pageSize?: number, processCallback?: (card: MCard) => any): Promise<{
142
+ cards: MCard[];
143
+ total: number;
144
+ }>;
145
+ printAllCards(): Promise<void>;
146
+ }
147
+ //# 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,272 @@
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
+ * ## DOTS Vocabulary Role: CARRIER CATEGORY Car(S)
7
+ *
8
+ * CardCollection is the **Carrier Category** in the Double Operadic Theory of Systems.
9
+ * - **Objects**: Individual MCards (data artifacts)
10
+ * - **Morphisms**: Hash references between MCards (content-addressable links)
11
+ * - **Composition**: Morphisms compose via hash chains (Merkle-DAG structure)
12
+ *
13
+ * The Carrier is where **actual systems live**. While the Target (CLM design space)
14
+ * defines possible interfaces and interactions, the Carrier holds the real data.
15
+ *
16
+ * ## The Action: Loose(I) ⊛ Car(S) → Car(S)
17
+ *
18
+ * In DOTS, the **Action** is how interactions (from Target) act on systems (in Carrier)
19
+ * to produce new systems. For CardCollection:
20
+ * - PCard (Chart/Lens) defines the interaction pattern
21
+ * - CardCollection.add() produces new MCard in the Carrier
22
+ * - The result is a new Object in Car(S)
23
+ *
24
+ * ## Empty Schema Principle
25
+ *
26
+ * CardCollection embodies the Wordless Book principle:
27
+ * - At t₀: Empty collection = "Wordless Book"
28
+ * - At t_n: Billions of cards = "Infinite Library"
29
+ * - Schema (structure) never changes; only data (content) grows
30
+ *
31
+ * ## CRD-Only Operations (No UPDATE)
32
+ *
33
+ * Following MCard design principles, this collection supports only:
34
+ * - **C**reate: `add()`, `addWithHandle()`
35
+ * - **R**ead: `get()`, `getByHandle()`, `getPage()`, `search*()`
36
+ * - **D**elete: `delete()`, `clear()`
37
+ *
38
+ * There is NO `update()` method. Instead, to "update":
39
+ * 1. Create a new MCard with new content
40
+ * 2. Use `updateHandle()` to point the handle to the new hash
41
+ * 3. The old MCard remains in the collection (immutable history)
42
+ *
43
+ * ## CRDT Foundation (G-Set)
44
+ *
45
+ * CardCollection implements **Grow-Only Set (G-Set) CRDT** semantics:
46
+ * - **Commutative**: merge(A, B) = merge(B, A)
47
+ * - **Associative**: merge(A, merge(B, C)) = merge(merge(A, B), C)
48
+ * - **Idempotent**: merge(A, A) = A (same hash = same card)
49
+ *
50
+ * This enables **Strong Eventual Consistency** without coordination.
51
+ *
52
+ * ## Monadic API
53
+ *
54
+ * The `*M` methods (getM, getByHandleM, etc.) return Maybe<T> monads
55
+ * for composable, null-safe operations following functional programming patterns.
56
+ *
57
+ * @see {@link MCard} for the individual Carrier objects
58
+ * @see {@link DOTSRole.CARRIER} for DOTS vocabulary definition
59
+ * @see docs/WorkingNotes/Permanent/Projects/PKC Kernel/MCard.md for full specification
60
+ */
61
+ export class CardCollection {
62
+ engine;
63
+ constructor(engine) {
64
+ this.engine = engine;
65
+ }
66
+ // =========== Standard Operations ===========
67
+ /**
68
+ * Add a card to the collection
69
+ * Handles duplicates (same content, same hash) and collisions (diff content, same hash)
70
+ */
71
+ async add(card) {
72
+ // Check existing by hash
73
+ const existingCard = await this.engine.get(card.hash);
74
+ if (existingCard) {
75
+ // Compare content
76
+ const isDuplicate = this.areContentsEqual(existingCard.content, card.content);
77
+ if (isDuplicate) {
78
+ // Duplicate detected
79
+ // console.debug(`Duplicate detected for hash ${card.hash}`);
80
+ const { generateDuplicationEvent } = await import('./EventProducer');
81
+ const eventStr = generateDuplicationEvent(card);
82
+ const eventCard = await MCard.create(eventStr);
83
+ // Store duplicate event but do not overwrite original card
84
+ await this.engine.add(eventCard);
85
+ return card.hash;
86
+ }
87
+ else {
88
+ // Collision detected
89
+ // console.warn(`Collision detected for hash ${card.hash}`);
90
+ const { generateCollisionEvent } = await import('./EventProducer');
91
+ const eventStr = await generateCollisionEvent(card);
92
+ // Store collision event
93
+ const eventCard = await MCard.create(eventStr);
94
+ await this.engine.add(eventCard);
95
+ // Store colliding card with upgraded hash function
96
+ const eventObj = JSON.parse(eventStr);
97
+ const nextAlgo = eventObj.upgraded_function;
98
+ if (!nextAlgo) {
99
+ throw new Error("Failed to determine next hash algorithm for collision");
100
+ }
101
+ const upgradedCard = await MCard.create(card.content, nextAlgo);
102
+ return this.engine.add(upgradedCard);
103
+ }
104
+ }
105
+ return this.engine.add(card);
106
+ }
107
+ areContentsEqual(a, b) {
108
+ if (a.length !== b.length)
109
+ return false;
110
+ for (let i = 0; i < a.length; i++) {
111
+ if (a[i] !== b[i])
112
+ return false;
113
+ }
114
+ return true;
115
+ }
116
+ /**
117
+ * Get a card by hash
118
+ */
119
+ async get(hash) {
120
+ return this.engine.get(hash);
121
+ }
122
+ /**
123
+ * Delete a card by hash
124
+ */
125
+ async delete(hash) {
126
+ return this.engine.delete(hash);
127
+ }
128
+ /**
129
+ * Get a page of cards
130
+ */
131
+ async getPage(pageNumber = 1, pageSize = 10) {
132
+ return this.engine.getPage(pageNumber, pageSize);
133
+ }
134
+ /**
135
+ * Count total cards
136
+ */
137
+ async count() {
138
+ return this.engine.count();
139
+ }
140
+ // =========== Handle Operations ===========
141
+ /**
142
+ * Add a card and register a handle for it
143
+ */
144
+ async addWithHandle(card, handle) {
145
+ const hash = await this.add(card);
146
+ await this.engine.registerHandle(handle, hash);
147
+ return hash;
148
+ }
149
+ /**
150
+ * Get card by handle
151
+ */
152
+ async getByHandle(handle) {
153
+ return this.engine.getByHandle(handle);
154
+ }
155
+ /**
156
+ * Resolve handle to hash
157
+ */
158
+ async resolveHandle(handle) {
159
+ return this.engine.resolveHandle(handle);
160
+ }
161
+ /**
162
+ * Update handle to point to new card
163
+ */
164
+ async updateHandle(handle, newCard) {
165
+ const hash = await this.add(newCard);
166
+ await this.engine.updateHandle(handle, hash);
167
+ return hash;
168
+ }
169
+ /**
170
+ * Get version history for a handle
171
+ */
172
+ async getHandleHistory(handle) {
173
+ return this.engine.getHandleHistory(handle);
174
+ }
175
+ // =========== Monadic Operations ===========
176
+ /**
177
+ * Monadic get - returns Maybe<MCard>
178
+ */
179
+ async getM(hash) {
180
+ const card = await this.get(hash);
181
+ return card ? Maybe.just(card) : Maybe.nothing();
182
+ }
183
+ /**
184
+ * Monadic getByHandle - returns Maybe<MCard>
185
+ */
186
+ async getByHandleM(handle) {
187
+ const card = await this.getByHandle(handle);
188
+ return card ? Maybe.just(card) : Maybe.nothing();
189
+ }
190
+ /**
191
+ * Monadic resolveHandle - returns Maybe<string>
192
+ */
193
+ async resolveHandleM(handle) {
194
+ const hash = await this.resolveHandle(handle);
195
+ return hash ? Maybe.just(hash) : Maybe.nothing();
196
+ }
197
+ /**
198
+ * Resolve handle and get card in one monadic operation
199
+ */
200
+ async resolveAndGetM(handle) {
201
+ const maybeHash = await this.resolveHandleM(handle);
202
+ if (maybeHash.isNothing)
203
+ return Maybe.nothing();
204
+ return this.getM(maybeHash.value);
205
+ }
206
+ /**
207
+ * Prune version history for a handle.
208
+ * @param handle The handle string.
209
+ * @param options Options for pruning (olderThan date, or deleteAll).
210
+ * @returns Number of deleted entries.
211
+ */
212
+ async pruneHandleHistory(handle, options = {}) {
213
+ if (this.engine.pruneHandleHistory) {
214
+ return this.engine.pruneHandleHistory(handle, options);
215
+ }
216
+ return 0; // Or throw error if engine doesn't support it
217
+ }
218
+ // =========== Search & Bulk Operations ===========
219
+ async clear() {
220
+ return this.engine.clear();
221
+ }
222
+ async searchByString(query, pageNumber = 1, pageSize = 10) {
223
+ return this.engine.search(query, pageNumber, pageSize);
224
+ }
225
+ async searchByContent(query, pageNumber = 1, pageSize = 10) {
226
+ return this.engine.search(query, pageNumber, pageSize);
227
+ }
228
+ async searchByHash(hashPrefix) {
229
+ return this.engine.searchByHash(hashPrefix);
230
+ }
231
+ async getAllMCardsRaw() {
232
+ return this.engine.getAll();
233
+ }
234
+ async getAllCards(pageSize = 10, processCallback) {
235
+ const cards = [];
236
+ let pageNumber = 1;
237
+ let total = 0;
238
+ while (true) {
239
+ const page = await this.getPage(pageNumber, pageSize);
240
+ if (!page.items || page.items.length === 0)
241
+ break;
242
+ for (const card of page.items) {
243
+ if (processCallback) {
244
+ processCallback(card);
245
+ }
246
+ cards.push(card);
247
+ }
248
+ total = page.totalItems;
249
+ if (!page.hasNext)
250
+ break;
251
+ pageNumber++;
252
+ }
253
+ return { cards, total };
254
+ }
255
+ async printAllCards() {
256
+ const cards = await this.getAllMCardsRaw();
257
+ cards.forEach(card => {
258
+ console.log(`Hash: ${card.hash}`);
259
+ // Try to print as text if possible
260
+ try {
261
+ const text = new TextDecoder().decode(card.content);
262
+ const preview = text.slice(0, 100).replace(/\n/g, ' ');
263
+ console.log(`Content: ${preview}${text.length > 100 ? '...' : ''}`);
264
+ }
265
+ catch {
266
+ console.log(`Content (binary): ${card.content.length} bytes`);
267
+ }
268
+ console.log('---');
269
+ });
270
+ }
271
+ }
272
+ //# sourceMappingURL=CardCollection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardCollection.js","sourceRoot":"","sources":["../../../src/model/CardCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACH,MAAM,OAAO,cAAc;IACf,MAAM,CAAgB;IAE9B,YAAY,MAAqB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,8CAA8C;IAE9C;;;OAGG;IACH,KAAK,CAAC,GAAG,CAAC,IAAW;QACjB,yBAAyB;QACzB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtD,IAAI,YAAY,EAAE,CAAC;YACf,kBAAkB;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9E,IAAI,WAAW,EAAE,CAAC;gBACd,qBAAqB;gBACrB,6DAA6D;gBAC7D,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAE/C,2DAA2D;gBAC3D,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACjC,OAAO,IAAI,CAAC,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,qBAAqB;gBACrB,4DAA4D;gBAC5D,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;gBACnE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,IAAI,CAAC,CAAC;gBAEpD,wBAAwB;gBACxB,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEjC,mDAAmD;gBACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,CAAC;gBAE5C,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;gBAC7E,CAAC;gBAED,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,gBAAgB,CAAC,CAAa,EAAE,CAAa;QACjD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC;QACpC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,aAAqB,CAAC,EAAE,WAAmB,EAAE;QACvD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,4CAA4C;IAE5C;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAW,EAAE,MAAc;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,OAAc;QAC7C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAAc;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,6CAA6C;IAE7C;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAAY;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,MAAc;QAC7B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,SAAS,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,UAAuD,EAAE;QAC9F,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,CAAC,CAAC,8CAA8C;IAC5D,CAAC;IAED,mDAAmD;IAEnD,KAAK,CAAC,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,aAAqB,CAAC,EAAE,WAAmB,EAAE;QAC7E,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAa,EAAE,aAAqB,CAAC,EAAE,WAAmB,EAAE;QAC9E,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,EAAE,eAAsC;QAC3E,MAAM,KAAK,GAAY,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,MAAM;YAElD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC5B,IAAI,eAAe,EAAE,CAAC;oBAClB,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;YAExB,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;YACzB,UAAU,EAAE,CAAC;QACjB,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,mCAAmC;YACnC,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,YAAY,OAAO,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}