@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.
- package/LICENSE +128 -0
- package/NOTICE +37 -0
- package/README.md +470 -2
- package/dist/adapters/gpu-agent/index.d.ts +61 -0
- package/dist/adapters/gpu-agent/index.d.ts.map +1 -0
- package/dist/adapters/gpu-agent/index.js +364 -0
- package/dist/adapters/gpu-agent/index.js.map +1 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.d.ts +19 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.js +51 -0
- package/dist/adapters/maloca-salud/citas-distribuidas.js.map +1 -0
- package/dist/adapters/maloca-salud/eps-bridge.d.ts +15 -0
- package/dist/adapters/maloca-salud/eps-bridge.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/eps-bridge.js +27 -0
- package/dist/adapters/maloca-salud/eps-bridge.js.map +1 -0
- package/dist/adapters/maloca-salud/patient-profile.d.ts +20 -0
- package/dist/adapters/maloca-salud/patient-profile.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/patient-profile.js +36 -0
- package/dist/adapters/maloca-salud/patient-profile.js.map +1 -0
- package/dist/adapters/maloca-salud/types.d.ts +40 -0
- package/dist/adapters/maloca-salud/types.d.ts.map +1 -0
- package/dist/adapters/maloca-salud/types.js +2 -0
- package/dist/adapters/maloca-salud/types.js.map +1 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.d.ts +31 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.js +103 -0
- package/dist/adapters/maloca-veeduria/contract-bridge.js.map +1 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.d.ts +14 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.js +40 -0
- package/dist/adapters/maloca-veeduria/evidentia-veeduria.js.map +1 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.d.ts +21 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.js +58 -0
- package/dist/adapters/maloca-veeduria/licitante-profile.js.map +1 -0
- package/dist/adapters/maloca-veeduria/types.d.ts +30 -0
- package/dist/adapters/maloca-veeduria/types.d.ts.map +1 -0
- package/dist/adapters/maloca-veeduria/types.js +2 -0
- package/dist/adapters/maloca-veeduria/types.js.map +1 -0
- package/dist/adapters/maloca-xavier/agent-profile.d.ts +32 -0
- package/dist/adapters/maloca-xavier/agent-profile.d.ts.map +1 -0
- package/dist/adapters/maloca-xavier/agent-profile.js +56 -0
- package/dist/adapters/maloca-xavier/agent-profile.js.map +1 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.d.ts +27 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.d.ts.map +1 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.js +58 -0
- package/dist/adapters/maloca-xavier/codegraph-bridge.js.map +1 -0
- package/dist/adapters/maloca-xavier/llm-router.d.ts +25 -0
- package/dist/adapters/maloca-xavier/llm-router.d.ts.map +1 -0
- package/dist/adapters/maloca-xavier/llm-router.js +58 -0
- package/dist/adapters/maloca-xavier/llm-router.js.map +1 -0
- package/dist/authz/index.d.ts +81 -0
- package/dist/authz/index.d.ts.map +1 -0
- package/dist/authz/index.js +271 -0
- package/dist/authz/index.js.map +1 -0
- package/dist/chat/index.d.ts +138 -0
- package/dist/chat/index.d.ts.map +1 -0
- package/dist/chat/index.js +394 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chat/offline-queue.d.ts +32 -0
- package/dist/chat/offline-queue.d.ts.map +1 -0
- package/dist/chat/offline-queue.js +93 -0
- package/dist/chat/offline-queue.js.map +1 -0
- package/dist/core/DefaultEdgeMeshNode.d.ts +17 -0
- package/dist/core/DefaultEdgeMeshNode.d.ts.map +1 -0
- package/dist/core/DefaultEdgeMeshNode.js +57 -0
- package/dist/core/DefaultEdgeMeshNode.js.map +1 -0
- package/dist/core/node.d.ts +26 -0
- package/dist/core/node.d.ts.map +1 -0
- package/dist/core/node.js +16 -0
- package/dist/core/node.js.map +1 -0
- package/dist/edge-mesh.d.ts +139 -0
- package/dist/edge-mesh.d.ts.map +1 -0
- package/dist/edge-mesh.js +1146 -0
- package/dist/edge-mesh.js.map +1 -0
- package/dist/gos/GosBridge.d.ts +49 -0
- package/dist/gos/GosBridge.d.ts.map +1 -0
- package/dist/gos/GosBridge.js +133 -0
- package/dist/gos/GosBridge.js.map +1 -0
- package/dist/governance/authority.d.ts +44 -0
- package/dist/governance/authority.d.ts.map +1 -0
- package/dist/governance/authority.js +123 -0
- package/dist/governance/authority.js.map +1 -0
- package/dist/governance/index.d.ts +66 -0
- package/dist/governance/index.d.ts.map +1 -0
- package/dist/governance/index.js +210 -0
- package/dist/governance/index.js.map +1 -0
- package/dist/governance/merge.d.ts +31 -0
- package/dist/governance/merge.d.ts.map +1 -0
- package/dist/governance/merge.js +167 -0
- package/dist/governance/merge.js.map +1 -0
- package/dist/identity/index.d.ts +199 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +415 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/index.d.ts +71 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +56 -0
- package/dist/index.js.map +1 -0
- package/dist/maloca/backoffice.d.ts +31 -0
- package/dist/maloca/backoffice.d.ts.map +1 -0
- package/dist/maloca/backoffice.js +40 -0
- package/dist/maloca/backoffice.js.map +1 -0
- package/dist/maloca/event-bus.d.ts +60 -0
- package/dist/maloca/event-bus.d.ts.map +1 -0
- package/dist/maloca/event-bus.js +175 -0
- package/dist/maloca/event-bus.js.map +1 -0
- package/dist/maloca/evidentia.d.ts +136 -0
- package/dist/maloca/evidentia.d.ts.map +1 -0
- package/dist/maloca/evidentia.js +447 -0
- package/dist/maloca/evidentia.js.map +1 -0
- package/dist/maloca/gateway/api.d.ts +146 -0
- package/dist/maloca/gateway/api.d.ts.map +1 -0
- package/dist/maloca/gateway/api.js +228 -0
- package/dist/maloca/gateway/api.js.map +1 -0
- package/dist/maloca/gateway/auth.d.ts +20 -0
- package/dist/maloca/gateway/auth.d.ts.map +1 -0
- package/dist/maloca/gateway/auth.js +115 -0
- package/dist/maloca/gateway/auth.js.map +1 -0
- package/dist/maloca/gateway/dashboard.d.ts +42 -0
- package/dist/maloca/gateway/dashboard.d.ts.map +1 -0
- package/dist/maloca/gateway/dashboard.js +67 -0
- package/dist/maloca/gateway/dashboard.js.map +1 -0
- package/dist/maloca/gateway/websocket.d.ts +34 -0
- package/dist/maloca/gateway/websocket.d.ts.map +1 -0
- package/dist/maloca/gateway/websocket.js +71 -0
- package/dist/maloca/gateway/websocket.js.map +1 -0
- package/dist/maloca/karma.d.ts +165 -0
- package/dist/maloca/karma.d.ts.map +1 -0
- package/dist/maloca/karma.js +307 -0
- package/dist/maloca/karma.js.map +1 -0
- package/dist/maloca/kernel.d.ts +20 -0
- package/dist/maloca/kernel.d.ts.map +1 -0
- package/dist/maloca/kernel.js +76 -0
- package/dist/maloca/kernel.js.map +1 -0
- package/dist/maloca/metadata.d.ts +30 -0
- package/dist/maloca/metadata.d.ts.map +1 -0
- package/dist/maloca/metadata.js +80 -0
- package/dist/maloca/metadata.js.map +1 -0
- package/dist/maloca/perfil.d.ts +57 -0
- package/dist/maloca/perfil.d.ts.map +1 -0
- package/dist/maloca/perfil.js +113 -0
- package/dist/maloca/perfil.js.map +1 -0
- package/dist/maloca/plugin-registry.d.ts +27 -0
- package/dist/maloca/plugin-registry.d.ts.map +1 -0
- package/dist/maloca/plugin-registry.js +76 -0
- package/dist/maloca/plugin-registry.js.map +1 -0
- package/dist/maloca/polygon-bridge.d.ts +63 -0
- package/dist/maloca/polygon-bridge.d.ts.map +1 -0
- package/dist/maloca/polygon-bridge.js +198 -0
- package/dist/maloca/polygon-bridge.js.map +1 -0
- package/dist/maloca/types.d.ts +44 -0
- package/dist/maloca/types.d.ts.map +1 -0
- package/dist/maloca/types.js +2 -0
- package/dist/maloca/types.js.map +1 -0
- package/dist/medico/aval.d.ts +149 -0
- package/dist/medico/aval.d.ts.map +1 -0
- package/dist/medico/aval.js +281 -0
- package/dist/medico/aval.js.map +1 -0
- package/dist/medico/canonica.d.ts +96 -0
- package/dist/medico/canonica.d.ts.map +1 -0
- package/dist/medico/canonica.js +148 -0
- package/dist/medico/canonica.js.map +1 -0
- package/dist/medico/credencial.d.ts +160 -0
- package/dist/medico/credencial.d.ts.map +1 -0
- package/dist/medico/credencial.js +240 -0
- package/dist/medico/credencial.js.map +1 -0
- package/dist/medico/index.d.ts +36 -0
- package/dist/medico/index.d.ts.map +1 -0
- package/dist/medico/index.js +39 -0
- package/dist/medico/index.js.map +1 -0
- package/dist/medico/malla.d.ts +218 -0
- package/dist/medico/malla.d.ts.map +1 -0
- package/dist/medico/malla.js +347 -0
- package/dist/medico/malla.js.map +1 -0
- package/dist/medico/registro-profesional.d.ts +84 -0
- package/dist/medico/registro-profesional.d.ts.map +1 -0
- package/dist/medico/registro-profesional.js +135 -0
- package/dist/medico/registro-profesional.js.map +1 -0
- package/dist/medico/registro.d.ts +149 -0
- package/dist/medico/registro.d.ts.map +1 -0
- package/dist/medico/registro.js +173 -0
- package/dist/medico/registro.js.map +1 -0
- package/dist/medico/types.d.ts +287 -0
- package/dist/medico/types.d.ts.map +1 -0
- package/dist/medico/types.js +135 -0
- package/dist/medico/types.js.map +1 -0
- package/dist/medico/verificacion-registro.d.ts +300 -0
- package/dist/medico/verificacion-registro.d.ts.map +1 -0
- package/dist/medico/verificacion-registro.js +319 -0
- package/dist/medico/verificacion-registro.js.map +1 -0
- package/dist/mesh/index.d.ts +457 -0
- package/dist/mesh/index.d.ts.map +1 -0
- package/dist/mesh/index.js +929 -0
- package/dist/mesh/index.js.map +1 -0
- package/dist/namespaces/encrypted-plugin.d.ts +56 -0
- package/dist/namespaces/encrypted-plugin.d.ts.map +1 -0
- package/dist/namespaces/encrypted-plugin.js +173 -0
- package/dist/namespaces/encrypted-plugin.js.map +1 -0
- package/dist/namespaces/index.d.ts +52 -0
- package/dist/namespaces/index.d.ts.map +1 -0
- package/dist/namespaces/index.js +134 -0
- package/dist/namespaces/index.js.map +1 -0
- package/dist/namespaces/ivn-proofs.d.ts +54 -0
- package/dist/namespaces/ivn-proofs.d.ts.map +1 -0
- package/dist/namespaces/ivn-proofs.js +162 -0
- package/dist/namespaces/ivn-proofs.js.map +1 -0
- package/dist/namespaces/offers-gossip.d.ts +95 -0
- package/dist/namespaces/offers-gossip.d.ts.map +1 -0
- package/dist/namespaces/offers-gossip.js +213 -0
- package/dist/namespaces/offers-gossip.js.map +1 -0
- package/dist/node-memory/idb-store.d.ts +22 -0
- package/dist/node-memory/idb-store.d.ts.map +1 -0
- package/dist/node-memory/idb-store.js +157 -0
- package/dist/node-memory/idb-store.js.map +1 -0
- package/dist/node-memory/index.d.ts +14 -0
- package/dist/node-memory/index.d.ts.map +1 -0
- package/dist/node-memory/index.js +159 -0
- package/dist/node-memory/index.js.map +1 -0
- package/dist/node-memory/sync-flush.d.ts +11 -0
- package/dist/node-memory/sync-flush.d.ts.map +1 -0
- package/dist/node-memory/sync-flush.js +37 -0
- package/dist/node-memory/sync-flush.js.map +1 -0
- package/dist/node-memory/types.d.ts +34 -0
- package/dist/node-memory/types.d.ts.map +1 -0
- package/dist/node-memory/types.js +2 -0
- package/dist/node-memory/types.js.map +1 -0
- package/dist/node-memory/xavier-store.d.ts +12 -0
- package/dist/node-memory/xavier-store.d.ts.map +1 -0
- package/dist/node-memory/xavier-store.js +75 -0
- package/dist/node-memory/xavier-store.js.map +1 -0
- package/dist/op-log/index.d.ts +49 -0
- package/dist/op-log/index.d.ts.map +1 -0
- package/dist/op-log/index.js +190 -0
- package/dist/op-log/index.js.map +1 -0
- package/dist/presence/health.d.ts +54 -0
- package/dist/presence/health.d.ts.map +1 -0
- package/dist/presence/health.js +139 -0
- package/dist/presence/health.js.map +1 -0
- package/dist/presence/index.d.ts +85 -0
- package/dist/presence/index.d.ts.map +1 -0
- package/dist/presence/index.js +255 -0
- package/dist/presence/index.js.map +1 -0
- package/dist/presence/peer-health.d.ts +40 -0
- package/dist/presence/peer-health.d.ts.map +1 -0
- package/dist/presence/peer-health.js +118 -0
- package/dist/presence/peer-health.js.map +1 -0
- package/dist/protocol/canonical.d.ts +10 -0
- package/dist/protocol/canonical.d.ts.map +1 -0
- package/dist/protocol/canonical.js +32 -0
- package/dist/protocol/canonical.js.map +1 -0
- package/dist/protocol/crypto.d.ts +299 -0
- package/dist/protocol/crypto.d.ts.map +1 -0
- package/dist/protocol/crypto.js +739 -0
- package/dist/protocol/crypto.js.map +1 -0
- package/dist/protocol/index.d.ts +30 -0
- package/dist/protocol/index.d.ts.map +1 -0
- package/dist/protocol/index.js +116 -0
- package/dist/protocol/index.js.map +1 -0
- package/dist/protocol/utils.d.ts +5 -0
- package/dist/protocol/utils.d.ts.map +1 -0
- package/dist/protocol/utils.js +27 -0
- package/dist/protocol/utils.js.map +1 -0
- package/dist/salones/manager.d.ts +100 -0
- package/dist/salones/manager.d.ts.map +1 -0
- package/dist/salones/manager.js +240 -0
- package/dist/salones/manager.js.map +1 -0
- package/dist/security/rate-limiter.d.ts +13 -0
- package/dist/security/rate-limiter.d.ts.map +1 -0
- package/dist/security/rate-limiter.js +32 -0
- package/dist/security/rate-limiter.js.map +1 -0
- package/dist/snapshot/index.d.ts +90 -0
- package/dist/snapshot/index.d.ts.map +1 -0
- package/dist/snapshot/index.js +189 -0
- package/dist/snapshot/index.js.map +1 -0
- package/dist/storage/index.d.ts +49 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +192 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/optimizer.d.ts +28 -0
- package/dist/storage/optimizer.d.ts.map +1 -0
- package/dist/storage/optimizer.js +71 -0
- package/dist/storage/optimizer.js.map +1 -0
- package/dist/storage/ydoc-persistence.d.ts +27 -0
- package/dist/storage/ydoc-persistence.d.ts.map +1 -0
- package/dist/storage/ydoc-persistence.js +128 -0
- package/dist/storage/ydoc-persistence.js.map +1 -0
- package/dist/sync/ChunkSyncManager.d.ts +41 -0
- package/dist/sync/ChunkSyncManager.d.ts.map +1 -0
- package/dist/sync/ChunkSyncManager.js +115 -0
- package/dist/sync/ChunkSyncManager.js.map +1 -0
- package/dist/sync/conflict-resolver.d.ts +33 -0
- package/dist/sync/conflict-resolver.d.ts.map +1 -0
- package/dist/sync/conflict-resolver.js +54 -0
- package/dist/sync/conflict-resolver.js.map +1 -0
- package/dist/sync/engine.d.ts +168 -0
- package/dist/sync/engine.d.ts.map +1 -0
- package/dist/sync/engine.js +315 -0
- package/dist/sync/engine.js.map +1 -0
- package/dist/sync/index.d.ts +3 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +3 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/transport/TorTransportAdapter.d.ts +70 -0
- package/dist/transport/TorTransportAdapter.d.ts.map +1 -0
- package/dist/transport/TorTransportAdapter.js +192 -0
- package/dist/transport/TorTransportAdapter.js.map +1 -0
- package/dist/transport/memory.d.ts +31 -0
- package/dist/transport/memory.d.ts.map +1 -0
- package/dist/transport/memory.js +114 -0
- package/dist/transport/memory.js.map +1 -0
- package/dist/transport/peerjs.d.ts +52 -0
- package/dist/transport/peerjs.d.ts.map +1 -0
- package/dist/transport/peerjs.js +336 -0
- package/dist/transport/peerjs.js.map +1 -0
- package/dist/transport/pqc-handshake.d.ts +72 -0
- package/dist/transport/pqc-handshake.d.ts.map +1 -0
- package/dist/transport/pqc-handshake.js +129 -0
- package/dist/transport/pqc-handshake.js.map +1 -0
- package/dist/transport/relay-config.d.ts +11 -0
- package/dist/transport/relay-config.d.ts.map +1 -0
- package/dist/transport/relay-config.js +48 -0
- package/dist/transport/relay-config.js.map +1 -0
- package/dist/transport/relay-server.d.ts +37 -0
- package/dist/transport/relay-server.d.ts.map +1 -0
- package/dist/transport/relay-server.js +246 -0
- package/dist/transport/relay-server.js.map +1 -0
- package/dist/transport/tor.d.ts +47 -0
- package/dist/transport/tor.d.ts.map +1 -0
- package/dist/transport/tor.js +158 -0
- package/dist/transport/tor.js.map +1 -0
- package/dist/transport/types.d.ts +34 -0
- package/dist/transport/types.d.ts.map +1 -0
- package/dist/transport/types.js +2 -0
- package/dist/transport/types.js.map +1 -0
- package/dist/types/index.d.ts +293 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +73 -0
- package/dist/types/index.js.map +1 -0
- package/dist/web/admission.d.ts +24 -0
- package/dist/web/admission.d.ts.map +1 -0
- package/dist/web/admission.js +41 -0
- package/dist/web/admission.js.map +1 -0
- package/dist/web/crypto.d.ts +18 -0
- package/dist/web/crypto.d.ts.map +1 -0
- package/dist/web/crypto.js +78 -0
- package/dist/web/crypto.js.map +1 -0
- package/dist/web/exchange.d.ts +23 -0
- package/dist/web/exchange.d.ts.map +1 -0
- package/dist/web/exchange.js +54 -0
- package/dist/web/exchange.js.map +1 -0
- package/dist/web/fragment.d.ts +58 -0
- package/dist/web/fragment.d.ts.map +1 -0
- package/dist/web/fragment.js +198 -0
- package/dist/web/fragment.js.map +1 -0
- package/dist/web/index.d.ts +25 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +14 -0
- package/dist/web/index.js.map +1 -0
- package/dist/web/merge/index.d.ts +104 -0
- package/dist/web/merge/index.d.ts.map +1 -0
- package/dist/web/merge/index.js +236 -0
- package/dist/web/merge/index.js.map +1 -0
- package/dist/web/oplog/hlc.d.ts +19 -0
- package/dist/web/oplog/hlc.d.ts.map +1 -0
- package/dist/web/oplog/hlc.js +39 -0
- package/dist/web/oplog/hlc.js.map +1 -0
- package/dist/web/oplog/index.d.ts +10 -0
- package/dist/web/oplog/index.d.ts.map +1 -0
- package/dist/web/oplog/index.js +6 -0
- package/dist/web/oplog/index.js.map +1 -0
- package/dist/web/oplog/log.d.ts +182 -0
- package/dist/web/oplog/log.d.ts.map +1 -0
- package/dist/web/oplog/log.js +693 -0
- package/dist/web/oplog/log.js.map +1 -0
- package/dist/web/oplog/store.d.ts +40 -0
- package/dist/web/oplog/store.d.ts.map +1 -0
- package/dist/web/oplog/store.js +85 -0
- package/dist/web/oplog/store.js.map +1 -0
- package/dist/web/oplog/sync.d.ts +54 -0
- package/dist/web/oplog/sync.d.ts.map +1 -0
- package/dist/web/oplog/sync.js +162 -0
- package/dist/web/oplog/sync.js.map +1 -0
- package/dist/web/oplog/types.d.ts +119 -0
- package/dist/web/oplog/types.d.ts.map +1 -0
- package/dist/web/oplog/types.js +2 -0
- package/dist/web/oplog/types.js.map +1 -0
- package/dist/web/pairing.d.ts +186 -0
- package/dist/web/pairing.d.ts.map +1 -0
- package/dist/web/pairing.js +395 -0
- package/dist/web/pairing.js.map +1 -0
- package/dist/web/pq.d.ts +36 -0
- package/dist/web/pq.d.ts.map +1 -0
- package/dist/web/pq.js +59 -0
- package/dist/web/pq.js.map +1 -0
- package/dist/web/provider.d.ts +188 -0
- package/dist/web/provider.d.ts.map +1 -0
- package/dist/web/provider.js +2042 -0
- package/dist/web/provider.js.map +1 -0
- package/dist/web/rooms.d.ts +20 -0
- package/dist/web/rooms.d.ts.map +1 -0
- package/dist/web/rooms.js +51 -0
- package/dist/web/rooms.js.map +1 -0
- package/dist/web/rotation.d.ts +73 -0
- package/dist/web/rotation.d.ts.map +1 -0
- package/dist/web/rotation.js +130 -0
- package/dist/web/rotation.js.map +1 -0
- package/dist/web/secstate.d.ts +213 -0
- package/dist/web/secstate.d.ts.map +1 -0
- package/dist/web/secstate.js +789 -0
- package/dist/web/secstate.js.map +1 -0
- package/dist/web/store.d.ts +9 -0
- package/dist/web/store.d.ts.map +1 -0
- package/dist/web/store.js +32 -0
- package/dist/web/store.js.map +1 -0
- package/dist/web/transports/loopback.d.ts +11 -0
- package/dist/web/transports/loopback.d.ts.map +1 -0
- package/dist/web/transports/loopback.js +97 -0
- package/dist/web/transports/loopback.js.map +1 -0
- package/dist/web/transports/qr-sdp.d.ts +27 -0
- package/dist/web/transports/qr-sdp.d.ts.map +1 -0
- package/dist/web/transports/qr-sdp.js +131 -0
- package/dist/web/transports/qr-sdp.js.map +1 -0
- package/dist/web/transports/ws.d.ts +12 -0
- package/dist/web/transports/ws.d.ts.map +1 -0
- package/dist/web/transports/ws.js +139 -0
- package/dist/web/transports/ws.js.map +1 -0
- package/dist/web/trust/canonical.d.ts +8 -0
- package/dist/web/trust/canonical.d.ts.map +1 -0
- package/dist/web/trust/canonical.js +27 -0
- package/dist/web/trust/canonical.js.map +1 -0
- package/dist/web/trust/docs.d.ts +51 -0
- package/dist/web/trust/docs.d.ts.map +1 -0
- package/dist/web/trust/docs.js +170 -0
- package/dist/web/trust/docs.js.map +1 -0
- package/dist/web/trust/index.d.ts +10 -0
- package/dist/web/trust/index.d.ts.map +1 -0
- package/dist/web/trust/index.js +7 -0
- package/dist/web/trust/index.js.map +1 -0
- package/dist/web/trust/keys.d.ts +37 -0
- package/dist/web/trust/keys.d.ts.map +1 -0
- package/dist/web/trust/keys.js +75 -0
- package/dist/web/trust/keys.js.map +1 -0
- package/dist/web/trust/store.d.ts +150 -0
- package/dist/web/trust/store.d.ts.map +1 -0
- package/dist/web/trust/store.js +587 -0
- package/dist/web/trust/store.js.map +1 -0
- package/dist/web/trust/types.d.ts +134 -0
- package/dist/web/trust/types.d.ts.map +1 -0
- package/dist/web/trust/types.js +4 -0
- package/dist/web/trust/types.js.map +1 -0
- package/dist/web/types.d.ts +115 -0
- package/dist/web/types.d.ts.map +1 -0
- package/dist/web/types.js +2 -0
- package/dist/web/types.js.map +1 -0
- package/dist/web/util.d.ts +12 -0
- package/dist/web/util.d.ts.map +1 -0
- package/dist/web/util.js +54 -0
- package/dist/web/util.js.map +1 -0
- package/dist/web/webrtc.d.ts +35 -0
- package/dist/web/webrtc.d.ts.map +1 -0
- package/dist/web/webrtc.js +304 -0
- package/dist/web/webrtc.js.map +1 -0
- 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":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -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"}
|