@swal/edge-mesh 0.0.0-stage → 0.1.1

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 (464) hide show
  1. package/LICENSE +128 -0
  2. package/NOTICE +37 -0
  3. package/README.md +470 -2
  4. package/dist/adapters/gpu-agent/index.d.ts +61 -0
  5. package/dist/adapters/gpu-agent/index.d.ts.map +1 -0
  6. package/dist/adapters/gpu-agent/index.js +364 -0
  7. package/dist/adapters/gpu-agent/index.js.map +1 -0
  8. package/dist/adapters/maloca-salud/citas-distribuidas.d.ts +19 -0
  9. package/dist/adapters/maloca-salud/citas-distribuidas.d.ts.map +1 -0
  10. package/dist/adapters/maloca-salud/citas-distribuidas.js +51 -0
  11. package/dist/adapters/maloca-salud/citas-distribuidas.js.map +1 -0
  12. package/dist/adapters/maloca-salud/eps-bridge.d.ts +15 -0
  13. package/dist/adapters/maloca-salud/eps-bridge.d.ts.map +1 -0
  14. package/dist/adapters/maloca-salud/eps-bridge.js +27 -0
  15. package/dist/adapters/maloca-salud/eps-bridge.js.map +1 -0
  16. package/dist/adapters/maloca-salud/patient-profile.d.ts +20 -0
  17. package/dist/adapters/maloca-salud/patient-profile.d.ts.map +1 -0
  18. package/dist/adapters/maloca-salud/patient-profile.js +36 -0
  19. package/dist/adapters/maloca-salud/patient-profile.js.map +1 -0
  20. package/dist/adapters/maloca-salud/types.d.ts +40 -0
  21. package/dist/adapters/maloca-salud/types.d.ts.map +1 -0
  22. package/dist/adapters/maloca-salud/types.js +2 -0
  23. package/dist/adapters/maloca-salud/types.js.map +1 -0
  24. package/dist/adapters/maloca-veeduria/contract-bridge.d.ts +31 -0
  25. package/dist/adapters/maloca-veeduria/contract-bridge.d.ts.map +1 -0
  26. package/dist/adapters/maloca-veeduria/contract-bridge.js +103 -0
  27. package/dist/adapters/maloca-veeduria/contract-bridge.js.map +1 -0
  28. package/dist/adapters/maloca-veeduria/evidentia-veeduria.d.ts +14 -0
  29. package/dist/adapters/maloca-veeduria/evidentia-veeduria.d.ts.map +1 -0
  30. package/dist/adapters/maloca-veeduria/evidentia-veeduria.js +40 -0
  31. package/dist/adapters/maloca-veeduria/evidentia-veeduria.js.map +1 -0
  32. package/dist/adapters/maloca-veeduria/licitante-profile.d.ts +21 -0
  33. package/dist/adapters/maloca-veeduria/licitante-profile.d.ts.map +1 -0
  34. package/dist/adapters/maloca-veeduria/licitante-profile.js +58 -0
  35. package/dist/adapters/maloca-veeduria/licitante-profile.js.map +1 -0
  36. package/dist/adapters/maloca-veeduria/types.d.ts +30 -0
  37. package/dist/adapters/maloca-veeduria/types.d.ts.map +1 -0
  38. package/dist/adapters/maloca-veeduria/types.js +2 -0
  39. package/dist/adapters/maloca-veeduria/types.js.map +1 -0
  40. package/dist/adapters/maloca-xavier/agent-profile.d.ts +32 -0
  41. package/dist/adapters/maloca-xavier/agent-profile.d.ts.map +1 -0
  42. package/dist/adapters/maloca-xavier/agent-profile.js +56 -0
  43. package/dist/adapters/maloca-xavier/agent-profile.js.map +1 -0
  44. package/dist/adapters/maloca-xavier/codegraph-bridge.d.ts +27 -0
  45. package/dist/adapters/maloca-xavier/codegraph-bridge.d.ts.map +1 -0
  46. package/dist/adapters/maloca-xavier/codegraph-bridge.js +58 -0
  47. package/dist/adapters/maloca-xavier/codegraph-bridge.js.map +1 -0
  48. package/dist/adapters/maloca-xavier/llm-router.d.ts +25 -0
  49. package/dist/adapters/maloca-xavier/llm-router.d.ts.map +1 -0
  50. package/dist/adapters/maloca-xavier/llm-router.js +58 -0
  51. package/dist/adapters/maloca-xavier/llm-router.js.map +1 -0
  52. package/dist/authz/index.d.ts +81 -0
  53. package/dist/authz/index.d.ts.map +1 -0
  54. package/dist/authz/index.js +271 -0
  55. package/dist/authz/index.js.map +1 -0
  56. package/dist/chat/index.d.ts +138 -0
  57. package/dist/chat/index.d.ts.map +1 -0
  58. package/dist/chat/index.js +394 -0
  59. package/dist/chat/index.js.map +1 -0
  60. package/dist/chat/offline-queue.d.ts +32 -0
  61. package/dist/chat/offline-queue.d.ts.map +1 -0
  62. package/dist/chat/offline-queue.js +93 -0
  63. package/dist/chat/offline-queue.js.map +1 -0
  64. package/dist/core/DefaultEdgeMeshNode.d.ts +17 -0
  65. package/dist/core/DefaultEdgeMeshNode.d.ts.map +1 -0
  66. package/dist/core/DefaultEdgeMeshNode.js +57 -0
  67. package/dist/core/DefaultEdgeMeshNode.js.map +1 -0
  68. package/dist/core/node.d.ts +26 -0
  69. package/dist/core/node.d.ts.map +1 -0
  70. package/dist/core/node.js +16 -0
  71. package/dist/core/node.js.map +1 -0
  72. package/dist/edge-mesh.d.ts +139 -0
  73. package/dist/edge-mesh.d.ts.map +1 -0
  74. package/dist/edge-mesh.js +1146 -0
  75. package/dist/edge-mesh.js.map +1 -0
  76. package/dist/gos/GosBridge.d.ts +49 -0
  77. package/dist/gos/GosBridge.d.ts.map +1 -0
  78. package/dist/gos/GosBridge.js +133 -0
  79. package/dist/gos/GosBridge.js.map +1 -0
  80. package/dist/governance/authority.d.ts +44 -0
  81. package/dist/governance/authority.d.ts.map +1 -0
  82. package/dist/governance/authority.js +123 -0
  83. package/dist/governance/authority.js.map +1 -0
  84. package/dist/governance/index.d.ts +66 -0
  85. package/dist/governance/index.d.ts.map +1 -0
  86. package/dist/governance/index.js +210 -0
  87. package/dist/governance/index.js.map +1 -0
  88. package/dist/governance/merge.d.ts +31 -0
  89. package/dist/governance/merge.d.ts.map +1 -0
  90. package/dist/governance/merge.js +167 -0
  91. package/dist/governance/merge.js.map +1 -0
  92. package/dist/identity/index.d.ts +199 -0
  93. package/dist/identity/index.d.ts.map +1 -0
  94. package/dist/identity/index.js +415 -0
  95. package/dist/identity/index.js.map +1 -0
  96. package/dist/index.d.ts +71 -0
  97. package/dist/index.d.ts.map +1 -0
  98. package/dist/index.js +56 -0
  99. package/dist/index.js.map +1 -0
  100. package/dist/maloca/backoffice.d.ts +31 -0
  101. package/dist/maloca/backoffice.d.ts.map +1 -0
  102. package/dist/maloca/backoffice.js +40 -0
  103. package/dist/maloca/backoffice.js.map +1 -0
  104. package/dist/maloca/event-bus.d.ts +60 -0
  105. package/dist/maloca/event-bus.d.ts.map +1 -0
  106. package/dist/maloca/event-bus.js +175 -0
  107. package/dist/maloca/event-bus.js.map +1 -0
  108. package/dist/maloca/evidentia.d.ts +136 -0
  109. package/dist/maloca/evidentia.d.ts.map +1 -0
  110. package/dist/maloca/evidentia.js +447 -0
  111. package/dist/maloca/evidentia.js.map +1 -0
  112. package/dist/maloca/gateway/api.d.ts +146 -0
  113. package/dist/maloca/gateway/api.d.ts.map +1 -0
  114. package/dist/maloca/gateway/api.js +228 -0
  115. package/dist/maloca/gateway/api.js.map +1 -0
  116. package/dist/maloca/gateway/auth.d.ts +20 -0
  117. package/dist/maloca/gateway/auth.d.ts.map +1 -0
  118. package/dist/maloca/gateway/auth.js +115 -0
  119. package/dist/maloca/gateway/auth.js.map +1 -0
  120. package/dist/maloca/gateway/dashboard.d.ts +42 -0
  121. package/dist/maloca/gateway/dashboard.d.ts.map +1 -0
  122. package/dist/maloca/gateway/dashboard.js +67 -0
  123. package/dist/maloca/gateway/dashboard.js.map +1 -0
  124. package/dist/maloca/gateway/websocket.d.ts +34 -0
  125. package/dist/maloca/gateway/websocket.d.ts.map +1 -0
  126. package/dist/maloca/gateway/websocket.js +71 -0
  127. package/dist/maloca/gateway/websocket.js.map +1 -0
  128. package/dist/maloca/karma.d.ts +165 -0
  129. package/dist/maloca/karma.d.ts.map +1 -0
  130. package/dist/maloca/karma.js +307 -0
  131. package/dist/maloca/karma.js.map +1 -0
  132. package/dist/maloca/kernel.d.ts +20 -0
  133. package/dist/maloca/kernel.d.ts.map +1 -0
  134. package/dist/maloca/kernel.js +76 -0
  135. package/dist/maloca/kernel.js.map +1 -0
  136. package/dist/maloca/metadata.d.ts +30 -0
  137. package/dist/maloca/metadata.d.ts.map +1 -0
  138. package/dist/maloca/metadata.js +80 -0
  139. package/dist/maloca/metadata.js.map +1 -0
  140. package/dist/maloca/perfil.d.ts +57 -0
  141. package/dist/maloca/perfil.d.ts.map +1 -0
  142. package/dist/maloca/perfil.js +113 -0
  143. package/dist/maloca/perfil.js.map +1 -0
  144. package/dist/maloca/plugin-registry.d.ts +27 -0
  145. package/dist/maloca/plugin-registry.d.ts.map +1 -0
  146. package/dist/maloca/plugin-registry.js +76 -0
  147. package/dist/maloca/plugin-registry.js.map +1 -0
  148. package/dist/maloca/polygon-bridge.d.ts +63 -0
  149. package/dist/maloca/polygon-bridge.d.ts.map +1 -0
  150. package/dist/maloca/polygon-bridge.js +198 -0
  151. package/dist/maloca/polygon-bridge.js.map +1 -0
  152. package/dist/maloca/types.d.ts +44 -0
  153. package/dist/maloca/types.d.ts.map +1 -0
  154. package/dist/maloca/types.js +2 -0
  155. package/dist/maloca/types.js.map +1 -0
  156. package/dist/medico/aval.d.ts +149 -0
  157. package/dist/medico/aval.d.ts.map +1 -0
  158. package/dist/medico/aval.js +281 -0
  159. package/dist/medico/aval.js.map +1 -0
  160. package/dist/medico/canonica.d.ts +96 -0
  161. package/dist/medico/canonica.d.ts.map +1 -0
  162. package/dist/medico/canonica.js +148 -0
  163. package/dist/medico/canonica.js.map +1 -0
  164. package/dist/medico/credencial.d.ts +160 -0
  165. package/dist/medico/credencial.d.ts.map +1 -0
  166. package/dist/medico/credencial.js +240 -0
  167. package/dist/medico/credencial.js.map +1 -0
  168. package/dist/medico/index.d.ts +36 -0
  169. package/dist/medico/index.d.ts.map +1 -0
  170. package/dist/medico/index.js +39 -0
  171. package/dist/medico/index.js.map +1 -0
  172. package/dist/medico/malla.d.ts +218 -0
  173. package/dist/medico/malla.d.ts.map +1 -0
  174. package/dist/medico/malla.js +347 -0
  175. package/dist/medico/malla.js.map +1 -0
  176. package/dist/medico/registro-profesional.d.ts +84 -0
  177. package/dist/medico/registro-profesional.d.ts.map +1 -0
  178. package/dist/medico/registro-profesional.js +135 -0
  179. package/dist/medico/registro-profesional.js.map +1 -0
  180. package/dist/medico/registro.d.ts +149 -0
  181. package/dist/medico/registro.d.ts.map +1 -0
  182. package/dist/medico/registro.js +173 -0
  183. package/dist/medico/registro.js.map +1 -0
  184. package/dist/medico/types.d.ts +287 -0
  185. package/dist/medico/types.d.ts.map +1 -0
  186. package/dist/medico/types.js +135 -0
  187. package/dist/medico/types.js.map +1 -0
  188. package/dist/medico/verificacion-registro.d.ts +300 -0
  189. package/dist/medico/verificacion-registro.d.ts.map +1 -0
  190. package/dist/medico/verificacion-registro.js +319 -0
  191. package/dist/medico/verificacion-registro.js.map +1 -0
  192. package/dist/mesh/index.d.ts +457 -0
  193. package/dist/mesh/index.d.ts.map +1 -0
  194. package/dist/mesh/index.js +929 -0
  195. package/dist/mesh/index.js.map +1 -0
  196. package/dist/namespaces/encrypted-plugin.d.ts +56 -0
  197. package/dist/namespaces/encrypted-plugin.d.ts.map +1 -0
  198. package/dist/namespaces/encrypted-plugin.js +173 -0
  199. package/dist/namespaces/encrypted-plugin.js.map +1 -0
  200. package/dist/namespaces/index.d.ts +52 -0
  201. package/dist/namespaces/index.d.ts.map +1 -0
  202. package/dist/namespaces/index.js +134 -0
  203. package/dist/namespaces/index.js.map +1 -0
  204. package/dist/namespaces/ivn-proofs.d.ts +54 -0
  205. package/dist/namespaces/ivn-proofs.d.ts.map +1 -0
  206. package/dist/namespaces/ivn-proofs.js +162 -0
  207. package/dist/namespaces/ivn-proofs.js.map +1 -0
  208. package/dist/namespaces/offers-gossip.d.ts +95 -0
  209. package/dist/namespaces/offers-gossip.d.ts.map +1 -0
  210. package/dist/namespaces/offers-gossip.js +213 -0
  211. package/dist/namespaces/offers-gossip.js.map +1 -0
  212. package/dist/node-memory/idb-store.d.ts +22 -0
  213. package/dist/node-memory/idb-store.d.ts.map +1 -0
  214. package/dist/node-memory/idb-store.js +157 -0
  215. package/dist/node-memory/idb-store.js.map +1 -0
  216. package/dist/node-memory/index.d.ts +14 -0
  217. package/dist/node-memory/index.d.ts.map +1 -0
  218. package/dist/node-memory/index.js +159 -0
  219. package/dist/node-memory/index.js.map +1 -0
  220. package/dist/node-memory/sync-flush.d.ts +11 -0
  221. package/dist/node-memory/sync-flush.d.ts.map +1 -0
  222. package/dist/node-memory/sync-flush.js +37 -0
  223. package/dist/node-memory/sync-flush.js.map +1 -0
  224. package/dist/node-memory/types.d.ts +34 -0
  225. package/dist/node-memory/types.d.ts.map +1 -0
  226. package/dist/node-memory/types.js +2 -0
  227. package/dist/node-memory/types.js.map +1 -0
  228. package/dist/node-memory/xavier-store.d.ts +12 -0
  229. package/dist/node-memory/xavier-store.d.ts.map +1 -0
  230. package/dist/node-memory/xavier-store.js +75 -0
  231. package/dist/node-memory/xavier-store.js.map +1 -0
  232. package/dist/op-log/index.d.ts +49 -0
  233. package/dist/op-log/index.d.ts.map +1 -0
  234. package/dist/op-log/index.js +190 -0
  235. package/dist/op-log/index.js.map +1 -0
  236. package/dist/presence/health.d.ts +54 -0
  237. package/dist/presence/health.d.ts.map +1 -0
  238. package/dist/presence/health.js +139 -0
  239. package/dist/presence/health.js.map +1 -0
  240. package/dist/presence/index.d.ts +85 -0
  241. package/dist/presence/index.d.ts.map +1 -0
  242. package/dist/presence/index.js +255 -0
  243. package/dist/presence/index.js.map +1 -0
  244. package/dist/presence/peer-health.d.ts +40 -0
  245. package/dist/presence/peer-health.d.ts.map +1 -0
  246. package/dist/presence/peer-health.js +118 -0
  247. package/dist/presence/peer-health.js.map +1 -0
  248. package/dist/protocol/canonical.d.ts +10 -0
  249. package/dist/protocol/canonical.d.ts.map +1 -0
  250. package/dist/protocol/canonical.js +32 -0
  251. package/dist/protocol/canonical.js.map +1 -0
  252. package/dist/protocol/crypto.d.ts +299 -0
  253. package/dist/protocol/crypto.d.ts.map +1 -0
  254. package/dist/protocol/crypto.js +739 -0
  255. package/dist/protocol/crypto.js.map +1 -0
  256. package/dist/protocol/index.d.ts +30 -0
  257. package/dist/protocol/index.d.ts.map +1 -0
  258. package/dist/protocol/index.js +116 -0
  259. package/dist/protocol/index.js.map +1 -0
  260. package/dist/protocol/utils.d.ts +5 -0
  261. package/dist/protocol/utils.d.ts.map +1 -0
  262. package/dist/protocol/utils.js +27 -0
  263. package/dist/protocol/utils.js.map +1 -0
  264. package/dist/salones/manager.d.ts +100 -0
  265. package/dist/salones/manager.d.ts.map +1 -0
  266. package/dist/salones/manager.js +240 -0
  267. package/dist/salones/manager.js.map +1 -0
  268. package/dist/security/rate-limiter.d.ts +13 -0
  269. package/dist/security/rate-limiter.d.ts.map +1 -0
  270. package/dist/security/rate-limiter.js +32 -0
  271. package/dist/security/rate-limiter.js.map +1 -0
  272. package/dist/snapshot/index.d.ts +90 -0
  273. package/dist/snapshot/index.d.ts.map +1 -0
  274. package/dist/snapshot/index.js +189 -0
  275. package/dist/snapshot/index.js.map +1 -0
  276. package/dist/storage/index.d.ts +49 -0
  277. package/dist/storage/index.d.ts.map +1 -0
  278. package/dist/storage/index.js +192 -0
  279. package/dist/storage/index.js.map +1 -0
  280. package/dist/storage/optimizer.d.ts +28 -0
  281. package/dist/storage/optimizer.d.ts.map +1 -0
  282. package/dist/storage/optimizer.js +71 -0
  283. package/dist/storage/optimizer.js.map +1 -0
  284. package/dist/storage/ydoc-persistence.d.ts +27 -0
  285. package/dist/storage/ydoc-persistence.d.ts.map +1 -0
  286. package/dist/storage/ydoc-persistence.js +128 -0
  287. package/dist/storage/ydoc-persistence.js.map +1 -0
  288. package/dist/sync/ChunkSyncManager.d.ts +41 -0
  289. package/dist/sync/ChunkSyncManager.d.ts.map +1 -0
  290. package/dist/sync/ChunkSyncManager.js +115 -0
  291. package/dist/sync/ChunkSyncManager.js.map +1 -0
  292. package/dist/sync/conflict-resolver.d.ts +33 -0
  293. package/dist/sync/conflict-resolver.d.ts.map +1 -0
  294. package/dist/sync/conflict-resolver.js +54 -0
  295. package/dist/sync/conflict-resolver.js.map +1 -0
  296. package/dist/sync/engine.d.ts +168 -0
  297. package/dist/sync/engine.d.ts.map +1 -0
  298. package/dist/sync/engine.js +315 -0
  299. package/dist/sync/engine.js.map +1 -0
  300. package/dist/sync/index.d.ts +3 -0
  301. package/dist/sync/index.d.ts.map +1 -0
  302. package/dist/sync/index.js +3 -0
  303. package/dist/sync/index.js.map +1 -0
  304. package/dist/transport/TorTransportAdapter.d.ts +70 -0
  305. package/dist/transport/TorTransportAdapter.d.ts.map +1 -0
  306. package/dist/transport/TorTransportAdapter.js +192 -0
  307. package/dist/transport/TorTransportAdapter.js.map +1 -0
  308. package/dist/transport/memory.d.ts +31 -0
  309. package/dist/transport/memory.d.ts.map +1 -0
  310. package/dist/transport/memory.js +114 -0
  311. package/dist/transport/memory.js.map +1 -0
  312. package/dist/transport/peerjs.d.ts +52 -0
  313. package/dist/transport/peerjs.d.ts.map +1 -0
  314. package/dist/transport/peerjs.js +336 -0
  315. package/dist/transport/peerjs.js.map +1 -0
  316. package/dist/transport/pqc-handshake.d.ts +72 -0
  317. package/dist/transport/pqc-handshake.d.ts.map +1 -0
  318. package/dist/transport/pqc-handshake.js +129 -0
  319. package/dist/transport/pqc-handshake.js.map +1 -0
  320. package/dist/transport/relay-config.d.ts +11 -0
  321. package/dist/transport/relay-config.d.ts.map +1 -0
  322. package/dist/transport/relay-config.js +48 -0
  323. package/dist/transport/relay-config.js.map +1 -0
  324. package/dist/transport/relay-server.d.ts +37 -0
  325. package/dist/transport/relay-server.d.ts.map +1 -0
  326. package/dist/transport/relay-server.js +246 -0
  327. package/dist/transport/relay-server.js.map +1 -0
  328. package/dist/transport/tor.d.ts +47 -0
  329. package/dist/transport/tor.d.ts.map +1 -0
  330. package/dist/transport/tor.js +158 -0
  331. package/dist/transport/tor.js.map +1 -0
  332. package/dist/transport/types.d.ts +34 -0
  333. package/dist/transport/types.d.ts.map +1 -0
  334. package/dist/transport/types.js +2 -0
  335. package/dist/transport/types.js.map +1 -0
  336. package/dist/types/index.d.ts +293 -0
  337. package/dist/types/index.d.ts.map +1 -0
  338. package/dist/types/index.js +73 -0
  339. package/dist/types/index.js.map +1 -0
  340. package/dist/web/admission.d.ts +24 -0
  341. package/dist/web/admission.d.ts.map +1 -0
  342. package/dist/web/admission.js +41 -0
  343. package/dist/web/admission.js.map +1 -0
  344. package/dist/web/crypto.d.ts +18 -0
  345. package/dist/web/crypto.d.ts.map +1 -0
  346. package/dist/web/crypto.js +78 -0
  347. package/dist/web/crypto.js.map +1 -0
  348. package/dist/web/exchange.d.ts +23 -0
  349. package/dist/web/exchange.d.ts.map +1 -0
  350. package/dist/web/exchange.js +54 -0
  351. package/dist/web/exchange.js.map +1 -0
  352. package/dist/web/fragment.d.ts +58 -0
  353. package/dist/web/fragment.d.ts.map +1 -0
  354. package/dist/web/fragment.js +198 -0
  355. package/dist/web/fragment.js.map +1 -0
  356. package/dist/web/index.d.ts +25 -0
  357. package/dist/web/index.d.ts.map +1 -0
  358. package/dist/web/index.js +14 -0
  359. package/dist/web/index.js.map +1 -0
  360. package/dist/web/merge/index.d.ts +104 -0
  361. package/dist/web/merge/index.d.ts.map +1 -0
  362. package/dist/web/merge/index.js +236 -0
  363. package/dist/web/merge/index.js.map +1 -0
  364. package/dist/web/oplog/hlc.d.ts +19 -0
  365. package/dist/web/oplog/hlc.d.ts.map +1 -0
  366. package/dist/web/oplog/hlc.js +39 -0
  367. package/dist/web/oplog/hlc.js.map +1 -0
  368. package/dist/web/oplog/index.d.ts +10 -0
  369. package/dist/web/oplog/index.d.ts.map +1 -0
  370. package/dist/web/oplog/index.js +6 -0
  371. package/dist/web/oplog/index.js.map +1 -0
  372. package/dist/web/oplog/log.d.ts +182 -0
  373. package/dist/web/oplog/log.d.ts.map +1 -0
  374. package/dist/web/oplog/log.js +693 -0
  375. package/dist/web/oplog/log.js.map +1 -0
  376. package/dist/web/oplog/store.d.ts +40 -0
  377. package/dist/web/oplog/store.d.ts.map +1 -0
  378. package/dist/web/oplog/store.js +85 -0
  379. package/dist/web/oplog/store.js.map +1 -0
  380. package/dist/web/oplog/sync.d.ts +54 -0
  381. package/dist/web/oplog/sync.d.ts.map +1 -0
  382. package/dist/web/oplog/sync.js +162 -0
  383. package/dist/web/oplog/sync.js.map +1 -0
  384. package/dist/web/oplog/types.d.ts +119 -0
  385. package/dist/web/oplog/types.d.ts.map +1 -0
  386. package/dist/web/oplog/types.js +2 -0
  387. package/dist/web/oplog/types.js.map +1 -0
  388. package/dist/web/pairing.d.ts +186 -0
  389. package/dist/web/pairing.d.ts.map +1 -0
  390. package/dist/web/pairing.js +395 -0
  391. package/dist/web/pairing.js.map +1 -0
  392. package/dist/web/pq.d.ts +36 -0
  393. package/dist/web/pq.d.ts.map +1 -0
  394. package/dist/web/pq.js +59 -0
  395. package/dist/web/pq.js.map +1 -0
  396. package/dist/web/provider.d.ts +188 -0
  397. package/dist/web/provider.d.ts.map +1 -0
  398. package/dist/web/provider.js +2042 -0
  399. package/dist/web/provider.js.map +1 -0
  400. package/dist/web/rooms.d.ts +20 -0
  401. package/dist/web/rooms.d.ts.map +1 -0
  402. package/dist/web/rooms.js +51 -0
  403. package/dist/web/rooms.js.map +1 -0
  404. package/dist/web/rotation.d.ts +73 -0
  405. package/dist/web/rotation.d.ts.map +1 -0
  406. package/dist/web/rotation.js +130 -0
  407. package/dist/web/rotation.js.map +1 -0
  408. package/dist/web/secstate.d.ts +213 -0
  409. package/dist/web/secstate.d.ts.map +1 -0
  410. package/dist/web/secstate.js +789 -0
  411. package/dist/web/secstate.js.map +1 -0
  412. package/dist/web/store.d.ts +9 -0
  413. package/dist/web/store.d.ts.map +1 -0
  414. package/dist/web/store.js +32 -0
  415. package/dist/web/store.js.map +1 -0
  416. package/dist/web/transports/loopback.d.ts +11 -0
  417. package/dist/web/transports/loopback.d.ts.map +1 -0
  418. package/dist/web/transports/loopback.js +97 -0
  419. package/dist/web/transports/loopback.js.map +1 -0
  420. package/dist/web/transports/qr-sdp.d.ts +27 -0
  421. package/dist/web/transports/qr-sdp.d.ts.map +1 -0
  422. package/dist/web/transports/qr-sdp.js +131 -0
  423. package/dist/web/transports/qr-sdp.js.map +1 -0
  424. package/dist/web/transports/ws.d.ts +12 -0
  425. package/dist/web/transports/ws.d.ts.map +1 -0
  426. package/dist/web/transports/ws.js +139 -0
  427. package/dist/web/transports/ws.js.map +1 -0
  428. package/dist/web/trust/canonical.d.ts +8 -0
  429. package/dist/web/trust/canonical.d.ts.map +1 -0
  430. package/dist/web/trust/canonical.js +27 -0
  431. package/dist/web/trust/canonical.js.map +1 -0
  432. package/dist/web/trust/docs.d.ts +51 -0
  433. package/dist/web/trust/docs.d.ts.map +1 -0
  434. package/dist/web/trust/docs.js +170 -0
  435. package/dist/web/trust/docs.js.map +1 -0
  436. package/dist/web/trust/index.d.ts +10 -0
  437. package/dist/web/trust/index.d.ts.map +1 -0
  438. package/dist/web/trust/index.js +7 -0
  439. package/dist/web/trust/index.js.map +1 -0
  440. package/dist/web/trust/keys.d.ts +37 -0
  441. package/dist/web/trust/keys.d.ts.map +1 -0
  442. package/dist/web/trust/keys.js +75 -0
  443. package/dist/web/trust/keys.js.map +1 -0
  444. package/dist/web/trust/store.d.ts +150 -0
  445. package/dist/web/trust/store.d.ts.map +1 -0
  446. package/dist/web/trust/store.js +587 -0
  447. package/dist/web/trust/store.js.map +1 -0
  448. package/dist/web/trust/types.d.ts +134 -0
  449. package/dist/web/trust/types.d.ts.map +1 -0
  450. package/dist/web/trust/types.js +4 -0
  451. package/dist/web/trust/types.js.map +1 -0
  452. package/dist/web/types.d.ts +115 -0
  453. package/dist/web/types.d.ts.map +1 -0
  454. package/dist/web/types.js +2 -0
  455. package/dist/web/types.js.map +1 -0
  456. package/dist/web/util.d.ts +12 -0
  457. package/dist/web/util.d.ts.map +1 -0
  458. package/dist/web/util.js +54 -0
  459. package/dist/web/util.js.map +1 -0
  460. package/dist/web/webrtc.d.ts +35 -0
  461. package/dist/web/webrtc.d.ts.map +1 -0
  462. package/dist/web/webrtc.js +304 -0
  463. package/dist/web/webrtc.js.map +1 -0
  464. package/package.json +139 -4
