@swal/edge-mesh 0.0.0-stage → 0.1.0

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 +154 -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 +176 -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 +50 -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 +45 -0
  313. package/dist/transport/peerjs.d.ts.map +1 -0
  314. package/dist/transport/peerjs.js +301 -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 +230 -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 +138 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/protocol/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { PostQuantumIdentity } from "../identity/index.js";
2
+ import type { Envolvente, NodoId, ParPublico, TipoMensaje } from "../types/index.js";
3
+ export type { ClavesSesion, Direccion, HandshakeSesion, MedicionOverhead, PayloadCifrado, SesionCifrada, } from "./crypto.js";
4
+ export { ALGORITMO_CIFRADO, abrirPayload, aceptarSesionCifrada, BYTES_CIPHERTEXT_KEM_768, cifrarPayload, cifrarYSiguiente, DIRECCION, derivarClavesSesion, derivarClavesSesionAsync, derivarNonce, ErrorPayloadCifrado, ErrorReplayDetectado, ErrorReusoDeNonce, esEnvolventeCifrado, GuardiaReplay, iniciarSesionCifrada, MAX_MENSAJES_POR_SESION, marcarEnviado, medirOverhead, rotarSesion, VERSION_PAYLOAD_CIFRADO, } from "./crypto.js";
5
+ export declare function createEnvelope(tipo: TipoMensaje, origen: NodoId, destino: NodoId | "*", payload: unknown, firma?: Uint8Array | null): Envolvente;
6
+ export declare function validateEnvelope(env: Envolvente): boolean;
7
+ /**
8
+ * Canonical bytes used for ML-DSA sign/verify (excludes `firma`).
9
+ * Payload is JSON-stringified; Uint8Array fields must be pre-encoded by callers.
10
+ */
11
+ export declare function canonicalEnvelopeBytes(env: Envolvente): Uint8Array;
12
+ export declare function signEnvelope(env: Envolvente, identity: PostQuantumIdentity): Promise<Envolvente>;
13
+ export declare function verifyEnvelopeSignature(env: Envolvente, parPublico: ParPublico, identity: PostQuantumIdentity): Promise<boolean>;
14
+ export interface DeduplicatorConfig {
15
+ readonly ventanaMs: number;
16
+ readonly maxEntradas: number;
17
+ }
18
+ export declare class MessageDeduplicator {
19
+ private readonly vistos;
20
+ private readonly config;
21
+ constructor(config?: Partial<DeduplicatorConfig>);
22
+ esDuplicado(env: Envolvente): boolean;
23
+ private limpiar;
24
+ obtenerEstadisticas(): {
25
+ readonly total: number;
26
+ readonly ventanaMs: number;
27
+ };
28
+ reiniciar(): void;
29
+ }
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,KAAK,EACX,UAAU,EACV,MAAM,EACN,UAAU,EACV,WAAW,EACX,MAAM,mBAAmB,CAAC;AAY3B,YAAY,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,aAAa,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,wBAAwB,EACxB,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,WAAW,EACX,uBAAuB,GACvB,MAAM,aAAa,CAAC;AAqBrB,wBAAgB,cAAc,CAC7B,IAAI,EAAE,WAAW,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GAAG,GAAG,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,GAAE,UAAU,GAAG,IAAW,GAC7B,UAAU,CAYZ;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAUzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,GAAG,UAAU,CAYlE;AAED,wBAAsB,YAAY,CACjC,GAAG,EAAE,UAAU,EACf,QAAQ,EAAE,mBAAmB,GAC3B,OAAO,CAAC,UAAU,CAAC,CAGrB;AAED,wBAAsB,uBAAuB,CAC5C,GAAG,EAAE,UAAU,EACf,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,mBAAmB,GAC3B,OAAO,CAAC,OAAO,CAAC,CAGlB;AAID,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC7B;AAOD,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqB;IAE5C,YAAY,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM,EAGnD;IAED,WAAW,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAYpC;IAED,OAAO,CAAC,OAAO;IAWf,mBAAmB,IAAI;QACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC3B,CAKA;IAED,SAAS,IAAI,IAAI,CAEhB;CACD"}
@@ -0,0 +1,116 @@
1
+ import { TIPO_MENSAJE } from "../types/index.js";
2
+ export { ALGORITMO_CIFRADO, abrirPayload, aceptarSesionCifrada, BYTES_CIPHERTEXT_KEM_768, cifrarPayload, cifrarYSiguiente, DIRECCION, derivarClavesSesion, derivarClavesSesionAsync, derivarNonce, ErrorPayloadCifrado, ErrorReplayDetectado, ErrorReusoDeNonce, esEnvolventeCifrado, GuardiaReplay, iniciarSesionCifrada, MAX_MENSAJES_POR_SESION, marcarEnviado, medirOverhead, rotarSesion, VERSION_PAYLOAD_CIFRADO, } from "./crypto.js";
3
+ // ─── ENVELOPE CREATION ─────────────────────────────────────────────────────
4
+ let contadorGlobal = 0;
5
+ function generarId() {
6
+ const ts = Date.now().toString(36);
7
+ const rand = Math.random().toString(36).slice(2, 8);
8
+ const seq = (contadorGlobal++).toString(36);
9
+ return `${ts}-${rand}-${seq}`;
10
+ }
11
+ function generarNonce() {
12
+ const buf = new Uint8Array(16);
13
+ crypto.getRandomValues(buf);
14
+ return Array.from(buf)
15
+ .map((b) => b.toString(36).padStart(2, "0"))
16
+ .join("");
17
+ }
18
+ export function createEnvelope(tipo, origen, destino, payload, firma = null) {
19
+ return {
20
+ id: generarId(),
21
+ tipo,
22
+ origen,
23
+ destino,
24
+ timestamp: Date.now(),
25
+ firma,
26
+ payload,
27
+ version: 1,
28
+ nonce: generarNonce(),
29
+ };
30
+ }
31
+ export function validateEnvelope(env) {
32
+ if (!env.id || typeof env.id !== "string")
33
+ return false;
34
+ if (!env.tipo || !Object.values(TIPO_MENSAJE).includes(env.tipo))
35
+ return false;
36
+ if (!env.origen || typeof env.origen !== "string")
37
+ return false;
38
+ if (!env.destino || typeof env.destino !== "string")
39
+ return false;
40
+ if (typeof env.timestamp !== "number" || env.timestamp <= 0)
41
+ return false;
42
+ if (env.version < 1)
43
+ return false;
44
+ if (!env.nonce || typeof env.nonce !== "string")
45
+ return false;
46
+ return true;
47
+ }
48
+ /**
49
+ * Canonical bytes used for ML-DSA sign/verify (excludes `firma`).
50
+ * Payload is JSON-stringified; Uint8Array fields must be pre-encoded by callers.
51
+ */
52
+ export function canonicalEnvelopeBytes(env) {
53
+ const body = JSON.stringify({
54
+ id: env.id,
55
+ tipo: env.tipo,
56
+ origen: env.origen,
57
+ destino: env.destino,
58
+ timestamp: env.timestamp,
59
+ payload: env.payload,
60
+ version: env.version,
61
+ nonce: env.nonce,
62
+ });
63
+ return new TextEncoder().encode(body);
64
+ }
65
+ export async function signEnvelope(env, identity) {
66
+ const firma = await identity.firmar(canonicalEnvelopeBytes(env));
67
+ return { ...env, firma };
68
+ }
69
+ export async function verifyEnvelopeSignature(env, parPublico, identity) {
70
+ if (!env.firma || env.firma.length === 0)
71
+ return false;
72
+ return identity.verificar(canonicalEnvelopeBytes(env), env.firma, parPublico);
73
+ }
74
+ const CONFIG_POR_DEFECTO = {
75
+ ventanaMs: 5_000,
76
+ maxEntradas: 10_000,
77
+ };
78
+ export class MessageDeduplicator {
79
+ vistos;
80
+ config;
81
+ constructor(config = {}) {
82
+ this.vistos = new Map();
83
+ this.config = { ...CONFIG_POR_DEFECTO, ...config };
84
+ }
85
+ esDuplicado(env) {
86
+ const ahora = Date.now();
87
+ const clave = `${env.id}:${env.origen}`;
88
+ const visto = this.vistos.get(clave);
89
+ if (visto !== undefined && ahora - visto < this.config.ventanaMs) {
90
+ return true;
91
+ }
92
+ this.vistos.set(clave, ahora);
93
+ this.limpiar(ahora);
94
+ return false;
95
+ }
96
+ limpiar(ahora) {
97
+ if (this.vistos.size >= this.config.maxEntradas) {
98
+ const limite = ahora - this.config.ventanaMs;
99
+ for (const [clave, ts] of this.vistos) {
100
+ if (ts < limite) {
101
+ this.vistos.delete(clave);
102
+ }
103
+ }
104
+ }
105
+ }
106
+ obtenerEstadisticas() {
107
+ return {
108
+ total: this.vistos.size,
109
+ ventanaMs: this.config.ventanaMs,
110
+ };
111
+ }
112
+ reiniciar() {
113
+ this.vistos.clear();
114
+ }
115
+ }
116
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/protocol/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function generarNonce(): string;
2
+ export declare function generarId(): string;
3
+ export declare function bytesAHex(bytes: Uint8Array): string;
4
+ export declare function hexABytes(hex: string): Uint8Array;
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/protocol/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,YAAY,IAAI,MAAM,CAMrC;AAED,wBAAgB,SAAS,IAAI,MAAM,CAIlC;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAInD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAOjD"}
@@ -0,0 +1,27 @@
1
+ // ─── CRYPTO UTILITIES ──────────────────────────────────────────────────────
2
+ export function generarNonce() {
3
+ const buf = new Uint8Array(16);
4
+ crypto.getRandomValues(buf);
5
+ return Array.from(buf)
6
+ .map((b) => b.toString(36).padStart(2, "0"))
7
+ .join("");
8
+ }
9
+ export function generarId() {
10
+ const ts = Date.now().toString(36);
11
+ const rand = Math.random().toString(36).slice(2, 8);
12
+ return `${ts}-${rand}`;
13
+ }
14
+ export function bytesAHex(bytes) {
15
+ return Array.from(bytes)
16
+ .map((b) => b.toString(16).padStart(2, "0"))
17
+ .join("");
18
+ }
19
+ export function hexABytes(hex) {
20
+ const limpio = hex.replace(/[^0-9a-fA-F]/g, "");
21
+ const bytes = new Uint8Array(limpio.length / 2);
22
+ for (let i = 0; i < bytes.length; i++) {
23
+ bytes[i] = Number.parseInt(limpio.slice(i * 2, i * 2 + 2), 16);
24
+ }
25
+ return bytes;
26
+ }
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/protocol/utils.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,MAAM,UAAU,YAAY;IAC3B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,SAAS;IACxB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB;IAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW;IACpC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { ChatChannel, type Mensaje } from "../chat/index.js";
2
+ import type { EdgeMesh, YjsAdapter } from "../edge-mesh.js";
3
+ import type { NodoId } from "../types/index.js";
4
+ export declare const TIPO_SALON: {
5
+ readonly EXAMEN: "examen";
6
+ readonly REUNION: "reunion";
7
+ readonly CHAT: "chat";
8
+ };
9
+ export type TipoSalon = (typeof TIPO_SALON)[keyof typeof TIPO_SALON];
10
+ export declare const ESTADO_SALON: {
11
+ readonly CREANDO: "creando";
12
+ readonly ACTIVO: "activo";
13
+ readonly CERRADO: "cerrado";
14
+ };
15
+ export type EstadoSalon = (typeof ESTADO_SALON)[keyof typeof ESTADO_SALON];
16
+ export interface SalonConfig {
17
+ readonly creatorId: NodoId;
18
+ readonly nombre: string;
19
+ readonly tipo: TipoSalon;
20
+ readonly maxParticipantes: number;
21
+ readonly yjsAdapter: YjsAdapter;
22
+ readonly edgeMesh: EdgeMesh;
23
+ }
24
+ export interface SalonInfo {
25
+ readonly id: string;
26
+ readonly nombre: string;
27
+ readonly tipo: TipoSalon;
28
+ readonly creador: NodoId;
29
+ readonly fechaCreacion: number;
30
+ readonly estado: EstadoSalon;
31
+ readonly participantes: readonly string[];
32
+ readonly maxParticipantes: number;
33
+ }
34
+ export interface SalonEventMap {
35
+ participanteUnido: CustomEvent<{
36
+ readonly salonId: string;
37
+ readonly participanteId: string;
38
+ }>;
39
+ participanteSalio: CustomEvent<{
40
+ readonly salonId: string;
41
+ readonly participanteId: string;
42
+ }>;
43
+ mensaje: CustomEvent<{
44
+ readonly salonId: string;
45
+ readonly mensaje: Mensaje;
46
+ }>;
47
+ contenidoSincronizado: CustomEvent<{
48
+ readonly salonId: string;
49
+ readonly docId: string;
50
+ }>;
51
+ estadoCambiado: CustomEvent<{
52
+ readonly salonId: string;
53
+ readonly estado: EstadoSalon;
54
+ }>;
55
+ error: CustomEvent<{
56
+ readonly salonId: string;
57
+ readonly mensaje: string;
58
+ readonly error?: Error;
59
+ }>;
60
+ }
61
+ export declare class SalonVirtual extends EventTarget {
62
+ readonly id: string;
63
+ readonly config: SalonConfig;
64
+ readonly edgeMesh: EdgeMesh;
65
+ readonly yjsAdapter: YjsAdapter;
66
+ readonly chatChannel: ChatChannel;
67
+ private _estado;
68
+ private readonly salonDoc;
69
+ private readonly salonMap;
70
+ private readonly salonParticipantes;
71
+ private readonly salonContenido;
72
+ constructor(config: SalonConfig);
73
+ private notificarParticipantes;
74
+ unirse(participanteId: NodoId): Promise<void>;
75
+ abandonar(participanteId: NodoId): Promise<void>;
76
+ obtenerParticipantes(): Promise<readonly string[]>;
77
+ enviarMensaje(texto: string): Promise<void>;
78
+ cerrar(): Promise<void>;
79
+ compartirContenido(clave: string, valor: unknown): Promise<void>;
80
+ obtenerContenido(): Promise<ReadonlyMap<string, unknown>>;
81
+ obtenerEstado(): EstadoSalon;
82
+ obtenerInfo(): SalonInfo;
83
+ }
84
+ export declare class SalonesManager {
85
+ private readonly edgeMesh;
86
+ private readonly salones;
87
+ private readonly creadorPorSalon;
88
+ private readonly yjsAdapter;
89
+ constructor(edgeMesh: EdgeMesh);
90
+ crearSalon(nombre: string, tipo?: TipoSalon, maxParticipantes?: number): Promise<SalonVirtual>;
91
+ unirseSalon(salonId: string): Promise<SalonVirtual>;
92
+ abandonarSalon(salonId: string): Promise<void>;
93
+ cerrarSalon(salonId: string): Promise<void>;
94
+ listarSalones(): readonly SalonVirtual[];
95
+ obtenerSalon(salonId: string): SalonVirtual | null;
96
+ obtenerSalonesActivos(): readonly SalonVirtual[];
97
+ obtenerTotalSalones(): number;
98
+ cerrarTodosLosSalones(): Promise<void>;
99
+ }
100
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/salones/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,240 @@
1
+ // ─── SALON VIRTUAL ───────────────────────────────────────────────────────
2
+ // Un salón virtual es un namespace + canal de chat + Yjs doc compartido.
3
+ // Todo sincronizado en el mesh. Escalable a 50+ personas gracias al
4
+ // fan-out limitado del mesh manager.
5
+ import * as Y from "yjs";
6
+ import { ChatChannel, TIPO_CANAL } from "../chat/index.js";
7
+ import { generarId } from "../protocol/utils.js";
8
+ // ─── CONST OBJECT PATTERNS ────────────────────────────────────────────────
9
+ export const TIPO_SALON = {
10
+ EXAMEN: "examen",
11
+ REUNION: "reunion",
12
+ CHAT: "chat",
13
+ };
14
+ export const ESTADO_SALON = {
15
+ CREANDO: "creando",
16
+ ACTIVO: "activo",
17
+ CERRADO: "cerrado",
18
+ };
19
+ // ─── SALON VIRTUAL ────────────────────────────────────────────────────────
20
+ export class SalonVirtual extends EventTarget {
21
+ id;
22
+ config;
23
+ edgeMesh;
24
+ yjsAdapter;
25
+ chatChannel;
26
+ _estado = ESTADO_SALON.CREANDO;
27
+ salonDoc;
28
+ salonMap;
29
+ salonParticipantes;
30
+ salonContenido;
31
+ constructor(config) {
32
+ super();
33
+ this.id = generarId();
34
+ this.config = config;
35
+ this.edgeMesh = config.edgeMesh;
36
+ this.yjsAdapter = config.yjsAdapter;
37
+ this.salonDoc = new Y.Doc();
38
+ // Crear tipos Yjs para el salón
39
+ this.salonMap = this.salonDoc.getMap(`salon:${this.id}:info`);
40
+ this.salonParticipantes = this.salonDoc.getArray(`salon:${this.id}:participantes`);
41
+ this.salonContenido = this.salonDoc.getMap(`salon:${this.id}:contenido`);
42
+ // Crear canal de chat propio del salón
43
+ this.chatChannel = new ChatChannel(config.creatorId, `salon:${this.id}`, this.yjsAdapter, TIPO_CANAL.SALON_VIRTUAL, config.edgeMesh.offlineQueue);
44
+ // Inicializar metadata del salón
45
+ Y.transact(this.salonDoc, () => {
46
+ this.salonMap.set("id", this.id);
47
+ this.salonMap.set("nombre", config.nombre);
48
+ this.salonMap.set("tipo", config.tipo);
49
+ this.salonMap.set("creador", config.creatorId);
50
+ this.salonMap.set("fechaCreacion", Date.now());
51
+ this.salonMap.set("estado", ESTADO_SALON.ACTIVO);
52
+ this.salonMap.set("maxParticipantes", config.maxParticipantes);
53
+ });
54
+ // Re-enviar eventos del chat
55
+ this.chatChannel.addEventListener("mensaje", ((ev) => {
56
+ const customEv = ev;
57
+ this.dispatchEvent(new CustomEvent("mensaje", {
58
+ detail: { salonId: this.id, mensaje: customEv.detail.mensaje },
59
+ }));
60
+ }));
61
+ // Observar cambios en participantes
62
+ this.salonParticipantes.observe(() => {
63
+ void this.notificarParticipantes();
64
+ });
65
+ this._estado = ESTADO_SALON.ACTIVO;
66
+ }
67
+ async notificarParticipantes() {
68
+ const participantes = this.salonParticipantes.toArray();
69
+ // El ChatChannel ya maneja los eventos usuarioConectado/usuarioDesconectado
70
+ }
71
+ // ─── METODOS PUBLICOS ────────────────────────────────────────────────
72
+ async unirse(participanteId) {
73
+ if (this._estado !== ESTADO_SALON.ACTIVO) {
74
+ throw new Error(`Salon ${this.id} no esta activo (estado: ${this._estado})`);
75
+ }
76
+ const participantes = this.salonParticipantes.toArray();
77
+ if (participantes.length >= this.config.maxParticipantes) {
78
+ throw new Error(`Salon ${this.id} ha alcanzado el maximo de ${this.config.maxParticipantes} participantes`);
79
+ }
80
+ if (participantes.includes(participanteId))
81
+ return; // Ya unido
82
+ Y.transact(this.salonDoc, () => {
83
+ this.salonParticipantes.push([participanteId]);
84
+ });
85
+ // Unir al canal de chat del salón
86
+ await this.chatChannel.unirseAlCanal();
87
+ this.dispatchEvent(new CustomEvent("participanteUnido", {
88
+ detail: { salonId: this.id, participanteId },
89
+ }));
90
+ // Notificar sincronización de contenido
91
+ this.dispatchEvent(new CustomEvent("contenidoSincronizado", {
92
+ detail: { salonId: this.id, docId: `salon:${this.id}` },
93
+ }));
94
+ }
95
+ async abandonar(participanteId) {
96
+ const idx = this.salonParticipantes.toArray().indexOf(participanteId);
97
+ if (idx !== -1) {
98
+ Y.transact(this.salonDoc, () => {
99
+ this.salonParticipantes.delete(idx, 1);
100
+ });
101
+ }
102
+ await this.chatChannel.abandonarCanal();
103
+ this.dispatchEvent(new CustomEvent("participanteSalio", {
104
+ detail: { salonId: this.id, participanteId },
105
+ }));
106
+ }
107
+ async obtenerParticipantes() {
108
+ return this.salonParticipantes.toArray();
109
+ }
110
+ async enviarMensaje(texto) {
111
+ await this.chatChannel.enviarMensaje(texto);
112
+ }
113
+ async cerrar() {
114
+ this._estado = ESTADO_SALON.CERRADO;
115
+ Y.transact(this.salonDoc, () => {
116
+ this.salonMap.set("estado", ESTADO_SALON.CERRADO);
117
+ // Limpiar participantes
118
+ const len = this.salonParticipantes.length;
119
+ if (len > 0) {
120
+ this.salonParticipantes.delete(0, len);
121
+ }
122
+ });
123
+ await this.chatChannel.abandonarCanal();
124
+ this.salonDoc.destroy();
125
+ this.dispatchEvent(new CustomEvent("estadoCambiado", {
126
+ detail: { salonId: this.id, estado: ESTADO_SALON.CERRADO },
127
+ }));
128
+ }
129
+ async compartirContenido(clave, valor) {
130
+ Y.transact(this.salonDoc, () => {
131
+ this.salonContenido.set(clave, valor);
132
+ });
133
+ }
134
+ async obtenerContenido() {
135
+ const contenido = new Map();
136
+ for (const [clave, valor] of this.salonContenido) {
137
+ contenido.set(clave, valor);
138
+ }
139
+ return contenido;
140
+ }
141
+ obtenerEstado() {
142
+ return this._estado;
143
+ }
144
+ obtenerInfo() {
145
+ return {
146
+ id: this.id,
147
+ nombre: this.config.nombre,
148
+ tipo: this.config.tipo,
149
+ creador: this.config.creatorId,
150
+ fechaCreacion: this.salonMap.get("fechaCreacion"),
151
+ estado: this._estado,
152
+ participantes: this.salonParticipantes.toArray(),
153
+ maxParticipantes: this.config.maxParticipantes,
154
+ };
155
+ }
156
+ }
157
+ // ─── SALONES MANAGER ───────────────────────────────────────────────────────
158
+ // Manager global de salones. Orquesta todos los salones activos.
159
+ export class SalonesManager {
160
+ edgeMesh;
161
+ salones;
162
+ creadorPorSalon;
163
+ yjsAdapter;
164
+ constructor(edgeMesh) {
165
+ this.edgeMesh = edgeMesh;
166
+ this.salones = new Map();
167
+ this.creadorPorSalon = new Map();
168
+ this.yjsAdapter = edgeMesh.yjsAdapter;
169
+ }
170
+ // ─── CREACION ────────────────────────────────────────────────────────
171
+ async crearSalon(nombre, tipo, maxParticipantes) {
172
+ const config = {
173
+ creatorId: this.edgeMesh.config.nodoId,
174
+ nombre,
175
+ tipo: tipo ?? TIPO_SALON.CHAT,
176
+ maxParticipantes: maxParticipantes ?? 50,
177
+ yjsAdapter: this.yjsAdapter,
178
+ edgeMesh: this.edgeMesh,
179
+ };
180
+ const salon = new SalonVirtual(config);
181
+ this.salones.set(salon.id, salon);
182
+ this.creadorPorSalon.set(salon.id, this.edgeMesh.config.nodoId);
183
+ // El creador se une automáticamente
184
+ await salon.unirse(this.edgeMesh.config.nodoId);
185
+ return salon;
186
+ }
187
+ // ─── UNION ───────────────────────────────────────────────────────────
188
+ async unirseSalon(salonId) {
189
+ const salon = this.salones.get(salonId);
190
+ if (salon === undefined) {
191
+ throw new Error(`Salon ${salonId} no encontrado`);
192
+ }
193
+ await salon.unirse(this.edgeMesh.config.nodoId);
194
+ return salon;
195
+ }
196
+ // ─── ABANDONAR ───────────────────────────────────────────────────────
197
+ async abandonarSalon(salonId) {
198
+ const salon = this.salones.get(salonId);
199
+ if (salon === undefined)
200
+ return;
201
+ await salon.abandonar(this.edgeMesh.config.nodoId);
202
+ }
203
+ // ─── CERRAR ──────────────────────────────────────────────────────────
204
+ async cerrarSalon(salonId) {
205
+ const salon = this.salones.get(salonId);
206
+ if (salon === undefined) {
207
+ throw new Error(`Salon ${salonId} no encontrado`);
208
+ }
209
+ const creador = this.creadorPorSalon.get(salonId);
210
+ if (creador !== this.edgeMesh.config.nodoId) {
211
+ throw new Error(`Solo el creador puede cerrar el salon ${salonId}`);
212
+ }
213
+ await salon.cerrar();
214
+ this.salones.delete(salonId);
215
+ this.creadorPorSalon.delete(salonId);
216
+ }
217
+ // ─── CONSULTAS ───────────────────────────────────────────────────────
218
+ listarSalones() {
219
+ return Array.from(this.salones.values());
220
+ }
221
+ obtenerSalon(salonId) {
222
+ return this.salones.get(salonId) ?? null;
223
+ }
224
+ obtenerSalonesActivos() {
225
+ return Array.from(this.salones.values()).filter((s) => s.obtenerEstado() === ESTADO_SALON.ACTIVO);
226
+ }
227
+ obtenerTotalSalones() {
228
+ return this.salones.size;
229
+ }
230
+ // ─── LIMPIEZA ────────────────────────────────────────────────────────
231
+ async cerrarTodosLosSalones() {
232
+ for (const [id, _salon] of this.salones) {
233
+ const salon = this.salones.get(id);
234
+ await salon.cerrar();
235
+ }
236
+ this.salones.clear();
237
+ this.creadorPorSalon.clear();
238
+ }
239
+ }
240
+ //# sourceMappingURL=manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/salones/manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export interface RateLimiterConfig {
2
+ tokensPerInterval: number;
3
+ intervalMs: number;
4
+ maxTokens: number;
5
+ }
6
+ export declare class TokenBucketRateLimiter {
7
+ private config;
8
+ private buckets;
9
+ constructor(config: RateLimiterConfig);
10
+ consume(key: string, tokens?: number): boolean;
11
+ reset(key: string): void;
12
+ }
13
+ //# sourceMappingURL=rate-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/security/rate-limiter.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,sBAAsB;IAItB,OAAO,CAAC,MAAM;IAH1B,OAAO,CAAC,OAAO,CACJ;IAEX,YAAoB,MAAM,EAAE,iBAAiB,EAAI;IAEjD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAyBxC;IAED,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEvB;CACD"}