@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,415 @@
1
+ import { ml_dsa65 } from "@noble/post-quantum/ml-dsa.js";
2
+ import { ml_kem768 } from "@noble/post-quantum/ml-kem.js";
3
+ import { bytesAHex, hexABytes } from "../protocol/utils.js";
4
+ // ─── CONSTANTS ─────────────────────────────────────────────────────────────
5
+ const ALGORITMO = "ML-DSA-65";
6
+ const ALGORITMO_KEM = "ML-KEM-768";
7
+ /**
8
+ * Separadores de dominio. Cada derivacion de este modulo prefija su entrada
9
+ * con uno de estos, de modo que un valor derivado para un proposito jamas pueda
10
+ * reutilizarse como valor de otro (p. ej. un nodoId nunca colisiona con una
11
+ * clave).
12
+ *
13
+ * These literals are load-bearing across two files: `DOMINIO_CLAVE_COMPARTIDA`
14
+ * is reproduced byte-identically in `src/protocol/crypto.ts`, which performs the
15
+ * same derivation synchronously (WebCrypto's digest is promise-only, and the
16
+ * KEM handshake is sync). A divergence would make the sync and async paths
17
+ * derive different session keys from the same shared secret.
18
+ */
19
+ const DOMINIO_NODO_ID = "shelf-edge-mesh/v1/nodo-id";
20
+ const DOMINIO_CLAVE_COMPARTIDA = "shelf-edge-mesh/v1/clave-compartida";
21
+ /** Prefijo de un identificador de nodo derivado criptograficamente. */
22
+ export const PREFIJO_NODO_DERIVADO = "mlkem";
23
+ /** Bytes de digest conservados en un nodoId derivado (16 bytes -> 32 hex). */
24
+ const BYTES_NODO_ID = 16;
25
+ export const TIPO_IDENTIDAD = {
26
+ MAESTRA: "maestra",
27
+ EPHEMERA: "ephemera",
28
+ SERVICIO: "servicio",
29
+ };
30
+ /**
31
+ * QUE PRUEBA ML-DSA-65 Y QUE PROTEGE ML-KEM-768: son garantias distintas y
32
+ * ninguna sustituye a la otra.
33
+ *
34
+ * - ML-DSA-65 (firma, `firmar` / `verificar`): **autenticidad + integridad**.
35
+ * Prueba que el tenedor de la clave privada escribio esos bytes exactos y que
36
+ * no fueron alterados en transito. No revela nada: cualquiera puede verificar.
37
+ *
38
+ * - ML-KEM-768 (encapsulacion, `encapsular` / `decapsular`): **confidencialidad
39
+ * del secreto compartido**. Solo el dueno de la clave privada correspondiente
40
+ * puede recuperarlo; el ciphertext que viaja es inservible para cualquier otro.
41
+ * No dice NADA sobre quien envio el mensaje.
42
+ *
43
+ * Un envolvente correcto necesita ambos: ML-KEM para que solo el destinatario
44
+ * lea el payload, ML-DSA para que el destinatario pruebe quien lo envio.
45
+ */
46
+ export const ALGORITMOS = {
47
+ FIRMA: ALGORITMO,
48
+ KEM: ALGORITMO_KEM,
49
+ };
50
+ // ─── HELPERS DE HASH (WebCrypto) ────────────────────────────────────────────
51
+ function concatBytes(...partes) {
52
+ const total = partes.reduce((n, p) => n + p.length, 0);
53
+ const out = new Uint8Array(total);
54
+ let off = 0;
55
+ for (const p of partes) {
56
+ out.set(p, off);
57
+ off += p.length;
58
+ }
59
+ return out;
60
+ }
61
+ async function sha256(datos) {
62
+ // Copiamos en un ArrayBuffer nuevo: `datos` puede ser una vista sobre un
63
+ // backing store mayor y no tipado como ArrayBuffer, que subtle.digest rechaza.
64
+ const buffer = new ArrayBuffer(datos.length);
65
+ new Uint8Array(buffer).set(datos);
66
+ return new Uint8Array(await crypto.subtle.digest("SHA-256", buffer));
67
+ }
68
+ // ─── GENERATE ──────────────────────────────────────────────────────────────
69
+ /**
70
+ * Genera un keypair de nodo: un par de firma ML-DSA-65 **y** un par de
71
+ * encapsulacion ML-KEM-768. Ambos hacen falta para una identidad de malla
72
+ * utilizable: el par de firma prueba quien eres, el par KEM permite que otros
73
+ * te hablen en privado.
74
+ */
75
+ export function generateKeypair(tipo = TIPO_IDENTIDAD.EPHEMERA) {
76
+ const { secretKey, publicKey } = ml_dsa65.keygen();
77
+ const kem = ml_kem768.keygen();
78
+ return {
79
+ parPrivado: secretKey,
80
+ parPublico: publicKey,
81
+ kemPrivado: kem.secretKey,
82
+ kemPublico: kem.publicKey,
83
+ algoritmo: ALGORITMO,
84
+ tipo,
85
+ fechaCreacion: Date.now(),
86
+ };
87
+ }
88
+ /**
89
+ * Garantiza que el keypair lleve un par ML-KEM utilizable.
90
+ *
91
+ * Un keypair restaurado de la serializacion legacy (escrita antes de que
92
+ * existiera ML-KEM) no tiene material KEM. En vez de dejar el cifrado
93
+ * indisponible, generamos un par KEM nuevo: se preserva la identidad de firma y,
94
+ * como el nodoId se deriva de la clave KEM, un nodo legacy reporta un id
95
+ * derivado distinto tras la migracion — que es exactamente lo que hace que la
96
+ * rotacion sea auditable y no silenciosa.
97
+ */
98
+ function conKem(keypair) {
99
+ if (keypair.kemPrivado && keypair.kemPublico)
100
+ return keypair;
101
+ const kem = ml_kem768.keygen();
102
+ return { ...keypair, kemPrivado: kem.secretKey, kemPublico: kem.publicKey };
103
+ }
104
+ // ─── NODO ID DERIVADO ──────────────────────────────────────────────────────
105
+ /**
106
+ * Deriva un identificador de nodo de forma determinista desde una clave publica
107
+ * ML-KEM-768.
108
+ *
109
+ * Esta es la correccion anti-suplantacion: un nodo no puede elegir, heredar ni
110
+ * adivinar el id de otro, porque el id *es* el hash de la clave que ese nodo debe
111
+ * presentar para probar posesion. Dos claves distintas nunca producen el mismo id
112
+ * con probabilidad significativa, y ninguna clave produce el id de otro.
113
+ *
114
+ * Formato: `mlkem<32 hex>` (primeros 16 bytes de SHA-256, con separacion de
115
+ * dominio).
116
+ */
117
+ export async function derivarNodoId(kemPublico) {
118
+ if (!(kemPublico instanceof Uint8Array) || kemPublico.length === 0) {
119
+ throw new TypeError("derivarNodoId: ML-KEM public key must be a non-empty Uint8Array");
120
+ }
121
+ const prefijo = new TextEncoder().encode(DOMINIO_NODO_ID);
122
+ const digest = await sha256(concatBytes(prefijo, kemPublico));
123
+ return `${PREFIJO_NODO_DERIVADO}${bytesAHex(digest.slice(0, BYTES_NODO_ID))}`;
124
+ }
125
+ /** True cuando `nodoId` tiene la forma de un id derivado. Filtro barato. */
126
+ export function esNodoIdDerivado(nodoId) {
127
+ return (nodoId.startsWith(PREFIJO_NODO_DERIVADO) &&
128
+ nodoId.length === PREFIJO_NODO_DERIVADO.length + BYTES_NODO_ID * 2);
129
+ }
130
+ /**
131
+ * Verifica que `nodoId` sea realmente el id derivado de la clave ML-KEM de este
132
+ * nodo.
133
+ *
134
+ * Nodos legacy (ids asignados antes de esta correccion, p. ej. `'doctor-01'`)
135
+ * devuelven `false` aqui y los maneja la ruta de migracion de abajo, no un
136
+ * rechazo.
137
+ */
138
+ export async function verificarNodoIdVinculado(nodoId, kemPublico) {
139
+ if (!esNodoIdDerivado(nodoId))
140
+ return false;
141
+ return (await derivarNodoId(kemPublico)) === nodoId;
142
+ }
143
+ /**
144
+ * Decide que hacer con un nodo id configurado antes de que existieran los ids
145
+ * derivados. **Nunca se sobrescribe nada en silencio.**
146
+ *
147
+ * - Id derivado que coincide con la clave → `vinculado`.
148
+ * - Id no derivado (libre) → `heredado`: el nodo sigue funcionando con su id
149
+ * configurado, y fijamos ese id en el almacen de confianza para que una
150
+ * rotacion posterior de identidad no pueda moverlo. `idEsperado` es el id
151
+ * derivado a adoptar cuando el nodo rote su clave.
152
+ * - Id con forma derivada que NO coincide con la clave → `conflicto`: eso es un
153
+ * intento de suplantacion (reclamar el id derivado de otro nodo), y el
154
+ * llamador debe negarse.
155
+ *
156
+ * @param permitirHeredado opt-in para nodos legacy. Los llamadores legacy que
157
+ * pasan un id configurado (la forma previa `createPostQuantumIdentity(nodoId)`)
158
+ * deben ponerlo en `true`; el default es `false`, es decir, fallar cerrado.
159
+ */
160
+ export async function evaluarVinculoNodoId(nodoId, kemPublico, permitirHeredado = false) {
161
+ const idEsperado = await derivarNodoId(kemPublico);
162
+ if (idEsperado === nodoId)
163
+ return { estado: "vinculado" };
164
+ if (esNodoIdDerivado(nodoId))
165
+ return { estado: "conflicto", idEsperado };
166
+ if (permitirHeredado)
167
+ return { estado: "heredado", idEsperado };
168
+ return { estado: "conflicto", idEsperado };
169
+ }
170
+ // ─── DERIVACION DE SECRETO COMPARTIDO ──────────────────────────────────────
171
+ /**
172
+ * Convierte un secreto compartido ML-KEM-768 en una clave simetrica de 32 bytes
173
+ * apta para AEAD (AES-GCM / ChaCha20-Poly1305).
174
+ *
175
+ * El secreto compartido crudo de ML-KEM son 32 bytes de material de clave;
176
+ * hashearlo con un separador de dominio evita que se use directamente como clave
177
+ * de AEAD sin este paso, y lo mantiene distinto de cualquier otro valor derivado.
178
+ *
179
+ * Exportado para la capa de cifrado: este es el unico lugar donde el secreto
180
+ * ML-KEM de un nodo se vuelve material de cifrado.
181
+ */
182
+ export async function derivarClaveSimetrica(sharedSecret) {
183
+ const prefijo = new TextEncoder().encode(DOMINIO_CLAVE_COMPARTIDA);
184
+ return sha256(concatBytes(prefijo, sharedSecret));
185
+ }
186
+ // ─── IDENTITY IMPLEMENTATION ───────────────────────────────────────────────
187
+ class PostQuantumIdentityImpl {
188
+ nodoId;
189
+ keypair;
190
+ constructor(nodoId, keypair) {
191
+ this.nodoId = nodoId;
192
+ this.keypair = conKem(keypair);
193
+ }
194
+ async firmar(datos) {
195
+ // @noble/post-quantum ML-DSA: sign(message, secretKey)
196
+ return ml_dsa65.sign(datos, this.keypair.parPrivado);
197
+ }
198
+ async verificar(datos, firma, parPublico) {
199
+ try {
200
+ // @noble/post-quantum ML-DSA: verify(signature, message, publicKey)
201
+ return ml_dsa65.verify(firma, datos, parPublico);
202
+ }
203
+ catch {
204
+ return false;
205
+ }
206
+ }
207
+ async sign(data) {
208
+ const bytes = new TextEncoder().encode(data);
209
+ const firmaBytes = await this.firmar(bytes);
210
+ return bytesAHex(firmaBytes);
211
+ }
212
+ async verify(data, signature, publicKey) {
213
+ try {
214
+ const bytes = new TextEncoder().encode(data);
215
+ const firmaBytes = hexABytes(signature);
216
+ return await this.verificar(bytes, firmaBytes, publicKey);
217
+ }
218
+ catch {
219
+ return false;
220
+ }
221
+ }
222
+ exportarPublico() {
223
+ return new Uint8Array(this.keypair.parPublico);
224
+ }
225
+ obtenerAlgoritmo() {
226
+ return this.keypair.algoritmo;
227
+ }
228
+ // ── ML-KEM-768: confidencialidad ──
229
+ kemPrivate() {
230
+ if (!this.keypair.kemPrivado)
231
+ throw new Error("ML-KEM decapsulation key missing");
232
+ return this.keypair.kemPrivado;
233
+ }
234
+ exportarKemPublico() {
235
+ if (!this.keypair.kemPublico)
236
+ throw new Error("ML-KEM encapsulation key missing");
237
+ return new Uint8Array(this.keypair.kemPublico);
238
+ }
239
+ /**
240
+ * Nuestra clave publica ML-KEM, recalculada desde la privada. Contrasta el par
241
+ * almacenado, de modo que una serializacion manipulada o incoherente se
242
+ * detecta antes de que alguien intente cifrar hacia nosotros.
243
+ */
244
+ obtenerKemPublico() {
245
+ return ml_kem768.getPublicKey(this.kemPrivate());
246
+ }
247
+ encapsular(kemPublicoReceptor) {
248
+ const { cipherText, sharedSecret } = ml_kem768.encapsulate(kemPublicoReceptor);
249
+ return { cipherText, claveCompartida: sharedSecret };
250
+ }
251
+ decapsular(cipherText) {
252
+ return ml_kem768.decapsulate(cipherText, this.kemPrivate());
253
+ }
254
+ async derivarClaveSimetricaDesde(cipherText) {
255
+ return derivarClaveSimetrica(this.decapsular(cipherText));
256
+ }
257
+ }
258
+ // ─── FACTORY ───────────────────────────────────────────────────────────────
259
+ /**
260
+ * Crea una identidad para un nodo.
261
+ *
262
+ * El argumento `nodoId` se conserva por compatibilidad de cable y almacen. Para
263
+ * nodos NUEVOS prefiere `crearIdentidadVinculada(keypair)`, que deriva el id de
264
+ * la clave ML-KEM para que no pueda suplantarse. Un `nodoId` pasado aqui es
265
+ * siempre un id legacy; llama a `evaluarVinculoNodoId` para comprobarlo y fija el
266
+ * resultado en el almacen de confianza.
267
+ */
268
+ export function createPostQuantumIdentity(nodoId, keypair) {
269
+ const kp = keypair ?? generateKeypair();
270
+ return new PostQuantumIdentityImpl(nodoId, kp);
271
+ }
272
+ /**
273
+ * Crea una identidad cuyo `nodoId` ES el hash de su propia clave publica
274
+ * ML-KEM-768. Este es el constructor recomendado: el nodo puede probar que posee
275
+ * el id y nadie mas puede acuñarlo.
276
+ *
277
+ * @throws si el `nodoId` del keypair (si lo hay) conflicto con el derivado — un
278
+ * id derivado reclamado que no coincide con la clave es un intento de
279
+ * suplantacion y no debe emparentarse.
280
+ */
281
+ export async function crearIdentidadVinculada(keypair) {
282
+ const kp = conKem(keypair ?? generateKeypair());
283
+ const nodoId = await derivarNodoId(kp.kemPublico);
284
+ return new PostQuantumIdentityImpl(nodoId, kp);
285
+ }
286
+ // ─── UTILITY ───────────────────────────────────────────────────────────────
287
+ /**
288
+ * Restaura una identidad desde un **keypair serializado** producido por
289
+ * `serializeKeypair`. Pasar solo una clave privada cruda e incoherente es
290
+ * inseguro y ya no se soporta.
291
+ *
292
+ * Para una identidad aleatoria nueva usa `createPostQuantumIdentity(nodoId)`, o
293
+ * `crearIdentidadVinculada()` para obtener un id que no se pueda suplantar.
294
+ */
295
+ export function identityFromSecret(nodoId, semilla, tipo = TIPO_IDENTIDAD.EPHEMERA) {
296
+ // Preferimos la ruta de deserializacion cuando los bytes parecen nuestro formato
297
+ // de serializacion (prefijos de longitud).
298
+ if (semilla.length >= 8) {
299
+ try {
300
+ const view = new DataView(semilla.buffer, semilla.byteOffset, semilla.byteLength);
301
+ const privLen = view.getUint32(0, true);
302
+ const pubLen = view.getUint32(4, true);
303
+ if (privLen > 0 &&
304
+ pubLen > 0 &&
305
+ 8 + privLen + pubLen === semilla.length) {
306
+ const parPrivado = semilla.slice(8, 8 + privLen);
307
+ const parPublico = semilla.slice(8 + privLen, 8 + privLen + pubLen);
308
+ return createPostQuantumIdentity(nodoId, {
309
+ parPrivado,
310
+ parPublico,
311
+ algoritmo: ALGORITMO,
312
+ tipo,
313
+ fechaCreacion: Date.now(),
314
+ });
315
+ }
316
+ // El layout v2 anade la clave de desencapsulacion ML-KEM tras las de firma.
317
+ if (semilla.length >= 12) {
318
+ const kemPrivLen = view.getUint32(8, true);
319
+ if (privLen > 0 &&
320
+ pubLen > 0 &&
321
+ kemPrivLen > 0 &&
322
+ 12 + privLen + pubLen + kemPrivLen === semilla.length) {
323
+ const parPrivado = semilla.slice(12, 12 + privLen);
324
+ const parPublico = semilla.slice(12 + privLen, 12 + privLen + pubLen);
325
+ const kemPrivado = semilla.slice(12 + privLen + pubLen);
326
+ return createPostQuantumIdentity(nodoId, {
327
+ parPrivado,
328
+ parPublico,
329
+ kemPrivado,
330
+ kemPublico: ml_kem768.getPublicKey(kemPrivado),
331
+ algoritmo: ALGORITMO,
332
+ tipo,
333
+ fechaCreacion: Date.now(),
334
+ });
335
+ }
336
+ }
337
+ }
338
+ catch {
339
+ // fall through
340
+ }
341
+ }
342
+ // Inseguro: clave privada propia sin clave publica que coincida. Se rechaza y
343
+ // se acuña un par coherente. Los llamadores que dependian de esta ruta deben
344
+ // migrar a serializeKeypair.
345
+ return createPostQuantumIdentity(nodoId, generateKeypair(tipo));
346
+ }
347
+ function bytesToBase64(bytes) {
348
+ // Chunk to avoid call-stack limits on large ML-DSA keys
349
+ let binary = "";
350
+ const chunk = 0x8000;
351
+ for (let i = 0; i < bytes.length; i += chunk) {
352
+ binary += String.fromCharCode(...bytes.subarray(i, i + chunk));
353
+ }
354
+ return btoa(binary);
355
+ }
356
+ function base64ToBytes(b64) {
357
+ const binary = atob(b64);
358
+ const out = new Uint8Array(binary.length);
359
+ for (let i = 0; i < binary.length; i++) {
360
+ out[i] = binary.charCodeAt(i);
361
+ }
362
+ return out;
363
+ }
364
+ export { base64ToBytes, bytesToBase64 };
365
+ /**
366
+ * Serializa un keypair a un unico string. Layout v2:
367
+ *
368
+ * u32 privLen | u32 pubLen | u32 kemPrivLen | priv | pub | kemPriv
369
+ *
370
+ * La clave publica ML-KEM NO se almacena: se recupera de `kemPriv` via
371
+ * `ml_kem768.getPublicKey`, de modo que las dos nunca pueden discrepar en disco.
372
+ *
373
+ * El layout v1 (solo claves de firma, 8 bytes de cabecera) sigue siendo legible:
374
+ * `deserializeKeypair` lo detecta y genera un par KEM nuevo, igual que
375
+ * `conKem`. Un despliegue existente no pierde su identidad de firma al migrar.
376
+ */
377
+ export function serializeKeypair(keypair) {
378
+ const kp = conKem(keypair);
379
+ const privLen = kp.parPrivado.length;
380
+ const pubLen = kp.parPublico.length;
381
+ const kemPrivLen = kp.kemPrivado.length;
382
+ const bytes = new Uint8Array(12 + privLen + pubLen + kemPrivLen);
383
+ const view = new DataView(bytes.buffer);
384
+ view.setUint32(0, privLen, true);
385
+ view.setUint32(4, pubLen, true);
386
+ view.setUint32(8, kemPrivLen, true);
387
+ bytes.set(kp.parPrivado, 12);
388
+ bytes.set(kp.parPublico, 12 + privLen);
389
+ bytes.set(kp.kemPrivado, 12 + privLen + pubLen);
390
+ return bytesToBase64(bytes);
391
+ }
392
+ export function deserializeKeypair(serializada) {
393
+ const raw = base64ToBytes(serializada);
394
+ const view = new DataView(raw.buffer, raw.byteOffset, raw.byteLength);
395
+ const privLen = view.getUint32(0, true);
396
+ const pubLen = view.getUint32(4, true);
397
+ // Layout v2 (con ML-KEM) o layout legacy v1 (solo claves de firma).
398
+ const kemPrivLen = raw.length >= 12 ? view.getUint32(8, true) : 0;
399
+ const tieneKem = kemPrivLen > 0 && 12 + privLen + pubLen + kemPrivLen === raw.length;
400
+ const base = tieneKem ? 12 : 8;
401
+ const parPrivado = raw.slice(base, base + privLen);
402
+ const parPublico = raw.slice(base + privLen, base + privLen + pubLen);
403
+ const kemPrivado = tieneKem ? raw.slice(base + privLen + pubLen) : undefined;
404
+ return {
405
+ parPrivado,
406
+ parPublico,
407
+ ...(kemPrivado
408
+ ? { kemPrivado, kemPublico: ml_kem768.getPublicKey(kemPrivado) }
409
+ : {}),
410
+ algoritmo: ALGORITMO,
411
+ tipo: TIPO_IDENTIDAD.EPHEMERA,
412
+ fechaCreacion: Date.now(),
413
+ };
414
+ }
415
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/identity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAK5D,8EAA8E;AAE9E,MAAM,SAAS,GAAG,WAAoB,CAAC;AACvC,MAAM,aAAa,GAAG,YAAqB,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,MAAM,eAAe,GAAG,4BAA4B,CAAC;AACrD,MAAM,wBAAwB,GAAG,qCAAqC,CAAC;AAEvE,uEAAuE;AACvE,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE7C,8EAA8E;AAC9E,MAAM,aAAa,GAAG,EAAE,CAAC;AAEzB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;CACX,CAAC;AAKX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACzB,KAAK,EAAE,SAAS;IAChB,GAAG,EAAE,aAAa;CACT,CAAC;AAkEX,+EAA+E;AAE/E,SAAS,WAAW,CAAC,GAAG,MAAoB;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChB,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,KAAiB;IACtC,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAClC,OAAO,IAAI,UAAU,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC9B,IAAI,GAAkB,cAAc,CAAC,QAAQ;IAE7C,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IAE/B,OAAO;QACN,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,UAAU,EAAE,GAAG,CAAC,SAAS;QACzB,SAAS,EAAE,SAAS;QACpB,IAAI;QACJ,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;KACzB,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,MAAM,CAAC,OAA2B;IAC1C,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU;QAAE,OAAO,OAAO,CAAC;IAC7D,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;AAC7E,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,UAAsB;IACzD,IAAI,CAAC,CAAC,UAAU,YAAY,UAAU,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,SAAS,CAClB,iEAAiE,CACjE,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9D,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,EAAY,CAAC;AACzF,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,OAAO,CACN,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC;QACxC,MAAM,CAAC,MAAM,KAAK,qBAAqB,CAAC,MAAM,GAAG,aAAa,GAAG,CAAC,CAClE,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC7C,MAAc,EACd,UAAsB;IAEtB,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,CAAC,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC,KAAK,MAAM,CAAC;AACrD,CAAC;AAYD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,MAAc,EACd,UAAsB,EACtB,gBAAgB,GAAG,KAAK;IAExB,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC1D,IAAI,gBAAgB,CAAC,MAAM,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;IACzE,IAAI,gBAAgB;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;AAC5C,CAAC;AAED,8EAA8E;AAE9E;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,YAAwB;IAExB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAE9E,MAAM,uBAAuB;IACnB,MAAM,CAAS;IACf,OAAO,CAAqB;IAErC,YAAY,MAAc,EAAE,OAA2B;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAiB;QAC7B,uDAAuD;QACvD,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS,CACd,KAAiB,EACjB,KAAiB,EACjB,UAAsB;QAEtB,IAAI,CAAC;YACJ,oEAAoE;YACpE,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY;QACtB,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CACX,IAAY,EACZ,SAAiB,EACjB,SAAqB;QAErB,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACxC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IAED,eAAe;QACd,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED,gBAAgB;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAC/B,CAAC;IAED,qCAAqC;IAE7B,UAAU;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IAChC,CAAC;IAED,kBAAkB;QACjB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU;YAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACrD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QAChB,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,UAAU,CAAC,kBAA8B;QACxC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GACjC,SAAS,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC;QAC3C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;IACtD,CAAC;IAED,UAAU,CAAC,UAAsB;QAChC,OAAO,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC/B,UAAsB;QAEtB,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IAC3D,CAAC;CACD;AAED,8EAA8E;AAE9E;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACxC,MAAc,EACd,OAA4B;IAE5B,MAAM,EAAE,GAAG,OAAO,IAAI,eAAe,EAAE,CAAC;IACxC,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC5C,OAA4B;IAE5B,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,eAAe,EAAE,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,EAAE,CAAC,UAAwB,CAAC,CAAC;IAChE,OAAO,IAAI,uBAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAAc,EACd,OAAmB,EACnB,IAAI,GAAkB,cAAc,CAAC,QAAQ;IAE7C,iFAAiF;IACjF,2CAA2C;IAC3C,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,IAAI,QAAQ,CACxB,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,UAAU,CAClB,CAAC;YACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACvC,IACC,OAAO,GAAG,CAAC;gBACX,MAAM,GAAG,CAAC;gBACV,CAAC,GAAG,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,EACtC,CAAC;gBACF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC;gBACjD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;gBACpE,OAAO,yBAAyB,CAAC,MAAM,EAAE;oBACxC,UAAU;oBACV,UAAU;oBACV,SAAS,EAAE,SAAS;oBACpB,IAAI;oBACJ,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;iBACzB,CAAC,CAAC;YACJ,CAAC;YACD,4EAA4E;YAC5E,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBAC3C,IACC,OAAO,GAAG,CAAC;oBACX,MAAM,GAAG,CAAC;oBACV,UAAU,GAAG,CAAC;oBACd,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,KAAK,OAAO,CAAC,MAAM,EACpD,CAAC;oBACF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;oBACnD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;oBACtE,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;oBACxD,OAAO,yBAAyB,CAAC,MAAM,EAAE;wBACxC,UAAU;wBACV,UAAU;wBACV,UAAU;wBACV,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC;wBAC9C,SAAS,EAAE,SAAS;wBACpB,IAAI;wBACJ,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;qBACzB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QAAC,MAAM,CAAC;YACR,eAAe;QAChB,CAAC;IACF,CAAC;IAED,8EAA8E;IAC9E,6EAA6E;IAC7E,6BAA6B;IAC7B,OAAO,yBAAyB,CAAC,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,aAAa,CAAC,KAAiB;IACvC,wDAAwD;IACxD,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,KAAK,GAAG,MAAM,CAAC;IACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC;AAExC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAA2B;IAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,OAAO,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACrC,MAAM,MAAM,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;IACpC,MAAM,UAAU,GAAI,EAAE,CAAC,UAAyB,CAAC,MAAM,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7B,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,UAAwB,EAAE,EAAE,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAC9D,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACrD,MAAM,GAAG,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEvC,oEAAoE;IACpE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,QAAQ,GACb,UAAU,GAAG,CAAC,IAAI,EAAE,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,KAAK,GAAG,CAAC,MAAM,CAAC;IACrE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE/B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO;QACN,UAAU;QACV,UAAU;QACV,GAAG,CAAC,UAAU;YACb,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE;YAChE,CAAC,CAAC,EAAE,CAAC;QACN,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE,cAAc,CAAC,QAAQ;QAC7B,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE;KACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,71 @@
1
+ export type { GpuKernelType, GpuTask, GpuTaskResult, } from "./adapters/gpu-agent/index.js";
2
+ export { GpuAgentPlugin, runCpuDot, runCpuMatrixScale, runCpuVectorSum, } from "./adapters/gpu-agent/index.js";
3
+ export type { AuthzEventMap, CapacidadEstandar } from "./authz/index.js";
4
+ export { CAPACIDAD_ESTANDAR, createNamespaceAuthorizer, NamespaceAuthorizer, } from "./authz/index.js";
5
+ export type { ChatEventMap, ChatMessage, ExamenEventMap, Mensaje, OfflineMessageQueue, Pregunta, TipoCanal, TipoMensajeChat, TipoPregunta, } from "./chat/index.js";
6
+ export { ChatChannel, ExamenCompartido, PersistentOfflineQueue, TIPO_CANAL, TIPO_MENSAJE_CHAT, TIPO_PREGUNTA, } from "./chat/index.js";
7
+ export type { EdgeMeshNode } from "./core/node.js";
8
+ export { createEdgeMeshNode, ESTADO_TRANSICIONES } from "./core/node.js";
9
+ export type { MutationGuardFn } from "./edge-mesh.js";
10
+ export { EdgeMesh, MUTATION_REVERT_ORIGIN, YjsAdapter } from "./edge-mesh.js";
11
+ export type { BandwidthTelemetry, GosBridgeConfig, NodeTelemetry, } from "./gos/GosBridge.js";
12
+ export { GosBridge } from "./gos/GosBridge.js";
13
+ export type { AuthorityEventMap, EstadoPropuesta, GovernanceEventMap, Propuesta, } from "./governance/index.js";
14
+ export { AuthorityManager, createAuthorityManager, createGovernanceManager, ESTADO_PROPUESTA, GovernanceManager, } from "./governance/index.js";
15
+ export type { PostQuantumIdentity, PostQuantumKeypair, TipoIdentidad, } from "./identity/index.js";
16
+ export { createPostQuantumIdentity, deserializeKeypair, generateKeypair, identityFromSecret, serializeKeypair, TIPO_IDENTIDAD, } from "./identity/index.js";
17
+ export type { MalocaBackofficeOptions } from "./maloca/backoffice.js";
18
+ export { MalocaBackoffice } from "./maloca/backoffice.js";
19
+ export type { EventoMaloca, TipoEventoMaloca } from "./maloca/event-bus.js";
20
+ export { EventBus, TIPO_EVENTO_MALOCA } from "./maloca/event-bus.js";
21
+ export type { Evidentia, EvidentiaFirmada, Procedencia, VerificacionEvidencia, } from "./maloca/evidentia.js";
22
+ export { canonicalEvidentiaBytes, cuerpoFirmado, EvidentiaManager, } from "./maloca/evidentia.js";
23
+ export type { MotivoRechazo } from "./maloca/karma.js";
24
+ export { DELTA_MAX_ABS, FACTOR_DECAY_MIN, KarmaManager, } from "./maloca/karma.js";
25
+ export { MalocaKernel } from "./maloca/kernel.js";
26
+ export { MetadataManager } from "./maloca/metadata.js";
27
+ export type { Perfil } from "./maloca/perfil.js";
28
+ export { ProfileManager } from "./maloca/perfil.js";
29
+ export type { EstadoPlugin, PluginInfo, TipoPlugin, } from "./maloca/plugin-registry.js";
30
+ export { PluginRegistry } from "./maloca/plugin-registry.js";
31
+ export type { Karma, MetadatosCompartidos, PerfilHumano, PerfilServicio, TransaccionKarma, } from "./maloca/types.js";
32
+ export type { EstrategiaFanOut, GossipMessage, MeshConfig, MeshEventMap, PeerInfo, } from "./mesh/index.js";
33
+ export { ESTRATEGIA_FAN_OUT, MeshManager } from "./mesh/index.js";
34
+ export type { DataOffer, NamespaceEventMap, OffersGossipConfig, } from "./namespaces/index.js";
35
+ export { getOfferSigningString, NAMESPACE_POR_DEFECTO, NamespaceManager, namespacesAreIsolated, OFFERS_TOPIC, OffersGossip, parseSwalNamespace, SWAL_DATA_COMMONS_OFFERS, swalNamespace, } from "./namespaces/index.js";
36
+ export type { MemoryEvent, MemoryKind, MemoryRecord, NodeMemory, NodeMemoryOptions, } from "./node-memory/index.js";
37
+ export { createNodeMemory } from "./node-memory/index.js";
38
+ export type { OpLogConfig, OpLogEventMap } from "./op-log/index.js";
39
+ export { OpLog } from "./op-log/index.js";
40
+ export type { HealthCheckerConfig, HealthEventMap } from "./presence/health.js";
41
+ export { HealthChecker } from "./presence/health.js";
42
+ export type { PresenceEventMap, PresenceManagerConfig, } from "./presence/index.js";
43
+ export { MeshPresence, PresenceManager } from "./presence/index.js";
44
+ export type { PeerHealthMonitor, PeerHealthMonitorOptions, PeerHealthState, PeerHealthStatus, ReconnectDelayOptions, } from "./presence/peer-health.js";
45
+ export { createPeerHealthMonitor, getReconnectDelay, } from "./presence/peer-health.js";
46
+ export { canonicalStringify } from "./protocol/canonical.js";
47
+ export type { DeduplicatorConfig } from "./protocol/index.js";
48
+ export { canonicalEnvelopeBytes, createEnvelope, MessageDeduplicator, signEnvelope, validateEnvelope, verifyEnvelopeSignature, } from "./protocol/index.js";
49
+ export { bytesAHex, generarId, generarNonce, hexABytes, } from "./protocol/utils.js";
50
+ export type { EstadoSalon, SalonConfig, SalonEventMap, SalonInfo, TipoSalon, } from "./salones/manager.js";
51
+ export { ESTADO_SALON, SalonesManager, SalonVirtual, TIPO_SALON, } from "./salones/manager.js";
52
+ export type { SnapshotEventMap, SnapshotManagerConfig, SnapshotMetadata, } from "./snapshot/index.js";
53
+ export { createSnapshotManager, SnapshotManager, } from "./snapshot/index.js";
54
+ export type { IStorage, StorageManagerConfig } from "./storage/index.js";
55
+ export { InMemoryStorage, StorageError, StorageManager, YDocPersistence, type YDocPersistenceOptions, } from "./storage/index.js";
56
+ export type { SyncDirection, SyncEngineConfig, SyncEngineEventMap, SyncResult, } from "./sync/engine.js";
57
+ export { SyncEngine } from "./sync/engine.js";
58
+ export { MemoryTransport } from "./transport/memory.js";
59
+ export type { PeerJSTransportOptions, TransportEventMap, } from "./transport/peerjs.js";
60
+ export { PeerJSTransport } from "./transport/peerjs.js";
61
+ export type { ParsedRelayConfig } from "./transport/relay-config.js";
62
+ export { getRelayConfig, parseRelayUrl, resolveRelayUrl, } from "./transport/relay-config.js";
63
+ export type { IceServerConfig, RelayServerOptions, } from "./transport/relay-server.js";
64
+ export { RelayServer } from "./transport/relay-server.js";
65
+ export type { TorTransportAdapterOptions } from "./transport/TorTransportAdapter.js";
66
+ export { TorTransportAdapter } from "./transport/TorTransportAdapter.js";
67
+ export type { TorConfig } from "./transport/tor.js";
68
+ export { generateTorrc, getTorDataDir, TorOnionTransport, } from "./transport/tor.js";
69
+ export type { ITransport } from "./transport/types.js";
70
+ export * from "./types/index.js";
71
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,56 @@
1
+ // ─── EDGE MESH ─────────────────────────────────────────────────────────────
2
+ // Re-export completo de todo el paquete
3
+ export { GpuAgentPlugin, runCpuDot, runCpuMatrixScale, runCpuVectorSum, } from "./adapters/gpu-agent/index.js";
4
+ // ─── AUTHZ ────────────────────────────────────────────────────────────────
5
+ export { CAPACIDAD_ESTANDAR, createNamespaceAuthorizer, NamespaceAuthorizer, } from "./authz/index.js";
6
+ // ─── CHAT P2P ─────────────────────────────────────────────────────────────
7
+ export { ChatChannel, ExamenCompartido, PersistentOfflineQueue, TIPO_CANAL, TIPO_MENSAJE_CHAT, TIPO_PREGUNTA, } from "./chat/index.js";
8
+ export { createEdgeMeshNode, ESTADO_TRANSICIONES } from "./core/node.js";
9
+ // ─── CORE ─────────────────────────────────────────────────────────────────
10
+ export { EdgeMesh, MUTATION_REVERT_ORIGIN, YjsAdapter } from "./edge-mesh.js";
11
+ export { GosBridge } from "./gos/GosBridge.js";
12
+ // ─── GOVERNANCE ───────────────────────────────────────────────────────────
13
+ export { AuthorityManager, createAuthorityManager, createGovernanceManager, ESTADO_PROPUESTA, GovernanceManager, } from "./governance/index.js";
14
+ // ─── IDENTITY ─────────────────────────────────────────────────────────────
15
+ export { createPostQuantumIdentity, deserializeKeypair, generateKeypair, identityFromSecret, serializeKeypair, TIPO_IDENTIDAD, } from "./identity/index.js";
16
+ export { MalocaBackoffice } from "./maloca/backoffice.js";
17
+ export { EventBus, TIPO_EVENTO_MALOCA } from "./maloca/event-bus.js";
18
+ export { canonicalEvidentiaBytes, cuerpoFirmado, EvidentiaManager, } from "./maloca/evidentia.js";
19
+ export { DELTA_MAX_ABS, FACTOR_DECAY_MIN, KarmaManager, } from "./maloca/karma.js";
20
+ export { MalocaKernel } from "./maloca/kernel.js";
21
+ export { MetadataManager } from "./maloca/metadata.js";
22
+ export { ProfileManager } from "./maloca/perfil.js";
23
+ // ─── MALOCA ───────────────────────────────────────────────────────────────
24
+ export { PluginRegistry } from "./maloca/plugin-registry.js";
25
+ // ─── MESH ESCALABLE ───────────────────────────────────────────────────────
26
+ export { ESTRATEGIA_FAN_OUT, MeshManager } from "./mesh/index.js";
27
+ // ─── NAMESPACES ───────────────────────────────────────────────────────────
28
+ export { getOfferSigningString, NAMESPACE_POR_DEFECTO, NamespaceManager, namespacesAreIsolated, OFFERS_TOPIC, OffersGossip, parseSwalNamespace, SWAL_DATA_COMMONS_OFFERS, swalNamespace, } from "./namespaces/index.js";
29
+ export { createNodeMemory } from "./node-memory/index.js";
30
+ // ─── OP LOG ───────────────────────────────────────────────────────────────
31
+ export { OpLog } from "./op-log/index.js";
32
+ // ─── PRESENCE ─────────────────────────────────────────────────────────────
33
+ export { HealthChecker } from "./presence/health.js";
34
+ export { MeshPresence, PresenceManager } from "./presence/index.js";
35
+ export { createPeerHealthMonitor, getReconnectDelay, } from "./presence/peer-health.js";
36
+ // ─── PROTOCOL ─────────────────────────────────────────────────────────────
37
+ export { canonicalStringify } from "./protocol/canonical.js";
38
+ export { canonicalEnvelopeBytes, createEnvelope, MessageDeduplicator, signEnvelope, validateEnvelope, verifyEnvelopeSignature, } from "./protocol/index.js";
39
+ export { bytesAHex, generarId, generarNonce, hexABytes, } from "./protocol/utils.js";
40
+ // ─── SALONES VIRTUALES ────────────────────────────────────────────────────
41
+ export { ESTADO_SALON, SalonesManager, SalonVirtual, TIPO_SALON, } from "./salones/manager.js";
42
+ // ─── SNAPSHOT ─────────────────────────────────────────────────────────────
43
+ export { createSnapshotManager, SnapshotManager, } from "./snapshot/index.js";
44
+ // ─── STORAGE ──────────────────────────────────────────────────────────────
45
+ export { InMemoryStorage, StorageError, StorageManager, YDocPersistence, } from "./storage/index.js";
46
+ // ─── SYNC ─────────────────────────────────────────────────────────────────
47
+ export { SyncEngine } from "./sync/engine.js";
48
+ export { MemoryTransport } from "./transport/memory.js";
49
+ export { PeerJSTransport } from "./transport/peerjs.js";
50
+ export { getRelayConfig, parseRelayUrl, resolveRelayUrl, } from "./transport/relay-config.js";
51
+ export { RelayServer } from "./transport/relay-server.js";
52
+ export { TorTransportAdapter } from "./transport/TorTransportAdapter.js";
53
+ export { generateTorrc, getTorDataDir, TorOnionTransport, } from "./transport/tor.js";
54
+ // ─── TYPES ────────────────────────────────────────────────────────────────
55
+ export * from "./types/index.js";
56
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { EdgeMesh } from "../edge-mesh.js";
2
+ import { type NodeMemory } from "../node-memory/index.js";
3
+ export interface MalocaBackofficeOptions {
4
+ mesh: EdgeMesh;
5
+ instanceId: string;
6
+ xavierUrl?: string;
7
+ xavierToken?: string;
8
+ ttlMs?: number;
9
+ }
10
+ /**
11
+ * Maloca Backoffice unificado que adopta edge-mesh, Xavier y node-memory.
12
+ */
13
+ export declare class MalocaBackoffice {
14
+ readonly mesh: EdgeMesh;
15
+ readonly nodeMemory: NodeMemory;
16
+ readonly instanceId: string;
17
+ constructor(opts: MalocaBackofficeOptions);
18
+ /**
19
+ * Persiste una sesión o decisión como un documento Y.Doc
20
+ */
21
+ registrarSesion(doc: any, tipo?: string): Promise<void>;
22
+ /**
23
+ * Guarda una decisión o evento semántico en la memoria del agente (Xavier)
24
+ */
25
+ registrarDecision(descripcion: string, titulo: string): Promise<void>;
26
+ /**
27
+ * Recupera RAG/decisiones desde Xavier
28
+ */
29
+ buscarDecisiones(query: string, limit?: number): Promise<any[]>;
30
+ }
31
+ //# sourceMappingURL=backoffice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backoffice.d.ts","sourceRoot":"","sources":["../../src/maloca/backoffice.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAE5E,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAE5B,YAAY,IAAI,EAAE,uBAAuB,EAYxC;IAED;;OAEG;IACG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,SAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;IAED;;OAEG;IACG,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE1E;IAED;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAMpE;CACD"}