@@ -0,0 +1,80 @@
1
+ export class MetadataManager {
2
+ yjs;
3
+ presence;
4
+ metadataMap;
5
+ oplog;
6
+ constructor(yjs, presence, oplog) {
7
+ this.yjs = yjs;
8
+ this.presence = presence;
9
+ this.metadataMap = this.yjs.getMap("maloca:metadata");
10
+ this.oplog = oplog;
11
+ }
12
+ getNetworkStatus() {
13
+ const nodosActivos = this.presence.obtenerNodosActivos();
14
+ const totalNodos = this.presence.obtenerTotalNodos();
15
+ const latencias = nodosActivos.map((id) => ({
16
+ id,
17
+ latencia: this.presence.obtenerLatencia(id),
18
+ }));
19
+ const validLatencies = latencias
20
+ .map((l) => l.latencia)
21
+ .filter((lat) => typeof lat === "number" && lat >= 0);
22
+ const latenciaPromedio = validLatencies.length > 0
23
+ ? validLatencies.reduce((a, b) => a + b, 0) /
24
+ validLatencies.length
25
+ : 0;
26
+ return {
27
+ nodosActivos: nodosActivos.length,
28
+ totalNodos,
29
+ latencias,
30
+ latenciaPromedio,
31
+ topologia: "mesh-p2p",
32
+ timestamp: Date.now(),
33
+ };
34
+ }
35
+ getProfileCache() {
36
+ const profiles = this.yjs.getMap("maloca:profiles");
37
+ return {
38
+ count: profiles.size,
39
+ lastUpdate: Date.now(),
40
+ };
41
+ }
42
+ async syncMetadata(key, value) {
43
+ if (key !== undefined) {
44
+ this.metadataMap.set(key, value);
45
+ if (this.oplog) {
46
+ await this.oplog.append("metadata:sync", { key, value }, "metadata-manager");
47
+ }
48
+ }
49
+ else if (this.oplog) {
50
+ await this.oplog.cargarDesdeStorage();
51
+ const ops = await this.oplog.obtenerTodas();
52
+ for (const op of ops) {
53
+ if (op.tipo === "metadata:sync") {
54
+ const data = op.datos;
55
+ this.metadataMap.set(data.key, data.value);
56
+ }
57
+ }
58
+ }
59
+ }
60
+ getProjectInfo(projectId) {
61
+ // Project info could be stored in metadataMap or a specialized projectMap
62
+ const projects = this.yjs.getMap("maloca:projects");
63
+ return projects.get(projectId) || null;
64
+ }
65
+ getSharedMetadata() {
66
+ const status = this.getNetworkStatus();
67
+ const profiles = this.getProfileCache();
68
+ return {
69
+ red: {
70
+ nombre: "SWAL Mesh",
71
+ version: "1.0.0",
72
+ nodosActivos: status.nodosActivos,
73
+ },
74
+ perfiles: profiles.count,
75
+ repositorios: this.metadataMap.get("repositorios") || [],
76
+ plugins: this.metadataMap.get("plugins") || [],
77
+ };
78
+ }
79
+ }
80
+ //# sourceMappingURL=metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/maloca/metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import type { OpLog } from "../op-log/index.js";
2
+ import type { PerfilHumano, PerfilServicio } from "./types.js";
3
+ /**
4
+ * ProfileManager — gestiona perfiles de nodos humanos y servicios
5
+ * usando Operational Log (OpLog) como store subyacente.
6
+ * No contiene lógica de negocio; es infraestructura genérica de la mesh.
7
+ */
8
+ export type Perfil = PerfilHumano | PerfilServicio;
9
+ export declare class ProfileManager {
10
+ private readonly oplog;
11
+ private cache;
12
+ constructor(oplog: OpLog);
13
+ /**
14
+ * Carga todos los perfiles desde el OpLog hacia el cache en memoria.
15
+ * Debe llamarse después de crear la instancia y antes de usar.
16
+ */
17
+ loadProfiles(keepExistingCache?: boolean): Promise<void>;
18
+ exportCache(): [string, Perfil][];
19
+ importCache(entries: [string, Perfil][]): void;
20
+ /**
21
+ * Registra o actualiza un perfil en la mesh.
22
+ */
23
+ upsertProfile(perfil: Perfil, autor: string): Promise<void>;
24
+ /**
25
+ * Obtiene un perfil por su ID.
26
+ */
27
+ getProfile(id: string): Perfil | undefined;
28
+ /**
29
+ * Lista todos los perfiles registrados.
30
+ */
31
+ listProfiles(): Perfil[];
32
+ /**
33
+ * Busca perfiles por alias (humanos) o por tipo (servicios).
34
+ */
35
+ searchProfiles(query: string): Perfil[];
36
+ /**
37
+ * Vincula un perfil humano a un proyecto.
38
+ */
39
+ linkToProject(profileId: string, projectId: string): Promise<void>;
40
+ /**
41
+ * Registra o actualiza un perfil en la mesh.
42
+ */
43
+ register(profile: Perfil): Promise<void>;
44
+ /**
45
+ * Obtiene un perfil por su ID (cache local + lookup en la mesh/OpLog).
46
+ */
47
+ get(id: string): Promise<Perfil | undefined>;
48
+ /**
49
+ * Actualiza un perfil con sync.
50
+ */
51
+ update(id: string, delta: Partial<Perfil>): Promise<void>;
52
+ /**
53
+ * Búsqueda distribuida de perfiles (recargando opLog).
54
+ */
55
+ search(query: string): Promise<Perfil[]>;
56
+ }
57
+ //# sourceMappingURL=perfil.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perfil.d.ts","sourceRoot":"","sources":["../../src/maloca/perfil.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/D;;;;GAIG;AACH,MAAM,MAAM,MAAM,GAAG,YAAY,GAAG,cAAc,CAAC;AAEnD,qBAAa,cAAc;IAC1B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,KAAK,CAAkC;IAE/C,YAAY,KAAK,EAAE,KAAK,EAEvB;IAED;;;OAGG;IACG,YAAY,CAAC,iBAAiB,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3D;IAED,WAAW,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAEhC;IAED,WAAW,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI,CAE7C;IAED;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhE;IAED;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEzC;IAED;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE,CAEvB;IAED;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQtC;IAED;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYvE;IAED;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7C;IAED;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAOjD;IAED;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAO9D;IAED;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAG7C;CACD"}
@@ -0,0 +1,113 @@
1
+ export class ProfileManager {
2
+ oplog;
3
+ cache = new Map();
4
+ constructor(oplog) {
5
+ this.oplog = oplog;
6
+ }
7
+ /**
8
+ * Carga todos los perfiles desde el OpLog hacia el cache en memoria.
9
+ * Debe llamarse después de crear la instancia y antes de usar.
10
+ */
11
+ async loadProfiles(keepExistingCache = false) {
12
+ await this.oplog.cargarDesdeStorage();
13
+ if (!keepExistingCache) {
14
+ this.cache.clear();
15
+ }
16
+ const ops = await this.oplog.obtenerTodas();
17
+ for (const op of ops) {
18
+ if (op.tipo === "profile:upsert") {
19
+ const perfil = op.datos;
20
+ this.cache.set(perfil.id, perfil);
21
+ }
22
+ }
23
+ }
24
+ exportCache() {
25
+ return Array.from(this.cache.entries());
26
+ }
27
+ importCache(entries) {
28
+ this.cache = new Map(entries);
29
+ }
30
+ /**
31
+ * Registra o actualiza un perfil en la mesh.
32
+ */
33
+ async upsertProfile(perfil, autor) {
34
+ this.cache.set(perfil.id, perfil);
35
+ await this.oplog.append("profile:upsert", perfil, autor);
36
+ }
37
+ /**
38
+ * Obtiene un perfil por su ID.
39
+ */
40
+ getProfile(id) {
41
+ return this.cache.get(id);
42
+ }
43
+ /**
44
+ * Lista todos los perfiles registrados.
45
+ */
46
+ listProfiles() {
47
+ return Array.from(this.cache.values());
48
+ }
49
+ /**
50
+ * Busca perfiles por alias (humanos) o por tipo (servicios).
51
+ */
52
+ searchProfiles(query) {
53
+ const lower = query.toLowerCase();
54
+ return this.listProfiles().filter((p) => {
55
+ if ("alias" in p) {
56
+ return p.alias.toLowerCase().includes(lower);
57
+ }
58
+ return p.id.toLowerCase().includes(lower);
59
+ });
60
+ }
61
+ /**
62
+ * Vincula un perfil humano a un proyecto.
63
+ */
64
+ async linkToProject(profileId, projectId) {
65
+ const perfil = this.cache.get(profileId);
66
+ if (!perfil)
67
+ throw new Error(`Profile ${profileId} not found`);
68
+ if (!("proyectos" in perfil))
69
+ throw new Error(`Profile ${profileId} is not a human profile`);
70
+ const updated = {
71
+ ...perfil,
72
+ proyectos: [...new Set([...perfil.proyectos, projectId])],
73
+ };
74
+ this.cache.set(profileId, updated);
75
+ await this.upsertProfile(updated, profileId);
76
+ }
77
+ /**
78
+ * Registra o actualiza un perfil en la mesh.
79
+ */
80
+ async register(profile) {
81
+ await this.upsertProfile(profile, profile.id);
82
+ }
83
+ /**
84
+ * Obtiene un perfil por su ID (cache local + lookup en la mesh/OpLog).
85
+ */
86
+ async get(id) {
87
+ let profile = this.getProfile(id);
88
+ if (!profile) {
89
+ await this.loadProfiles(true);
90
+ profile = this.getProfile(id);
91
+ }
92
+ return profile;
93
+ }
94
+ /**
95
+ * Actualiza un perfil con sync.
96
+ */
97
+ async update(id, delta) {
98
+ const existing = this.getProfile(id);
99
+ if (!existing) {
100
+ throw new Error(`Profile ${id} not found`);
101
+ }
102
+ const updated = { ...existing, ...delta };
103
+ await this.upsertProfile(updated, id);
104
+ }
105
+ /**
106
+ * Búsqueda distribuida de perfiles (recargando opLog).
107
+ */
108
+ async search(query) {
109
+ await this.loadProfiles(true);
110
+ return this.searchProfiles(query);
111
+ }
112
+ }
113
+ //# sourceMappingURL=perfil.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perfil.js","sourceRoot":"","sources":["../../src/maloca/perfil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { MeshManager } from "../mesh/index.js";
2
+ import type { NodoId } from "../types/index.js";
3
+ export type TipoPlugin = "proyecto" | "servicio" | "adapter";
4
+ export type EstadoPlugin = "activo" | "inactivo" | "error";
5
+ export interface PluginInfo {
6
+ readonly id: string;
7
+ readonly tipo: TipoPlugin;
8
+ readonly version: string;
9
+ readonly capacidades: readonly string[];
10
+ readonly endpoint?: string;
11
+ readonly estado: EstadoPlugin;
12
+ readonly nodoId: NodoId;
13
+ readonly timestamp: number;
14
+ }
15
+ export declare class PluginRegistry extends EventTarget {
16
+ private readonly mesh;
17
+ private readonly plugins;
18
+ private readonly NAMESPACE;
19
+ constructor(mesh: MeshManager);
20
+ register(plugin: Omit<PluginInfo, "nodoId" | "timestamp" | "estado">): Promise<void>;
21
+ discover(tipo?: TipoPlugin, capacidad?: string): readonly PluginInfo[];
22
+ getPlugin(pluginId: string): PluginInfo | null;
23
+ listPlugins(): readonly PluginInfo[];
24
+ healthCheck(pluginId: string): Promise<boolean>;
25
+ onPluginEvent(evento: unknown): void;
26
+ }
27
+ //# sourceMappingURL=plugin-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.d.ts","sourceRoot":"","sources":["../../src/maloca/plugin-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3D,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAID,qBAAa,cAAe,SAAQ,WAAW;IAC9C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAE/C,YAAY,IAAI,EAAE,WAAW,EAa5B;IAEK,QAAQ,CACb,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAiBf;IAED,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,UAAU,EAAE,CAQrE;IAED,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAE7C;IAED,WAAW,IAAI,SAAS,UAAU,EAAE,CAEnC;IAEK,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYpD;IAED,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAiBnC;CACD"}
@@ -0,0 +1,76 @@
1
+ // ─── PLUGIN REGISTRY ───────────────────────────────────────────────────────
2
+ export class PluginRegistry extends EventTarget {
3
+ mesh;
4
+ plugins;
5
+ NAMESPACE = "_maloca:plugins";
6
+ constructor(mesh) {
7
+ super();
8
+ this.mesh = mesh;
9
+ this.plugins = new Map();
10
+ // Escuchar eventos de gossip para descubrir plugins de otros nodos
11
+ this.mesh.addEventListener("gossipRecibido", (ev) => {
12
+ const customEv = ev;
13
+ const { mensaje } = customEv.detail;
14
+ if (mensaje.namespace === this.NAMESPACE) {
15
+ this.onPluginEvent(mensaje.payload);
16
+ }
17
+ });
18
+ }
19
+ async register(plugin) {
20
+ const info = {
21
+ ...plugin,
22
+ nodoId: this.mesh.config.nodoId,
23
+ timestamp: Date.now(),
24
+ estado: "activo",
25
+ };
26
+ this.plugins.set(info.id, info);
27
+ // Notificar a la red
28
+ await this.mesh.transmitirConGossip(this.NAMESPACE, {
29
+ tipo: "PLUGIN_REGISTERED",
30
+ plugin: info,
31
+ });
32
+ this.dispatchEvent(new CustomEvent("pluginRegistrado", { detail: info }));
33
+ }
34
+ discover(tipo, capacidad) {
35
+ return Array.from(this.plugins.values()).filter((p) => {
36
+ const matchTipo = tipo ? p.tipo === tipo : true;
37
+ const matchCapacidad = capacidad
38
+ ? p.capacidades.includes(capacidad)
39
+ : true;
40
+ return matchTipo && matchCapacidad;
41
+ });
42
+ }
43
+ getPlugin(pluginId) {
44
+ return this.plugins.get(pluginId) ?? null;
45
+ }
46
+ listPlugins() {
47
+ return Array.from(this.plugins.values());
48
+ }
49
+ async healthCheck(pluginId) {
50
+ const plugin = this.plugins.get(pluginId);
51
+ if (!plugin)
52
+ return false;
53
+ // Si es local, asumimos que está vivo si está en el mapa (o podríamos chequear endpoint)
54
+ if (plugin.nodoId === this.mesh.config.nodoId) {
55
+ return plugin.estado === "activo";
56
+ }
57
+ // Si es remoto, chequeamos si el nodo está activo en el mesh
58
+ const peerInfo = this.mesh.obtenerPeerInfo(plugin.nodoId);
59
+ return peerInfo !== null && peerInfo.estado === "activo";
60
+ }
61
+ onPluginEvent(evento) {
62
+ if (typeof evento !== "object" || evento === null)
63
+ return;
64
+ const payload = evento;
65
+ if (payload.tipo === "PLUGIN_REGISTERED" ||
66
+ payload.tipo === "PLUGIN_DISCOVERED") {
67
+ const { plugin } = payload;
68
+ this.plugins.set(plugin.id, {
69
+ ...plugin,
70
+ timestamp: Date.now(), // Actualizar timestamp de avistamiento
71
+ });
72
+ this.dispatchEvent(new CustomEvent("pluginDescubierto", { detail: plugin }));
73
+ }
74
+ }
75
+ }
76
+ //# sourceMappingURL=plugin-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-registry.js","sourceRoot":"","sources":["../../src/maloca/plugin-registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export interface Anchor {
2
+ merkleRoot: string;
3
+ cid: string;
4
+ timestamp?: number;
5
+ }
6
+ export interface PolygonBridgeConfig {
7
+ rpcUrl: string;
8
+ contractAddress: string;
9
+ privateKey?: string;
10
+ }
11
+ export interface PolygonBridge {
12
+ submitAnchor(anchor: Anchor): Promise<string>;
13
+ getAnchor(txHash: string): Promise<Anchor | null>;
14
+ verifyOnChain(merkleRoot: string, proof: string[], leaf?: string): Promise<boolean>;
15
+ getLastAnchorBlock(): Promise<number>;
16
+ getQueue(): Anchor[];
17
+ clearQueue(): void;
18
+ flushQueue(): Promise<string | null>;
19
+ }
20
+ export declare const EVIDENTIA_ANCHOR_ABI: string[];
21
+ export declare const EVIDENTIA_ANCHOR_BYTECODE = "6080604052348015600e575f5ffd5b50610d728061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061004a575f3560e01c80633d2fa6de1461004e5780639da7347c1461006a578063b01b6d531461009a578063f6a1a14b146100cb575b5f5ffd5b61006860048036038101906100639190610570565b6100e7565b005b610084600480360381019061007f9190610622565b6101b1565b60405161009191906106ad565b60405180910390f35b6100b460048036038101906100af91906106c6565b610286565b6040516100c2929190610779565b60405180910390f35b6100e560048036038101906100e091906107fc565b61032b565b005b604051806040016040528083838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508152602001428152505f5f8581526020019081526020015f205f820151815f0190816101629190610ab5565b5060208201518160010155905050827f07833cba3144cd16b692ac14ef1b6f77f743ee5519895d3a98e4aaf7637fe45d8383426040516101a493929190610bbe565b60405180910390a2505050565b5f5f5f5f8781526020019081526020015f2060010154036101d4575f905061027e565b5f8490505f5f90505b84849050811015610276575f8585838181106101fc576101fb610bee565b5b90506020020135905080831161023c57828160405160200161021f929190610c3b565b604051602081830303815290604052805190602001209250610268565b808360405160200161024f929190610c3b565b6040516020818303038152906040528051906020012092505b5080806001019150506101dd565b508581149150505b949350505050565b5f602052805f5260405f205f91509050805f0180546102a4906108d4565b80601f01602080910402602001604051908101604052809291908181526020018280546102d0906108d4565b801561031b5780601f106102f25761010080835404028352916020019161031b565b820191905f5260205f20905b8154815290600101906020018083116102fe57829003601f168201915b5050505050908060010154905082565b818190508484905014610373576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161036a90610cb0565b60405180910390fd5b5f5f90505b848490508110156104cd5760405180604001604052808484848181106103a1576103a0610bee565b5b90506020028101906103b39190610cda565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050508152602001428152505f5f87878581811061041357610412610bee565b5b9050602002013581526020019081526020015f205f820151815f01908161043a9190610ab5565b506020820151816001015590505084848281811061045b5761045a610bee565b5b905060200201357f07833cba3144cd16b692ac14ef1b6f77f743ee5519895d3a98e4aaf7637fe45d84848481811061049657610495610bee565b5b90506020028101906104a89190610cda565b426040516104b893929190610bbe565b60405180910390a28080600101915050610378565b5050505050565b5f5ffd5b5f5ffd5b5f819050919050565b6104ee816104dc565b81146104f8575f5ffd5b50565b5f81359050610509816104e5565b92915050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83601f8401126105305761052f61050f565b5b8235905067ffffffffffffffff81111561054d5761054c610513565b5b60208301915083600182028301111561056957610568610517565b5b9250929050565b5f5f5f60408486031215610587576105866104d4565b5b5f610594868287016104fb565b935050602084013567ffffffffffffffff8111156105b5576105b46104d8565b5b6105c18682870161051b565b92509250509250925092565b5f5f83601f8401126105e2576105e161050f565b5b8235905067ffffffffffffffff8111156105ff576105fe610513565b5b60208301915083602082028301111561061b5761061a610517565b5b9250929050565b5f5f5f5f6060858703121561063a576106396104d4565b5b5f610647878288016104fb565b935050604085013567ffffffffffffffff811115610679576106786104d8565b5b610685878288016105cd565b925092505092959194509250565b5f8115159050919050565b6106a781610693565b82525050565b5f6020820190506106c05f83018461069e565b92915050565b5f602082840312156106db576106da6104d4565b5b5f6106e8848285016104fb565b91505092915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f610733826106f1565b61073d81856106fb565b935061074d81856020860161070b565b61075681610719565b840191505092915050565b5f819050919050565b61077381610761565b82525050565b5f6040820190508181035f8301526107918185610729565b90506107a0602083018461076a565b9392505050565b5f5f83601f8401126107bc576107bb61050f565b5b8235905067ffffffffffffffff8111156107d9576107d8610513565b5b6020830191508360208202830111156107f5576107f4610517565b5b9250929050565b5f5f5f5f60408587031215610814576108136104d4565b5b5f85013567ffffffffffffffff811115610831576108306104d8565b5b61083d878288016105cd565b9450945050602085013567ffffffffffffffff8111156108605761085f6104d8565b5b61086c878288016107a7565b925092505092959194509250565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806108eb57607f821691505b6020821081036108fe576108fd6108a7565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026109607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610925565b61096a8683610925565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6109a56109a061099b84610761565b610982565b610761565b9050919050565b5f819050919050565b6109be8361098b565b6109d26109ca826109ac565b848454610931565b825550505050565b5f5f905090565b6109e96109da565b6109f48184846109b5565b505050565b5f5b82811015610a1a57610a0f5f8284016109e1565b6001810190506109fb565b505050565b601f821115610a6d5782821115610a6c57610a3981610904565b610a4283610916565b610a4b85610916565b6020861015610a58575f90505b808301610a67828403826109f9565b505050505b5b505050565b5f82821c905092915050565b5f610a8d5f1984600802610a72565b1980831691505092915050565b5f610aa58383610a7e565b9150826002028217905092915050565b610abe826106f1565b67ffffffffffffffff811115610ad757610ad661087a565b5b610ae182546108d4565b610aec828285610a1f565b5f60209050601f831160018114610b1d575f8415610b0b578287015190505b610b158582610a9a565b865550610b7c565b601f198416610b2b86610904565b5f5b82811015610b5257848901518255600182019150602085019450602081019050610b2d565b86831015610b6f5784890151610b6b601f891682610a7e565b8355505b6001600288020188555050505b505050505050565b828183375f83830152505050565b5f610b9d83856106fb565b9350610baa838584610b84565b610bb383610719565b840190509392505050565b5f6040820190508181035f830152610bd7818587610b92565b9050610be6602083018461076a565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f819050919050565b610c35610c30826104dc565b610c1b565b82525050565b5f610c468285610c24565b602082019150610c568284610c24565b6020820191508190509392505050565b7f4c656e677468206d69736d6174636800000000000000000000000000000000005f82015250565b5f610c9a600f836106fb565b9150610ca582610c66565b602082019050919050565b5f6020820190508181035f830152610cc781610c8e565b9050919050565b5f5ffd5b5f5ffd5b5f5ffd5b5f5f83356001602003843603038112610cf657610cf5610cce565b5b80840192508235915067ffffffffffffffff821115610d1857610d17610cd2565b5b602083019250600182023603831315610d3457610d33610cd6565b5b50925092905056fea264697066735822122013ec0094c28329a28c56d8464436cda8ddcaa624fbccab6a1d017cf97d31d0c064736f6c63430008240033";
22
+ export declare class PolygonBridgeImpl implements PolygonBridge {
23
+ private readonly config;
24
+ private provider;
25
+ private wallet;
26
+ private contract;
27
+ private offlineQueue;
28
+ constructor(config: PolygonBridgeConfig);
29
+ /**
30
+ * Envía un anchor individual (merkleRoot + cid) a Polygon.
31
+ * Si la red o el proveedor no están disponibles, se encola localmente y lanza un error.
32
+ */
33
+ submitAnchor(anchor: Anchor): Promise<string>;
34
+ /**
35
+ * Obtiene los detalles de un Anchor basándose en el hash de transacción o logs.
36
+ */
37
+ getAnchor(txHash: string): Promise<Anchor | null>;
38
+ /**
39
+ * Verifica un Merkle proof contra el root on-chain de Polygon.
40
+ */
41
+ verifyOnChain(merkleRoot: string, proof: string[], leaf?: string): Promise<boolean>;
42
+ /**
43
+ * Obtiene el último bloque de Polygon.
44
+ */
45
+ getLastAnchorBlock(): Promise<number>;
46
+ /**
47
+ * Retorna la cola de anchors fuera de línea.
48
+ */
49
+ getQueue(): Anchor[];
50
+ /**
51
+ * Vacía la cola.
52
+ */
53
+ clearQueue(): void;
54
+ /**
55
+ * Envía todos los anchors encolados en una sola transacción batch.
56
+ */
57
+ flushQueue(): Promise<string | null>;
58
+ /**
59
+ * Despliega programáticamente una instancia del contrato EvidentiaAnchor.
60
+ */
61
+ static deploy(rpcUrl: string, privateKey: string): Promise<string>;
62
+ }
63
+ //# sourceMappingURL=polygon-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"polygon-bridge.d.ts","sourceRoot":"","sources":["../../src/maloca/polygon-bridge.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,MAAM;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC7B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9C,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,aAAa,CACZ,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,IAAI,MAAM,EAAE,CAAC;IACrB,UAAU,IAAI,IAAI,CAAC;IACnB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACrC;AAID,eAAO,MAAM,oBAAoB,UAMhC,CAAC;AAEF,eAAO,MAAM,yBAAyB,+vNACutN,CAAC;AAI9vN,qBAAa,iBAAkB,YAAW,aAAa;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,QAAQ,CAAyB;IACzC,OAAO,CAAC,YAAY,CAAgB;IAEpC,YAAY,MAAM,EAAE,mBAAmB,EAgBtC;IAED;;;OAGG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAuBlD;IAED;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA4DtD;IAED;;OAEG;IACG,aAAa,CAClB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,CAAC,CAWlB;IAED;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAO1C;IAED;;OAEG;IACH,QAAQ,IAAI,MAAM,EAAE,CAEnB;IAED;;OAEG;IACH,UAAU,IAAI,IAAI,CAEjB;IAED;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA6BzC;IAED;;OAEG;IACH,OAAa,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAYvE;CACD"}