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,38 @@
1
+ /**
2
+ * IO Monad - Defers side effects until execution
3
+ *
4
+ * Enables pure functional composition of effectful operations
5
+ */
6
+ export declare class IO<T> {
7
+ private readonly effect;
8
+ private constructor();
9
+ /**
10
+ * Create an IO from an effect (lazy evaluation)
11
+ */
12
+ static of<T>(effect: () => T | Promise<T>): IO<T>;
13
+ /**
14
+ * Lift a pure value into IO
15
+ */
16
+ static pure<T>(value: T): IO<T>;
17
+ /**
18
+ * Monadic bind - chain IO operations
19
+ */
20
+ bind<U>(fn: (value: T) => IO<U>): IO<U>;
21
+ /**
22
+ * Map a function over the result
23
+ */
24
+ map<U>(fn: (value: T) => U): IO<U>;
25
+ /**
26
+ * Execute the IO and get the result
27
+ */
28
+ run(): Promise<T>;
29
+ /**
30
+ * Run multiple IOs in sequence
31
+ */
32
+ static sequence<T>(ios: IO<T>[]): IO<T[]>;
33
+ /**
34
+ * Run multiple IOs in parallel
35
+ */
36
+ static parallel<T>(ios: IO<T>[]): IO<T[]>;
37
+ }
38
+ //# sourceMappingURL=IO.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IO.d.ts","sourceRoot":"","sources":["../../src/monads/IO.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,EAAE,CAAC,CAAC;IACO,OAAO,CAAC,QAAQ,CAAC,MAAM;IAA3C,OAAO;IAEP;;OAEG;IACH,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAIjD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAI/B;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAOvC;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAOlC;;OAEG;IACG,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC;IAIvB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAUzC;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;CAG5C"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * IO Monad - Defers side effects until execution
3
+ *
4
+ * Enables pure functional composition of effectful operations
5
+ */
6
+ export class IO {
7
+ effect;
8
+ constructor(effect) {
9
+ this.effect = effect;
10
+ }
11
+ /**
12
+ * Create an IO from an effect (lazy evaluation)
13
+ */
14
+ static of(effect) {
15
+ return new IO(effect);
16
+ }
17
+ /**
18
+ * Lift a pure value into IO
19
+ */
20
+ static pure(value) {
21
+ return new IO(() => value);
22
+ }
23
+ /**
24
+ * Monadic bind - chain IO operations
25
+ */
26
+ bind(fn) {
27
+ return new IO(async () => {
28
+ const result = await this.run();
29
+ return fn(result).run();
30
+ });
31
+ }
32
+ /**
33
+ * Map a function over the result
34
+ */
35
+ map(fn) {
36
+ return new IO(async () => {
37
+ const result = await this.run();
38
+ return fn(result);
39
+ });
40
+ }
41
+ /**
42
+ * Execute the IO and get the result
43
+ */
44
+ async run() {
45
+ return this.effect();
46
+ }
47
+ /**
48
+ * Run multiple IOs in sequence
49
+ */
50
+ static sequence(ios) {
51
+ return new IO(async () => {
52
+ const results = [];
53
+ for (const io of ios) {
54
+ results.push(await io.run());
55
+ }
56
+ return results;
57
+ });
58
+ }
59
+ /**
60
+ * Run multiple IOs in parallel
61
+ */
62
+ static parallel(ios) {
63
+ return new IO(() => Promise.all(ios.map(io => io.run())));
64
+ }
65
+ }
66
+ //# sourceMappingURL=IO.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IO.js","sourceRoot":"","sources":["../../src/monads/IO.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,OAAO,EAAE;IAC0B;IAArC,YAAqC,MAA4B;QAA5B,WAAM,GAAN,MAAM,CAAsB;IAAI,CAAC;IAEtE;;OAEG;IACH,MAAM,CAAC,EAAE,CAAI,MAA4B;QACrC,OAAO,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAI,KAAQ;QACnB,OAAO,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,EAAuB;QAC3B,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,EAAmB;QACtB,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG;QACL,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAI,GAAY;QAC3B,OAAO,IAAI,EAAE,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAI,GAAY;QAC3B,OAAO,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;CACJ"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Maybe Monad - Represents optional values
3
+ *
4
+ * Enables functional composition with .bind() chaining
5
+ * Just(value) = has value, Nothing = no value
6
+ */
7
+ export declare class Maybe<T> {
8
+ private readonly _value;
9
+ private readonly _isNothing;
10
+ private constructor();
11
+ /**
12
+ * Create a Just (has value)
13
+ */
14
+ static just<T>(value: T): Maybe<T>;
15
+ /**
16
+ * Create a Nothing (no value)
17
+ */
18
+ static nothing<T>(): Maybe<T>;
19
+ /**
20
+ * Check if this is Nothing
21
+ */
22
+ get isNothing(): boolean;
23
+ /**
24
+ * Check if this is Just
25
+ */
26
+ get isJust(): boolean;
27
+ /**
28
+ * Get the value (throws if Nothing)
29
+ */
30
+ get value(): T;
31
+ /**
32
+ * Monadic bind - chain operations
33
+ * Short-circuits on Nothing
34
+ */
35
+ bind<U>(fn: (value: T) => Maybe<U>): Maybe<U>;
36
+ /**
37
+ * Map a function over the value
38
+ */
39
+ map<U>(fn: (value: T) => U): Maybe<U>;
40
+ /**
41
+ * Get value or default
42
+ */
43
+ getOrElse(defaultValue: T): T;
44
+ }
45
+ //# sourceMappingURL=Maybe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Maybe.d.ts","sourceRoot":"","sources":["../../src/monads/Maybe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,KAAK,CAAC,CAAC;IAEZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAF/B,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAIlC;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC;IAI7B;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,CAAC,CAKb;IAED;;;OAGG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAO7C;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAOrC;;OAEG;IACH,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC;CAGhC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Maybe Monad - Represents optional values
3
+ *
4
+ * Enables functional composition with .bind() chaining
5
+ * Just(value) = has value, Nothing = no value
6
+ */
7
+ export class Maybe {
8
+ _value;
9
+ _isNothing;
10
+ constructor(_value, _isNothing) {
11
+ this._value = _value;
12
+ this._isNothing = _isNothing;
13
+ }
14
+ /**
15
+ * Create a Just (has value)
16
+ */
17
+ static just(value) {
18
+ return new Maybe(value, false);
19
+ }
20
+ /**
21
+ * Create a Nothing (no value)
22
+ */
23
+ static nothing() {
24
+ return new Maybe(null, true);
25
+ }
26
+ /**
27
+ * Check if this is Nothing
28
+ */
29
+ get isNothing() {
30
+ return this._isNothing;
31
+ }
32
+ /**
33
+ * Check if this is Just
34
+ */
35
+ get isJust() {
36
+ return !this._isNothing;
37
+ }
38
+ /**
39
+ * Get the value (throws if Nothing)
40
+ */
41
+ get value() {
42
+ if (this._isNothing) {
43
+ throw new Error('Cannot get value from Nothing');
44
+ }
45
+ return this._value;
46
+ }
47
+ /**
48
+ * Monadic bind - chain operations
49
+ * Short-circuits on Nothing
50
+ */
51
+ bind(fn) {
52
+ if (this._isNothing) {
53
+ return Maybe.nothing();
54
+ }
55
+ return fn(this._value);
56
+ }
57
+ /**
58
+ * Map a function over the value
59
+ */
60
+ map(fn) {
61
+ if (this._isNothing) {
62
+ return Maybe.nothing();
63
+ }
64
+ return Maybe.just(fn(this._value));
65
+ }
66
+ /**
67
+ * Get value or default
68
+ */
69
+ getOrElse(defaultValue) {
70
+ return this._isNothing ? defaultValue : this._value;
71
+ }
72
+ }
73
+ //# sourceMappingURL=Maybe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Maybe.js","sourceRoot":"","sources":["../../src/monads/Maybe.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,KAAK;IAEO;IACA;IAFrB,YACqB,MAAgB,EAChB,UAAmB;QADnB,WAAM,GAAN,MAAM,CAAU;QAChB,eAAU,GAAV,UAAU,CAAS;IACpC,CAAC;IAEL;;OAEG;IACH,MAAM,CAAC,IAAI,CAAI,KAAQ;QACnB,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACV,OAAO,IAAI,KAAK,CAAI,IAAI,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACL,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,MAAW,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,IAAI,CAAI,EAA0B;QAC9B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,OAAO,EAAK,CAAC;QAC9B,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,MAAW,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,EAAmB;QACtB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC,OAAO,EAAK,CAAC;QAC9B,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAW,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,YAAe;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,IAAI,CAAC,MAAY,CAAC;IAC/D,CAAC;CACJ"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Reader Monad - Dependency Injection
3
+ * COMPUTATION which reads from a shared environment
4
+ */
5
+ export declare class Reader<E, T> {
6
+ private readonly run;
7
+ constructor(run: (env: E) => T);
8
+ /**
9
+ * Lift a pure value into Reader
10
+ */
11
+ static pure<E, T>(value: T): Reader<E, T>;
12
+ /**
13
+ * Get the environment
14
+ */
15
+ static ask<E>(): Reader<E, E>;
16
+ /**
17
+ * Monadic bind (flatMap)
18
+ */
19
+ bind<U>(fn: (value: T) => Reader<E, U>): Reader<E, U>;
20
+ /**
21
+ * Map over the result
22
+ */
23
+ map<U>(fn: (value: T) => U): Reader<E, U>;
24
+ /**
25
+ * Execute the Reader logic with an environment
26
+ */
27
+ evaluate(env: E): T;
28
+ }
29
+ //# sourceMappingURL=Reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reader.d.ts","sourceRoot":"","sources":["../../src/monads/Reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAIzC;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAI7B;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAOrD;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAIzC;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;CAGtB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Reader Monad - Dependency Injection
3
+ * COMPUTATION which reads from a shared environment
4
+ */
5
+ export class Reader {
6
+ run;
7
+ constructor(run) {
8
+ this.run = run;
9
+ }
10
+ /**
11
+ * Lift a pure value into Reader
12
+ */
13
+ static pure(value) {
14
+ return new Reader(_ => value);
15
+ }
16
+ /**
17
+ * Get the environment
18
+ */
19
+ static ask() {
20
+ return new Reader(env => env);
21
+ }
22
+ /**
23
+ * Monadic bind (flatMap)
24
+ */
25
+ bind(fn) {
26
+ return new Reader(env => {
27
+ const value = this.run(env);
28
+ return fn(value).run(env);
29
+ });
30
+ }
31
+ /**
32
+ * Map over the result
33
+ */
34
+ map(fn) {
35
+ return this.bind(value => Reader.pure(fn(value)));
36
+ }
37
+ /**
38
+ * Execute the Reader logic with an environment
39
+ */
40
+ evaluate(env) {
41
+ return this.run(env);
42
+ }
43
+ }
44
+ //# sourceMappingURL=Reader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Reader.js","sourceRoot":"","sources":["../../src/monads/Reader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,MAAM;IACc;IAA7B,YAA6B,GAAkB;QAAlB,QAAG,GAAH,GAAG,CAAe;IAAI,CAAC;IAEpD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAO,KAAQ;QACtB,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,EAA8B;QAClC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,EAAmB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,GAAM;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;CACJ"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * State Monad - State Management
3
+ * Encapsulates state transitions
4
+ */
5
+ export declare class State<S, T> {
6
+ private readonly run;
7
+ constructor(run: (state: S) => [T, S]);
8
+ /**
9
+ * Lift pure value
10
+ */
11
+ static pure<S, T>(value: T): State<S, T>;
12
+ /**
13
+ * Get current state
14
+ */
15
+ static get<S>(): State<S, S>;
16
+ /**
17
+ * Set new state
18
+ */
19
+ static put<S>(newState: S): State<S, void>;
20
+ /**
21
+ * Monadic bind
22
+ */
23
+ bind<U>(fn: (value: T) => State<S, U>): State<S, U>;
24
+ /**
25
+ * Map
26
+ */
27
+ map<U>(fn: (value: T) => U): State<S, U>;
28
+ /**
29
+ * Execute state transition
30
+ */
31
+ evaluate(initialState: S): [T, S];
32
+ }
33
+ //# sourceMappingURL=State.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.d.ts","sourceRoot":"","sources":["../../src/monads/State.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,KAAK,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAEtD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxC;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAI5B;;OAEG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;IAI1C;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAOnD;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAIxC;;OAEG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;CAGpC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * State Monad - State Management
3
+ * Encapsulates state transitions
4
+ */
5
+ export class State {
6
+ run;
7
+ constructor(run) {
8
+ this.run = run;
9
+ }
10
+ /**
11
+ * Lift pure value
12
+ */
13
+ static pure(value) {
14
+ return new State(state => [value, state]);
15
+ }
16
+ /**
17
+ * Get current state
18
+ */
19
+ static get() {
20
+ return new State(state => [state, state]);
21
+ }
22
+ /**
23
+ * Set new state
24
+ */
25
+ static put(newState) {
26
+ return new State(_ => [undefined, newState]);
27
+ }
28
+ /**
29
+ * Monadic bind
30
+ */
31
+ bind(fn) {
32
+ return new State(state => {
33
+ const [val, newState] = this.run(state);
34
+ return fn(val).run(newState);
35
+ });
36
+ }
37
+ /**
38
+ * Map
39
+ */
40
+ map(fn) {
41
+ return this.bind(val => State.pure(fn(val)));
42
+ }
43
+ /**
44
+ * Execute state transition
45
+ */
46
+ evaluate(initialState) {
47
+ return this.run(initialState);
48
+ }
49
+ }
50
+ //# sourceMappingURL=State.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"State.js","sourceRoot":"","sources":["../../src/monads/State.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,KAAK;IACe;IAA7B,YAA6B,GAAyB;QAAzB,QAAG,GAAH,GAAG,CAAsB;IAAI,CAAC;IAE3D;;OAEG;IACH,MAAM,CAAC,IAAI,CAAO,KAAQ;QACtB,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG;QACN,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAG,CAAI,QAAW;QACrB,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,EAA6B;QACjC,OAAO,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,EAAmB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,YAAe;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,CAAC;CACJ"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Writer Monad - Logging Side-Effects
3
+ * Aggregates logs alongside computation values
4
+ */
5
+ export declare class Writer<L, T> {
6
+ private readonly run;
7
+ constructor(run: () => [T, L[]]);
8
+ /**
9
+ * Lift a pure value into Writer (empty log)
10
+ */
11
+ static pure<L, T>(value: T): Writer<L, T>;
12
+ /**
13
+ * Write to log
14
+ */
15
+ static tell<L>(log: L[]): Writer<L, void>;
16
+ /**
17
+ * Monadic bind
18
+ */
19
+ bind<U>(fn: (value: T) => Writer<L, U>): Writer<L, U>;
20
+ /**
21
+ * Map
22
+ */
23
+ map<U>(fn: (value: T) => U): Writer<L, U>;
24
+ /**
25
+ * Run the writer
26
+ */
27
+ evaluate(): [T, L[]];
28
+ }
29
+ //# sourceMappingURL=Writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Writer.d.ts","sourceRoot":"","sources":["../../src/monads/Writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,MAAM,CAAC,CAAC,EAAE,CAAC;IACR,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAEhD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAIzC;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;IAIzC;;OAEG;IACH,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IASrD;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;IAIzC;;OAEG;IACH,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;CAGvB"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Writer Monad - Logging Side-Effects
3
+ * Aggregates logs alongside computation values
4
+ */
5
+ export class Writer {
6
+ run;
7
+ constructor(run) {
8
+ this.run = run;
9
+ }
10
+ /**
11
+ * Lift a pure value into Writer (empty log)
12
+ */
13
+ static pure(value) {
14
+ return new Writer(() => [value, []]);
15
+ }
16
+ /**
17
+ * Write to log
18
+ */
19
+ static tell(log) {
20
+ return new Writer(() => [undefined, log]);
21
+ }
22
+ /**
23
+ * Monadic bind
24
+ */
25
+ bind(fn) {
26
+ return new Writer(() => {
27
+ const [val1, log1] = this.run();
28
+ const writer2 = fn(val1);
29
+ const [val2, log2] = writer2.evaluate();
30
+ return [val2, [...log1, ...log2]];
31
+ });
32
+ }
33
+ /**
34
+ * Map
35
+ */
36
+ map(fn) {
37
+ return this.bind(val => Writer.pure(fn(val)));
38
+ }
39
+ /**
40
+ * Run the writer
41
+ */
42
+ evaluate() {
43
+ return this.run();
44
+ }
45
+ }
46
+ //# sourceMappingURL=Writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Writer.js","sourceRoot":"","sources":["../../src/monads/Writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,MAAM;IACc;IAA7B,YAA6B,GAAmB;QAAnB,QAAG,GAAH,GAAG,CAAgB;IAAI,CAAC;IAErD;;OAEG;IACH,MAAM,CAAC,IAAI,CAAO,KAAQ;QACtB,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,CAAI,GAAQ;QACnB,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,IAAI,CAAI,EAA8B;QAClC,OAAO,IAAI,MAAM,CAAC,GAAG,EAAE;YACnB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YACzB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YACxC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACH,GAAG,CAAI,EAAmB;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,QAAQ;QACJ,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,CAAC;CACJ"}
@@ -0,0 +1,56 @@
1
+ import { Faro } from '@grafana/faro-web-sdk';
2
+ /**
3
+ * Configuration for the Faro Observability Sidecar
4
+ */
5
+ export interface FaroSidecarConfig {
6
+ url: string;
7
+ apiKey?: string;
8
+ appName: string;
9
+ appVersion: string;
10
+ enableTracing?: boolean;
11
+ namespace?: string;
12
+ additionalInstrumentations?: any[];
13
+ }
14
+ /**
15
+ * FaroSidecar - Integrates Grafana Faro for Frontend Observability
16
+ *
17
+ * Acts as an observability sidecar for the PTR, capturing:
18
+ * - Logs
19
+ * - Errors
20
+ * - Web Vitals
21
+ * - Traces (OpenTelemetry)
22
+ * - User Sessions
23
+ */
24
+ export declare class FaroSidecar {
25
+ private static instance;
26
+ private faro;
27
+ private constructor();
28
+ /**
29
+ * Get the singleton instance of FaroSidecar
30
+ */
31
+ static getInstance(): FaroSidecar;
32
+ /**
33
+ * Initialize the Faro SDK
34
+ *
35
+ * @param config Configuration options
36
+ * @returns The initialized Faro instance or null if not in a browser environment
37
+ */
38
+ initialize(config: FaroSidecarConfig): Faro | null;
39
+ /**
40
+ * Get the underlying Faro instance
41
+ */
42
+ getFaro(): Faro | null;
43
+ /**
44
+ * Manually push an error to Faro
45
+ */
46
+ pushError(error: Error, context?: Record<string, any>): void;
47
+ /**
48
+ * Manually push a log message to Faro
49
+ */
50
+ pushLog(message: string, context?: Record<string, any>): void;
51
+ /**
52
+ * Push a custom event
53
+ */
54
+ pushEvent(name: string, attributes?: Record<string, string>): void;
55
+ }
56
+ //# sourceMappingURL=FaroSidecar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaroSidecar.d.ts","sourceRoot":"","sources":["../../src/ptr/FaroSidecar.ts"],"names":[],"mappings":"AACA,OAAO,EAGH,IAAI,EACP,MAAM,uBAAuB,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B,CAAC,EAAE,GAAG,EAAE,CAAC;CACtC;AAED;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA4B;IACnD,OAAO,CAAC,IAAI,CAAqB;IAEjC,OAAO;IAEP;;OAEG;WACW,WAAW,IAAI,WAAW;IAOxC;;;;;OAKG;IACI,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAuDzD;;OAEG;IACI,OAAO,IAAI,IAAI,GAAG,IAAI;IAI7B;;OAEG;IACI,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMnE;;OAEG;IACI,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMpE;;OAEG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;CAK5E"}
@@ -0,0 +1,102 @@
1
+ import { initializeFaro, getWebInstrumentations } from '@grafana/faro-web-sdk';
2
+ import { TracingInstrumentation } from '@grafana/faro-web-tracing';
3
+ /**
4
+ * FaroSidecar - Integrates Grafana Faro for Frontend Observability
5
+ *
6
+ * Acts as an observability sidecar for the PTR, capturing:
7
+ * - Logs
8
+ * - Errors
9
+ * - Web Vitals
10
+ * - Traces (OpenTelemetry)
11
+ * - User Sessions
12
+ */
13
+ export class FaroSidecar {
14
+ static instance = null;
15
+ faro = null;
16
+ constructor() { }
17
+ /**
18
+ * Get the singleton instance of FaroSidecar
19
+ */
20
+ static getInstance() {
21
+ if (!FaroSidecar.instance) {
22
+ FaroSidecar.instance = new FaroSidecar();
23
+ }
24
+ return FaroSidecar.instance;
25
+ }
26
+ /**
27
+ * Initialize the Faro SDK
28
+ *
29
+ * @param config Configuration options
30
+ * @returns The initialized Faro instance or null if not in a browser environment
31
+ */
32
+ initialize(config) {
33
+ // Ensure we are in a browser environment
34
+ if (typeof window === 'undefined') {
35
+ console.warn('[FaroSidecar] Not initializing Grafana Faro: Non-browser environment detected.');
36
+ return null;
37
+ }
38
+ if (this.faro) {
39
+ console.warn('[FaroSidecar] Grafana Faro is already initialized.');
40
+ return this.faro;
41
+ }
42
+ const { url, apiKey, appName, appVersion, enableTracing = true, namespace = 'ptr_runtime', additionalInstrumentations = [] } = config;
43
+ const instrumentations = [
44
+ ...getWebInstrumentations(),
45
+ ...additionalInstrumentations
46
+ ];
47
+ if (enableTracing) {
48
+ instrumentations.push(new TracingInstrumentation());
49
+ }
50
+ const faroOptions = {
51
+ url,
52
+ apiKey,
53
+ app: {
54
+ name: appName,
55
+ version: appVersion,
56
+ namespace
57
+ },
58
+ instrumentations,
59
+ };
60
+ try {
61
+ this.faro = initializeFaro(faroOptions);
62
+ console.log(`[FaroSidecar] Grafana Faro initialized for ${appName}@${appVersion}`);
63
+ // Auto-push a session start log
64
+ this.faro.api.pushLog([`PTR Observability Sidecar started for ${appName}`]);
65
+ }
66
+ catch (error) {
67
+ console.error('[FaroSidecar] Failed to initialize Grafana Faro:', error);
68
+ }
69
+ return this.faro;
70
+ }
71
+ /**
72
+ * Get the underlying Faro instance
73
+ */
74
+ getFaro() {
75
+ return this.faro;
76
+ }
77
+ /**
78
+ * Manually push an error to Faro
79
+ */
80
+ pushError(error, context) {
81
+ if (this.faro) {
82
+ this.faro.api.pushError(error, { context });
83
+ }
84
+ }
85
+ /**
86
+ * Manually push a log message to Faro
87
+ */
88
+ pushLog(message, context) {
89
+ if (this.faro) {
90
+ this.faro.api.pushLog([message], { context });
91
+ }
92
+ }
93
+ /**
94
+ * Push a custom event
95
+ */
96
+ pushEvent(name, attributes) {
97
+ if (this.faro) {
98
+ this.faro.api.pushEvent(name, attributes);
99
+ }
100
+ }
101
+ }
102
+ //# sourceMappingURL=FaroSidecar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaroSidecar.js","sourceRoot":"","sources":["../../src/ptr/FaroSidecar.ts"],"names":[],"mappings":"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"}