@dcl/hammurabi-server 1.0.0-17268386187.commit-b609629

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 (520) hide show
  1. package/CLAUDE.md +90 -0
  2. package/LICENSE +201 -0
  3. package/README.md +125 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +79 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/lib/babylon/avatar-rendering-system.d.ts +16 -0
  9. package/dist/lib/babylon/avatar-rendering-system.d.ts.map +1 -0
  10. package/dist/lib/babylon/avatar-rendering-system.js +96 -0
  11. package/dist/lib/babylon/avatar-rendering-system.js.map +1 -0
  12. package/dist/lib/babylon/avatars/AvatarRenderer.d.ts +40 -0
  13. package/dist/lib/babylon/avatars/AvatarRenderer.d.ts.map +1 -0
  14. package/dist/lib/babylon/avatars/AvatarRenderer.js +260 -0
  15. package/dist/lib/babylon/avatars/AvatarRenderer.js.map +1 -0
  16. package/dist/lib/babylon/avatars/CharacterController.d.ts +88 -0
  17. package/dist/lib/babylon/avatars/CharacterController.d.ts.map +1 -0
  18. package/dist/lib/babylon/avatars/CharacterController.js +463 -0
  19. package/dist/lib/babylon/avatars/CharacterController.js.map +1 -0
  20. package/dist/lib/babylon/avatars/adr-65/body.d.ts +4 -0
  21. package/dist/lib/babylon/avatars/adr-65/body.d.ts.map +1 -0
  22. package/dist/lib/babylon/avatars/adr-65/body.js +47 -0
  23. package/dist/lib/babylon/avatars/adr-65/body.js.map +1 -0
  24. package/dist/lib/babylon/avatars/adr-65/customizations.d.ts +11 -0
  25. package/dist/lib/babylon/avatars/adr-65/customizations.d.ts.map +1 -0
  26. package/dist/lib/babylon/avatars/adr-65/customizations.js +111 -0
  27. package/dist/lib/babylon/avatars/adr-65/customizations.js.map +1 -0
  28. package/dist/lib/babylon/avatars/adr-65/emote.d.ts +9 -0
  29. package/dist/lib/babylon/avatars/adr-65/emote.d.ts.map +1 -0
  30. package/dist/lib/babylon/avatars/adr-65/emote.js +46 -0
  31. package/dist/lib/babylon/avatars/adr-65/emote.js.map +1 -0
  32. package/dist/lib/babylon/avatars/adr-65/loader.d.ts +8 -0
  33. package/dist/lib/babylon/avatars/adr-65/loader.d.ts.map +1 -0
  34. package/dist/lib/babylon/avatars/adr-65/loader.js +54 -0
  35. package/dist/lib/babylon/avatars/adr-65/loader.js.map +1 -0
  36. package/dist/lib/babylon/avatars/adr-65/representation.d.ts +12 -0
  37. package/dist/lib/babylon/avatars/adr-65/representation.d.ts.map +1 -0
  38. package/dist/lib/babylon/avatars/adr-65/representation.js +77 -0
  39. package/dist/lib/babylon/avatars/adr-65/representation.js.map +1 -0
  40. package/dist/lib/babylon/avatars/adr-65/slots.d.ts +5 -0
  41. package/dist/lib/babylon/avatars/adr-65/slots.d.ts.map +1 -0
  42. package/dist/lib/babylon/avatars/adr-65/slots.js +62 -0
  43. package/dist/lib/babylon/avatars/adr-65/slots.js.map +1 -0
  44. package/dist/lib/babylon/avatars/adr-65/types.d.ts +17 -0
  45. package/dist/lib/babylon/avatars/adr-65/types.d.ts.map +1 -0
  46. package/dist/lib/babylon/avatars/adr-65/types.js +3 -0
  47. package/dist/lib/babylon/avatars/adr-65/types.js.map +1 -0
  48. package/dist/lib/babylon/avatars/adr-65/utils.d.ts +8 -0
  49. package/dist/lib/babylon/avatars/adr-65/utils.d.ts.map +1 -0
  50. package/dist/lib/babylon/avatars/adr-65/utils.js +29 -0
  51. package/dist/lib/babylon/avatars/adr-65/utils.js.map +1 -0
  52. package/dist/lib/babylon/avatars/adr-65/wearable.d.ts +7 -0
  53. package/dist/lib/babylon/avatars/adr-65/wearable.d.ts.map +1 -0
  54. package/dist/lib/babylon/avatars/adr-65/wearable.js +64 -0
  55. package/dist/lib/babylon/avatars/adr-65/wearable.js.map +1 -0
  56. package/dist/lib/babylon/avatars/avatar-asset-manager.d.ts +12 -0
  57. package/dist/lib/babylon/avatars/avatar-asset-manager.d.ts.map +1 -0
  58. package/dist/lib/babylon/avatars/avatar-asset-manager.js +31 -0
  59. package/dist/lib/babylon/avatars/avatar-asset-manager.js.map +1 -0
  60. package/dist/lib/babylon/avatars/loader.d.ts +6 -0
  61. package/dist/lib/babylon/avatars/loader.d.ts.map +1 -0
  62. package/dist/lib/babylon/avatars/loader.js +108 -0
  63. package/dist/lib/babylon/avatars/loader.js.map +1 -0
  64. package/dist/lib/babylon/avatars/urn.d.ts +2 -0
  65. package/dist/lib/babylon/avatars/urn.d.ts.map +1 -0
  66. package/dist/lib/babylon/avatars/urn.js +9 -0
  67. package/dist/lib/babylon/avatars/urn.js.map +1 -0
  68. package/dist/lib/babylon/index.d.ts +6 -0
  69. package/dist/lib/babylon/index.d.ts.map +1 -0
  70. package/dist/lib/babylon/index.js +85 -0
  71. package/dist/lib/babylon/index.js.map +1 -0
  72. package/dist/lib/babylon/input.d.ts +35 -0
  73. package/dist/lib/babylon/input.d.ts.map +1 -0
  74. package/dist/lib/babylon/input.js +137 -0
  75. package/dist/lib/babylon/input.js.map +1 -0
  76. package/dist/lib/babylon/scene/AssetManager.d.ts +19 -0
  77. package/dist/lib/babylon/scene/AssetManager.d.ts.map +1 -0
  78. package/dist/lib/babylon/scene/AssetManager.js +271 -0
  79. package/dist/lib/babylon/scene/AssetManager.js.map +1 -0
  80. package/dist/lib/babylon/scene/BabylonEntity.d.ts +84 -0
  81. package/dist/lib/babylon/scene/BabylonEntity.d.ts.map +1 -0
  82. package/dist/lib/babylon/scene/BabylonEntity.js +174 -0
  83. package/dist/lib/babylon/scene/BabylonEntity.js.map +1 -0
  84. package/dist/lib/babylon/scene/connect-context-rpc.d.ts +8 -0
  85. package/dist/lib/babylon/scene/connect-context-rpc.d.ts.map +1 -0
  86. package/dist/lib/babylon/scene/connect-context-rpc.js +210 -0
  87. package/dist/lib/babylon/scene/connect-context-rpc.js.map +1 -0
  88. package/dist/lib/babylon/scene/coordinates.d.ts +5 -0
  89. package/dist/lib/babylon/scene/coordinates.d.ts.map +1 -0
  90. package/dist/lib/babylon/scene/coordinates.js +17 -0
  91. package/dist/lib/babylon/scene/coordinates.js.map +1 -0
  92. package/dist/lib/babylon/scene/hot-reload.d.ts +9 -0
  93. package/dist/lib/babylon/scene/hot-reload.d.ts.map +1 -0
  94. package/dist/lib/babylon/scene/hot-reload.js +65 -0
  95. package/dist/lib/babylon/scene/hot-reload.js.map +1 -0
  96. package/dist/lib/babylon/scene/load.d.ts +54 -0
  97. package/dist/lib/babylon/scene/load.d.ts.map +1 -0
  98. package/dist/lib/babylon/scene/load.js +154 -0
  99. package/dist/lib/babylon/scene/load.js.map +1 -0
  100. package/dist/lib/babylon/scene/logic/apply-animations.d.ts +3 -0
  101. package/dist/lib/babylon/scene/logic/apply-animations.d.ts.map +1 -0
  102. package/dist/lib/babylon/scene/logic/apply-animations.js +50 -0
  103. package/dist/lib/babylon/scene/logic/apply-animations.js.map +1 -0
  104. package/dist/lib/babylon/scene/logic/billboards.d.ts +3 -0
  105. package/dist/lib/babylon/scene/logic/billboards.d.ts.map +1 -0
  106. package/dist/lib/babylon/scene/logic/billboards.js +12 -0
  107. package/dist/lib/babylon/scene/logic/billboards.js.map +1 -0
  108. package/dist/lib/babylon/scene/logic/camera-follows-player.d.ts +7 -0
  109. package/dist/lib/babylon/scene/logic/camera-follows-player.d.ts.map +1 -0
  110. package/dist/lib/babylon/scene/logic/camera-follows-player.js +35 -0
  111. package/dist/lib/babylon/scene/logic/camera-follows-player.js.map +1 -0
  112. package/dist/lib/babylon/scene/logic/colliders.d.ts +9 -0
  113. package/dist/lib/babylon/scene/logic/colliders.d.ts.map +1 -0
  114. package/dist/lib/babylon/scene/logic/colliders.js +79 -0
  115. package/dist/lib/babylon/scene/logic/colliders.js.map +1 -0
  116. package/dist/lib/babylon/scene/logic/cyclic-transform.d.ts +12 -0
  117. package/dist/lib/babylon/scene/logic/cyclic-transform.d.ts.map +1 -0
  118. package/dist/lib/babylon/scene/logic/cyclic-transform.js +67 -0
  119. package/dist/lib/babylon/scene/logic/cyclic-transform.js.map +1 -0
  120. package/dist/lib/babylon/scene/logic/delayed-interpolation.d.ts +27 -0
  121. package/dist/lib/babylon/scene/logic/delayed-interpolation.d.ts.map +1 -0
  122. package/dist/lib/babylon/scene/logic/delayed-interpolation.js +49 -0
  123. package/dist/lib/babylon/scene/logic/delayed-interpolation.js.map +1 -0
  124. package/dist/lib/babylon/scene/logic/easings.d.ts +7 -0
  125. package/dist/lib/babylon/scene/logic/easings.d.ts.map +1 -0
  126. package/dist/lib/babylon/scene/logic/easings.js +100 -0
  127. package/dist/lib/babylon/scene/logic/easings.js.map +1 -0
  128. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.d.ts +5 -0
  129. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.d.ts.map +1 -0
  130. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.js +145 -0
  131. package/dist/lib/babylon/scene/logic/hide-camera-obstuction-system.js.map +1 -0
  132. package/dist/lib/babylon/scene/logic/local-avatar-scene.d.ts +10 -0
  133. package/dist/lib/babylon/scene/logic/local-avatar-scene.d.ts.map +1 -0
  134. package/dist/lib/babylon/scene/logic/local-avatar-scene.js +50 -0
  135. package/dist/lib/babylon/scene/logic/local-avatar-scene.js.map +1 -0
  136. package/dist/lib/babylon/scene/logic/pointer-events.d.ts +12 -0
  137. package/dist/lib/babylon/scene/logic/pointer-events.d.ts.map +1 -0
  138. package/dist/lib/babylon/scene/logic/pointer-events.js +199 -0
  139. package/dist/lib/babylon/scene/logic/pointer-events.js.map +1 -0
  140. package/dist/lib/babylon/scene/logic/raycasts.d.ts +21 -0
  141. package/dist/lib/babylon/scene/logic/raycasts.d.ts.map +1 -0
  142. package/dist/lib/babylon/scene/logic/raycasts.js +142 -0
  143. package/dist/lib/babylon/scene/logic/raycasts.js.map +1 -0
  144. package/dist/lib/babylon/scene/logic/static-entities.d.ts +18 -0
  145. package/dist/lib/babylon/scene/logic/static-entities.d.ts.map +1 -0
  146. package/dist/lib/babylon/scene/logic/static-entities.js +64 -0
  147. package/dist/lib/babylon/scene/logic/static-entities.js.map +1 -0
  148. package/dist/lib/babylon/scene/nodejs-runtime.d.ts +4 -0
  149. package/dist/lib/babylon/scene/nodejs-runtime.d.ts.map +1 -0
  150. package/dist/lib/babylon/scene/nodejs-runtime.js +100 -0
  151. package/dist/lib/babylon/scene/nodejs-runtime.js.map +1 -0
  152. package/dist/lib/babylon/scene/scene-context.d.ts +116 -0
  153. package/dist/lib/babylon/scene/scene-context.d.ts.map +1 -0
  154. package/dist/lib/babylon/scene/scene-context.js +492 -0
  155. package/dist/lib/babylon/scene/scene-context.js.map +1 -0
  156. package/dist/lib/babylon/scene/scene-culling.d.ts +6 -0
  157. package/dist/lib/babylon/scene/scene-culling.d.ts.map +1 -0
  158. package/dist/lib/babylon/scene/scene-culling.js +23 -0
  159. package/dist/lib/babylon/scene/scene-culling.js.map +1 -0
  160. package/dist/lib/babylon/scene/update-scheduler.d.ts +7 -0
  161. package/dist/lib/babylon/scene/update-scheduler.d.ts.map +1 -0
  162. package/dist/lib/babylon/scene/update-scheduler.js +40 -0
  163. package/dist/lib/babylon/scene/update-scheduler.js.map +1 -0
  164. package/dist/lib/babylon/time-based-animation.d.ts +13 -0
  165. package/dist/lib/babylon/time-based-animation.d.ts.map +1 -0
  166. package/dist/lib/babylon/time-based-animation.js +35 -0
  167. package/dist/lib/babylon/time-based-animation.js.map +1 -0
  168. package/dist/lib/babylon/visual/ambientLights.d.ts +6 -0
  169. package/dist/lib/babylon/visual/ambientLights.d.ts.map +1 -0
  170. package/dist/lib/babylon/visual/ambientLights.js +65 -0
  171. package/dist/lib/babylon/visual/ambientLights.js.map +1 -0
  172. package/dist/lib/babylon/visual/glowLayer.d.ts +6 -0
  173. package/dist/lib/babylon/visual/glowLayer.d.ts.map +1 -0
  174. package/dist/lib/babylon/visual/glowLayer.js +59 -0
  175. package/dist/lib/babylon/visual/glowLayer.js.map +1 -0
  176. package/dist/lib/babylon/visual/parcelOutline.d.ts +7 -0
  177. package/dist/lib/babylon/visual/parcelOutline.d.ts.map +1 -0
  178. package/dist/lib/babylon/visual/parcelOutline.js +88 -0
  179. package/dist/lib/babylon/visual/parcelOutline.js.map +1 -0
  180. package/dist/lib/babylon/visual/reticle.d.ts +3 -0
  181. package/dist/lib/babylon/visual/reticle.d.ts.map +1 -0
  182. package/dist/lib/babylon/visual/reticle.js +60 -0
  183. package/dist/lib/babylon/visual/reticle.js.map +1 -0
  184. package/dist/lib/babylon/visual/ui.d.ts +8 -0
  185. package/dist/lib/babylon/visual/ui.d.ts.map +1 -0
  186. package/dist/lib/babylon/visual/ui.js +54 -0
  187. package/dist/lib/babylon/visual/ui.js.map +1 -0
  188. package/dist/lib/common-runtime/game-loop.d.ts +4 -0
  189. package/dist/lib/common-runtime/game-loop.d.ts.map +1 -0
  190. package/dist/lib/common-runtime/game-loop.js +31 -0
  191. package/dist/lib/common-runtime/game-loop.js.map +1 -0
  192. package/dist/lib/common-runtime/modules.d.ts +244 -0
  193. package/dist/lib/common-runtime/modules.d.ts.map +1 -0
  194. package/dist/lib/common-runtime/modules.js +74 -0
  195. package/dist/lib/common-runtime/modules.js.map +1 -0
  196. package/dist/lib/common-runtime/startup.d.ts +8 -0
  197. package/dist/lib/common-runtime/startup.d.ts.map +1 -0
  198. package/dist/lib/common-runtime/startup.js +45 -0
  199. package/dist/lib/common-runtime/startup.js.map +1 -0
  200. package/dist/lib/common-runtime/types.d.ts +15 -0
  201. package/dist/lib/common-runtime/types.d.ts.map +1 -0
  202. package/dist/lib/common-runtime/types.js +7 -0
  203. package/dist/lib/common-runtime/types.js.map +1 -0
  204. package/dist/lib/decentraland/ByteBuffer/index.d.ts +75 -0
  205. package/dist/lib/decentraland/ByteBuffer/index.d.ts.map +1 -0
  206. package/dist/lib/decentraland/ByteBuffer/index.js +279 -0
  207. package/dist/lib/decentraland/ByteBuffer/index.js.map +1 -0
  208. package/dist/lib/decentraland/ByteBuffer/types.d.ts +109 -0
  209. package/dist/lib/decentraland/ByteBuffer/types.d.ts.map +1 -0
  210. package/dist/lib/decentraland/ByteBuffer/types.js +3 -0
  211. package/dist/lib/decentraland/ByteBuffer/types.js.map +1 -0
  212. package/dist/lib/decentraland/communications/CommsTransportWrapper.d.ts +45 -0
  213. package/dist/lib/decentraland/communications/CommsTransportWrapper.d.ts.map +1 -0
  214. package/dist/lib/decentraland/communications/CommsTransportWrapper.js +174 -0
  215. package/dist/lib/decentraland/communications/CommsTransportWrapper.js.map +1 -0
  216. package/dist/lib/decentraland/communications/avatar-communication-system.d.ts +18 -0
  217. package/dist/lib/decentraland/communications/avatar-communication-system.d.ts.map +1 -0
  218. package/dist/lib/decentraland/communications/avatar-communication-system.js +203 -0
  219. package/dist/lib/decentraland/communications/avatar-communication-system.js.map +1 -0
  220. package/dist/lib/decentraland/communications/connect-adapter.d.ts +5 -0
  221. package/dist/lib/decentraland/communications/connect-adapter.d.ts.map +1 -0
  222. package/dist/lib/decentraland/communications/connect-adapter.js +110 -0
  223. package/dist/lib/decentraland/communications/connect-adapter.js.map +1 -0
  224. package/dist/lib/decentraland/communications/connect-transport.d.ts +5 -0
  225. package/dist/lib/decentraland/communications/connect-transport.d.ts.map +1 -0
  226. package/dist/lib/decentraland/communications/connect-transport.js +32 -0
  227. package/dist/lib/decentraland/communications/connect-transport.js.map +1 -0
  228. package/dist/lib/decentraland/communications/networked-profile-system.d.ts +10 -0
  229. package/dist/lib/decentraland/communications/networked-profile-system.d.ts.map +1 -0
  230. package/dist/lib/decentraland/communications/networked-profile-system.js +73 -0
  231. package/dist/lib/decentraland/communications/networked-profile-system.js.map +1 -0
  232. package/dist/lib/decentraland/communications/player-entity-manager.d.ts +55 -0
  233. package/dist/lib/decentraland/communications/player-entity-manager.d.ts.map +1 -0
  234. package/dist/lib/decentraland/communications/player-entity-manager.js +167 -0
  235. package/dist/lib/decentraland/communications/player-entity-manager.js.map +1 -0
  236. package/dist/lib/decentraland/communications/position-report-system.d.ts +8 -0
  237. package/dist/lib/decentraland/communications/position-report-system.d.ts.map +1 -0
  238. package/dist/lib/decentraland/communications/position-report-system.js +51 -0
  239. package/dist/lib/decentraland/communications/position-report-system.js.map +1 -0
  240. package/dist/lib/decentraland/communications/realm-communications-system.d.ts +17 -0
  241. package/dist/lib/decentraland/communications/realm-communications-system.d.ts.map +1 -0
  242. package/dist/lib/decentraland/communications/realm-communications-system.js +111 -0
  243. package/dist/lib/decentraland/communications/realm-communications-system.js.map +1 -0
  244. package/dist/lib/decentraland/communications/scene-comms.d.ts +9 -0
  245. package/dist/lib/decentraland/communications/scene-comms.d.ts.map +1 -0
  246. package/dist/lib/decentraland/communications/scene-comms.js +20 -0
  247. package/dist/lib/decentraland/communications/scene-comms.js.map +1 -0
  248. package/dist/lib/decentraland/communications/transports/livekit.d.ts +27 -0
  249. package/dist/lib/decentraland/communications/transports/livekit.d.ts.map +1 -0
  250. package/dist/lib/decentraland/communications/transports/livekit.js +135 -0
  251. package/dist/lib/decentraland/communications/transports/livekit.js.map +1 -0
  252. package/dist/lib/decentraland/communications/transports/ws-room.d.ts +26 -0
  253. package/dist/lib/decentraland/communications/transports/ws-room.d.ts.map +1 -0
  254. package/dist/lib/decentraland/communications/transports/ws-room.js +235 -0
  255. package/dist/lib/decentraland/communications/transports/ws-room.js.map +1 -0
  256. package/dist/lib/decentraland/communications/types.d.ts +76 -0
  257. package/dist/lib/decentraland/communications/types.d.ts.map +1 -0
  258. package/dist/lib/decentraland/communications/types.js +6 -0
  259. package/dist/lib/decentraland/communications/types.js.map +1 -0
  260. package/dist/lib/decentraland/communications/ws-async-channel.d.ts +6 -0
  261. package/dist/lib/decentraland/communications/ws-async-channel.d.ts.map +1 -0
  262. package/dist/lib/decentraland/communications/ws-async-channel.js +52 -0
  263. package/dist/lib/decentraland/communications/ws-async-channel.js.map +1 -0
  264. package/dist/lib/decentraland/crdt-internal/components.d.ts +156 -0
  265. package/dist/lib/decentraland/crdt-internal/components.d.ts.map +1 -0
  266. package/dist/lib/decentraland/crdt-internal/components.js +8 -0
  267. package/dist/lib/decentraland/crdt-internal/components.js.map +1 -0
  268. package/dist/lib/decentraland/crdt-internal/conflict-resolution.d.ts +45 -0
  269. package/dist/lib/decentraland/crdt-internal/conflict-resolution.d.ts.map +1 -0
  270. package/dist/lib/decentraland/crdt-internal/conflict-resolution.js +49 -0
  271. package/dist/lib/decentraland/crdt-internal/conflict-resolution.js.map +1 -0
  272. package/dist/lib/decentraland/crdt-internal/dataCompare.d.ts +6 -0
  273. package/dist/lib/decentraland/crdt-internal/dataCompare.d.ts.map +1 -0
  274. package/dist/lib/decentraland/crdt-internal/dataCompare.js +34 -0
  275. package/dist/lib/decentraland/crdt-internal/dataCompare.js.map +1 -0
  276. package/dist/lib/decentraland/crdt-internal/generational-index-pool.d.ts +22 -0
  277. package/dist/lib/decentraland/crdt-internal/generational-index-pool.d.ts.map +1 -0
  278. package/dist/lib/decentraland/crdt-internal/generational-index-pool.js +91 -0
  279. package/dist/lib/decentraland/crdt-internal/generational-index-pool.js.map +1 -0
  280. package/dist/lib/decentraland/crdt-internal/grow-only-set.d.ts +10 -0
  281. package/dist/lib/decentraland/crdt-internal/grow-only-set.d.ts.map +1 -0
  282. package/dist/lib/decentraland/crdt-internal/grow-only-set.js +129 -0
  283. package/dist/lib/decentraland/crdt-internal/grow-only-set.js.map +1 -0
  284. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.d.ts +11 -0
  285. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.d.ts.map +1 -0
  286. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.js +224 -0
  287. package/dist/lib/decentraland/crdt-internal/last-write-win-element-set.js.map +1 -0
  288. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.d.ts +15 -0
  289. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.d.ts.map +1 -0
  290. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.js +50 -0
  291. package/dist/lib/decentraland/crdt-wire-protocol/appendValue.js.map +1 -0
  292. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.d.ts +31 -0
  293. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.d.ts.map +1 -0
  294. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.js +72 -0
  295. package/dist/lib/decentraland/crdt-wire-protocol/crdtMessageProtocol.js.map +1 -0
  296. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.d.ts +14 -0
  297. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.d.ts.map +1 -0
  298. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.js +44 -0
  299. package/dist/lib/decentraland/crdt-wire-protocol/deleteComponent.js.map +1 -0
  300. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.d.ts +11 -0
  301. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.d.ts.map +1 -0
  302. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.js +35 -0
  303. package/dist/lib/decentraland/crdt-wire-protocol/deleteEntity.js.map +1 -0
  304. package/dist/lib/decentraland/crdt-wire-protocol/index.d.ts +8 -0
  305. package/dist/lib/decentraland/crdt-wire-protocol/index.d.ts.map +1 -0
  306. package/dist/lib/decentraland/crdt-wire-protocol/index.js +24 -0
  307. package/dist/lib/decentraland/crdt-wire-protocol/index.js.map +1 -0
  308. package/dist/lib/decentraland/crdt-wire-protocol/message.d.ts +17 -0
  309. package/dist/lib/decentraland/crdt-wire-protocol/message.d.ts.map +1 -0
  310. package/dist/lib/decentraland/crdt-wire-protocol/message.js +49 -0
  311. package/dist/lib/decentraland/crdt-wire-protocol/message.js.map +1 -0
  312. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.d.ts +4 -0
  313. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.d.ts.map +1 -0
  314. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.js +26 -0
  315. package/dist/lib/decentraland/crdt-wire-protocol/prettyPrint.js.map +1 -0
  316. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.d.ts +15 -0
  317. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.d.ts.map +1 -0
  318. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.js +48 -0
  319. package/dist/lib/decentraland/crdt-wire-protocol/putComponent.js.map +1 -0
  320. package/dist/lib/decentraland/crdt-wire-protocol/types.d.ts +80 -0
  321. package/dist/lib/decentraland/crdt-wire-protocol/types.d.ts.map +1 -0
  322. package/dist/lib/decentraland/crdt-wire-protocol/types.js +15 -0
  323. package/dist/lib/decentraland/crdt-wire-protocol/types.js.map +1 -0
  324. package/dist/lib/decentraland/identifiers.d.ts +6 -0
  325. package/dist/lib/decentraland/identifiers.d.ts.map +1 -0
  326. package/dist/lib/decentraland/identifiers.js +22 -0
  327. package/dist/lib/decentraland/identifiers.js.map +1 -0
  328. package/dist/lib/decentraland/identity/avatar.d.ts +4 -0
  329. package/dist/lib/decentraland/identity/avatar.d.ts.map +1 -0
  330. package/dist/lib/decentraland/identity/avatar.js +57 -0
  331. package/dist/lib/decentraland/identity/avatar.js.map +1 -0
  332. package/dist/lib/decentraland/identity/login.d.ts +8 -0
  333. package/dist/lib/decentraland/identity/login.d.ts.map +1 -0
  334. package/dist/lib/decentraland/identity/login.js +121 -0
  335. package/dist/lib/decentraland/identity/login.js.map +1 -0
  336. package/dist/lib/decentraland/identity/signed-fetch.d.ts +17 -0
  337. package/dist/lib/decentraland/identity/signed-fetch.d.ts.map +1 -0
  338. package/dist/lib/decentraland/identity/signed-fetch.js +47 -0
  339. package/dist/lib/decentraland/identity/signed-fetch.js.map +1 -0
  340. package/dist/lib/decentraland/identity/types.d.ts +11 -0
  341. package/dist/lib/decentraland/identity/types.d.ts.map +1 -0
  342. package/dist/lib/decentraland/identity/types.js +3 -0
  343. package/dist/lib/decentraland/identity/types.js.map +1 -0
  344. package/dist/lib/decentraland/positions.d.ts +15 -0
  345. package/dist/lib/decentraland/positions.d.ts.map +1 -0
  346. package/dist/lib/decentraland/positions.js +40 -0
  347. package/dist/lib/decentraland/positions.js.map +1 -0
  348. package/dist/lib/decentraland/realm/resolution.d.ts +2 -0
  349. package/dist/lib/decentraland/realm/resolution.d.ts.map +1 -0
  350. package/dist/lib/decentraland/realm/resolution.js +39 -0
  351. package/dist/lib/decentraland/realm/resolution.js.map +1 -0
  352. package/dist/lib/decentraland/scene/content-server-entity.d.ts +34 -0
  353. package/dist/lib/decentraland/scene/content-server-entity.d.ts.map +1 -0
  354. package/dist/lib/decentraland/scene/content-server-entity.js +22 -0
  355. package/dist/lib/decentraland/scene/content-server-entity.js.map +1 -0
  356. package/dist/lib/decentraland/scene/spawn-points.d.ts +16 -0
  357. package/dist/lib/decentraland/scene/spawn-points.d.ts.map +1 -0
  358. package/dist/lib/decentraland/scene/spawn-points.js +78 -0
  359. package/dist/lib/decentraland/scene/spawn-points.js.map +1 -0
  360. package/dist/lib/decentraland/scene/types.d.ts +38 -0
  361. package/dist/lib/decentraland/scene/types.d.ts.map +1 -0
  362. package/dist/lib/decentraland/scene/types.js +3 -0
  363. package/dist/lib/decentraland/scene/types.js.map +1 -0
  364. package/dist/lib/decentraland/sdk-components/animator-component.d.ts +3 -0
  365. package/dist/lib/decentraland/sdk-components/animator-component.d.ts.map +1 -0
  366. package/dist/lib/decentraland/sdk-components/animator-component.js +12 -0
  367. package/dist/lib/decentraland/sdk-components/animator-component.js.map +1 -0
  368. package/dist/lib/decentraland/sdk-components/avatar-base.d.ts +5 -0
  369. package/dist/lib/decentraland/sdk-components/avatar-base.d.ts.map +1 -0
  370. package/dist/lib/decentraland/sdk-components/avatar-base.js +40 -0
  371. package/dist/lib/decentraland/sdk-components/avatar-base.js.map +1 -0
  372. package/dist/lib/decentraland/sdk-components/avatar-customizations.d.ts +5 -0
  373. package/dist/lib/decentraland/sdk-components/avatar-customizations.d.ts.map +1 -0
  374. package/dist/lib/decentraland/sdk-components/avatar-customizations.js +9 -0
  375. package/dist/lib/decentraland/sdk-components/avatar-customizations.js.map +1 -0
  376. package/dist/lib/decentraland/sdk-components/avatar-shape.d.ts +5 -0
  377. package/dist/lib/decentraland/sdk-components/avatar-shape.d.ts.map +1 -0
  378. package/dist/lib/decentraland/sdk-components/avatar-shape.js +33 -0
  379. package/dist/lib/decentraland/sdk-components/avatar-shape.js.map +1 -0
  380. package/dist/lib/decentraland/sdk-components/billboard-component.d.ts +3 -0
  381. package/dist/lib/decentraland/sdk-components/billboard-component.d.ts.map +1 -0
  382. package/dist/lib/decentraland/sdk-components/billboard-component.js +15 -0
  383. package/dist/lib/decentraland/sdk-components/billboard-component.js.map +1 -0
  384. package/dist/lib/decentraland/sdk-components/delayed-interpolation.d.ts +3 -0
  385. package/dist/lib/decentraland/sdk-components/delayed-interpolation.d.ts.map +1 -0
  386. package/dist/lib/decentraland/sdk-components/delayed-interpolation.js +15 -0
  387. package/dist/lib/decentraland/sdk-components/delayed-interpolation.js.map +1 -0
  388. package/dist/lib/decentraland/sdk-components/engine-info.d.ts +3 -0
  389. package/dist/lib/decentraland/sdk-components/engine-info.d.ts.map +1 -0
  390. package/dist/lib/decentraland/sdk-components/engine-info.js +7 -0
  391. package/dist/lib/decentraland/sdk-components/engine-info.js.map +1 -0
  392. package/dist/lib/decentraland/sdk-components/gltf-component.d.ts +3 -0
  393. package/dist/lib/decentraland/sdk-components/gltf-component.d.ts.map +1 -0
  394. package/dist/lib/decentraland/sdk-components/gltf-component.js +114 -0
  395. package/dist/lib/decentraland/sdk-components/gltf-component.js.map +1 -0
  396. package/dist/lib/decentraland/sdk-components/gltf-loading-state.d.ts +3 -0
  397. package/dist/lib/decentraland/sdk-components/gltf-loading-state.d.ts.map +1 -0
  398. package/dist/lib/decentraland/sdk-components/gltf-loading-state.js +7 -0
  399. package/dist/lib/decentraland/sdk-components/gltf-loading-state.js.map +1 -0
  400. package/dist/lib/decentraland/sdk-components/material-component.d.ts +5 -0
  401. package/dist/lib/decentraland/sdk-components/material-component.d.ts.map +1 -0
  402. package/dist/lib/decentraland/sdk-components/material-component.js +92 -0
  403. package/dist/lib/decentraland/sdk-components/material-component.js.map +1 -0
  404. package/dist/lib/decentraland/sdk-components/mesh-collider-component.d.ts +3 -0
  405. package/dist/lib/decentraland/sdk-components/mesh-collider-component.d.ts.map +1 -0
  406. package/dist/lib/decentraland/sdk-components/mesh-collider-component.js +37 -0
  407. package/dist/lib/decentraland/sdk-components/mesh-collider-component.js.map +1 -0
  408. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.d.ts +5 -0
  409. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.d.ts.map +1 -0
  410. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.js +111 -0
  411. package/dist/lib/decentraland/sdk-components/mesh-renderer-component.js.map +1 -0
  412. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.d.ts +10 -0
  413. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.d.ts.map +1 -0
  414. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.js +23 -0
  415. package/dist/lib/decentraland/sdk-components/pb-based-component-helper.js.map +1 -0
  416. package/dist/lib/decentraland/sdk-components/player-identity-data.d.ts +3 -0
  417. package/dist/lib/decentraland/sdk-components/player-identity-data.d.ts.map +1 -0
  418. package/dist/lib/decentraland/sdk-components/player-identity-data.js +7 -0
  419. package/dist/lib/decentraland/sdk-components/player-identity-data.js.map +1 -0
  420. package/dist/lib/decentraland/sdk-components/pointer-events-result.d.ts +3 -0
  421. package/dist/lib/decentraland/sdk-components/pointer-events-result.d.ts.map +1 -0
  422. package/dist/lib/decentraland/sdk-components/pointer-events-result.js +7 -0
  423. package/dist/lib/decentraland/sdk-components/pointer-events-result.js.map +1 -0
  424. package/dist/lib/decentraland/sdk-components/pointer-events.d.ts +3 -0
  425. package/dist/lib/decentraland/sdk-components/pointer-events.d.ts.map +1 -0
  426. package/dist/lib/decentraland/sdk-components/pointer-events.js +15 -0
  427. package/dist/lib/decentraland/sdk-components/pointer-events.js.map +1 -0
  428. package/dist/lib/decentraland/sdk-components/raycast-component.d.ts +5 -0
  429. package/dist/lib/decentraland/sdk-components/raycast-component.d.ts.map +1 -0
  430. package/dist/lib/decentraland/sdk-components/raycast-component.js +66 -0
  431. package/dist/lib/decentraland/sdk-components/raycast-component.js.map +1 -0
  432. package/dist/lib/decentraland/sdk-components/transform-component.d.ts +13 -0
  433. package/dist/lib/decentraland/sdk-components/transform-component.d.ts.map +1 -0
  434. package/dist/lib/decentraland/sdk-components/transform-component.js +84 -0
  435. package/dist/lib/decentraland/sdk-components/transform-component.js.map +1 -0
  436. package/dist/lib/decentraland/sdk-components/tween.d.ts +3 -0
  437. package/dist/lib/decentraland/sdk-components/tween.d.ts.map +1 -0
  438. package/dist/lib/decentraland/sdk-components/tween.js +15 -0
  439. package/dist/lib/decentraland/sdk-components/tween.js.map +1 -0
  440. package/dist/lib/decentraland/state.d.ts +24 -0
  441. package/dist/lib/decentraland/state.d.ts.map +1 -0
  442. package/dist/lib/decentraland/state.js +16 -0
  443. package/dist/lib/decentraland/state.js.map +1 -0
  444. package/dist/lib/decentraland/system.d.ts +7 -0
  445. package/dist/lib/decentraland/system.d.ts.map +1 -0
  446. package/dist/lib/decentraland/system.js +13 -0
  447. package/dist/lib/decentraland/system.js.map +1 -0
  448. package/dist/lib/decentraland/types.d.ts +9 -0
  449. package/dist/lib/decentraland/types.d.ts.map +1 -0
  450. package/dist/lib/decentraland/types.js +3 -0
  451. package/dist/lib/decentraland/types.js.map +1 -0
  452. package/dist/lib/decentraland/virtual-scene.d.ts +12 -0
  453. package/dist/lib/decentraland/virtual-scene.d.ts.map +1 -0
  454. package/dist/lib/decentraland/virtual-scene.js +3 -0
  455. package/dist/lib/decentraland/virtual-scene.js.map +1 -0
  456. package/dist/lib/engine-main.d.ts +8 -0
  457. package/dist/lib/engine-main.d.ts.map +1 -0
  458. package/dist/lib/engine-main.js +103 -0
  459. package/dist/lib/engine-main.js.map +1 -0
  460. package/dist/lib/misc/atom.d.ts +13 -0
  461. package/dist/lib/misc/atom.d.ts.map +1 -0
  462. package/dist/lib/misc/atom.js +66 -0
  463. package/dist/lib/misc/atom.js.map +1 -0
  464. package/dist/lib/misc/bit-operations.d.ts +3 -0
  465. package/dist/lib/misc/bit-operations.d.ts.map +1 -0
  466. package/dist/lib/misc/bit-operations.js +14 -0
  467. package/dist/lib/misc/bit-operations.js.map +1 -0
  468. package/dist/lib/misc/flat-fetch.d.ts +16 -0
  469. package/dist/lib/misc/flat-fetch.d.ts.map +1 -0
  470. package/dist/lib/misc/flat-fetch.js +26 -0
  471. package/dist/lib/misc/flat-fetch.js.map +1 -0
  472. package/dist/lib/misc/json.d.ts +3 -0
  473. package/dist/lib/misc/json.d.ts.map +1 -0
  474. package/dist/lib/misc/json.js +24 -0
  475. package/dist/lib/misc/json.js.map +1 -0
  476. package/dist/lib/misc/logger.d.ts +6 -0
  477. package/dist/lib/misc/logger.d.ts.map +1 -0
  478. package/dist/lib/misc/logger.js +24 -0
  479. package/dist/lib/misc/logger.js.map +1 -0
  480. package/dist/lib/misc/memoize.d.ts +2 -0
  481. package/dist/lib/misc/memoize.d.ts.map +1 -0
  482. package/dist/lib/misc/memoize.js +16 -0
  483. package/dist/lib/misc/memoize.js.map +1 -0
  484. package/dist/lib/misc/promises.d.ts +3 -0
  485. package/dist/lib/misc/promises.d.ts.map +1 -0
  486. package/dist/lib/misc/promises.js +14 -0
  487. package/dist/lib/misc/promises.js.map +1 -0
  488. package/dist/lib/polyfills/xmlhttprequest.d.ts +6 -0
  489. package/dist/lib/polyfills/xmlhttprequest.d.ts.map +1 -0
  490. package/dist/lib/polyfills/xmlhttprequest.js +127 -0
  491. package/dist/lib/polyfills/xmlhttprequest.js.map +1 -0
  492. package/dist/lib/quick-js/convert-handles.d.ts +14 -0
  493. package/dist/lib/quick-js/convert-handles.d.ts.map +1 -0
  494. package/dist/lib/quick-js/convert-handles.js +83 -0
  495. package/dist/lib/quick-js/convert-handles.js.map +1 -0
  496. package/dist/lib/quick-js/index.d.ts +12 -0
  497. package/dist/lib/quick-js/index.d.ts.map +1 -0
  498. package/dist/lib/quick-js/index.js +159 -0
  499. package/dist/lib/quick-js/index.js.map +1 -0
  500. package/dist/lib/quick-js/rpc-scene-runtime.d.ts +13 -0
  501. package/dist/lib/quick-js/rpc-scene-runtime.d.ts.map +1 -0
  502. package/dist/lib/quick-js/rpc-scene-runtime.js +32 -0
  503. package/dist/lib/quick-js/rpc-scene-runtime.js.map +1 -0
  504. package/dist/lib/quick-js/types.d.ts +35 -0
  505. package/dist/lib/quick-js/types.d.ts.map +1 -0
  506. package/dist/lib/quick-js/types.js +3 -0
  507. package/dist/lib/quick-js/types.js.map +1 -0
  508. package/dist/lib/web-worker-runtime/context.d.ts +12 -0
  509. package/dist/lib/web-worker-runtime/context.d.ts.map +1 -0
  510. package/dist/lib/web-worker-runtime/context.js +97 -0
  511. package/dist/lib/web-worker-runtime/context.js.map +1 -0
  512. package/dist/lib/web-worker-runtime/sandbox.d.ts +9 -0
  513. package/dist/lib/web-worker-runtime/sandbox.d.ts.map +1 -0
  514. package/dist/lib/web-worker-runtime/sandbox.js +98 -0
  515. package/dist/lib/web-worker-runtime/sandbox.js.map +1 -0
  516. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.d.ts +13 -0
  517. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.d.ts.map +1 -0
  518. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.js +32 -0
  519. package/dist/lib/web-worker-runtime/web-worker-scene-runtime.js.map +1 -0
  520. package/package.json +73 -0
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.WebSocketAdapter = void 0;
30
+ const fp_future_1 = require("fp-future");
31
+ const ws_1 = require("ws");
32
+ const rfc5 = __importStar(require("@dcl/protocol/out-js/decentraland/kernel/comms/rfc5/ws_comms.gen"));
33
+ const minimal_1 = require("protobufjs/minimal");
34
+ const crypto_1 = require("@dcl/crypto");
35
+ const mitt_1 = __importDefault(require("mitt"));
36
+ const ws_async_channel_1 = require("../ws-async-channel");
37
+ // shared writer to leverage pools
38
+ const writer = new minimal_1.Writer();
39
+ function craftMessage(packet) {
40
+ writer.reset();
41
+ rfc5.WsPacket.encode(packet, writer);
42
+ return writer.finish();
43
+ }
44
+ class WebSocketAdapter {
45
+ get connectedPromise() {
46
+ return this.connected;
47
+ }
48
+ constructor(url, identity) {
49
+ this.url = url;
50
+ this.identity = identity;
51
+ this.alias = null;
52
+ this.events = (0, mitt_1.default)();
53
+ this.connected = (0, fp_future_1.future)();
54
+ this.peersToAddress = new Map();
55
+ this.ws = null;
56
+ }
57
+ setVoicePosition(_address, _position) {
58
+ }
59
+ async connect() {
60
+ if (this.ws)
61
+ throw new Error('Cannot call connect twice per IBrokerTransport');
62
+ const ws = new ws_1.WebSocket(this.url, ['rfc5', 'rfc4']);
63
+ const connected = (0, fp_future_1.future)();
64
+ ws.binaryType = 'arraybuffer';
65
+ ws.onopen = () => connected.resolve();
66
+ ws.onerror = (event) => {
67
+ console.error('socket error', event);
68
+ this.disconnect().catch(console.error);
69
+ connected.reject(event);
70
+ };
71
+ ws.onclose = () => {
72
+ this.disconnect().catch(console.error);
73
+ connected.reject(new Error('Socket closed'));
74
+ };
75
+ const channel = (0, ws_async_channel_1.wsAsAsyncChannel)(ws, rfc5.WsPacket.decode);
76
+ try {
77
+ await connected;
78
+ console.log(`Comms connected! ${this.url}`);
79
+ {
80
+ // phase 0, identify ourselves
81
+ const identificationMessage = craftMessage({
82
+ message: {
83
+ $case: 'peerIdentification',
84
+ peerIdentification: {
85
+ address: this.identity.address
86
+ }
87
+ }
88
+ });
89
+ ws.send(identificationMessage);
90
+ }
91
+ {
92
+ // phase 1, respond to challenge
93
+ const { message } = await channel.yield(1000, 'Error waiting for remote challenge');
94
+ if (!message) {
95
+ throw new Error('Protocol error: empty message');
96
+ }
97
+ switch (message.$case) {
98
+ case 'welcomeMessage': {
99
+ this.handleWelcomeMessage(message.welcomeMessage, ws);
100
+ break;
101
+ }
102
+ case 'challengeMessage': {
103
+ const authChainJson = JSON.stringify(crypto_1.Authenticator.signPayload(this.identity.authChain, message.challengeMessage.challengeToSign));
104
+ ws.send(craftMessage({
105
+ message: {
106
+ $case: 'signedChallengeForServer',
107
+ signedChallengeForServer: { authChainJson }
108
+ }
109
+ }));
110
+ break;
111
+ }
112
+ case 'peerKicked': {
113
+ const { peerKicked } = message;
114
+ // notifyStatusThroughChat(peerKicked.reason)
115
+ await this.disconnect(Error(message.peerKicked.reason));
116
+ }
117
+ default: {
118
+ // only welcomeMessage and challengeMessage are valid options for this phase of the protocol
119
+ throw new Error('Protocol error: server did not provide a challenge');
120
+ }
121
+ }
122
+ }
123
+ {
124
+ // phase 2, we are in
125
+ const { message } = await channel.yield(1000, 'Error waiting for welcome message');
126
+ if (!message || message.$case !== 'welcomeMessage')
127
+ throw new Error('Protocol error: server did not send a welcomeMessage');
128
+ this.handleWelcomeMessage(message.welcomeMessage, ws);
129
+ }
130
+ }
131
+ catch (err) {
132
+ this.connected.reject(err);
133
+ // close the WebSocket on error
134
+ if (ws.readyState === ws.OPEN)
135
+ ws.close();
136
+ // and bubble up the error
137
+ throw err;
138
+ }
139
+ finally {
140
+ channel.close();
141
+ }
142
+ }
143
+ handleWelcomeMessage(welcomeMessage, socket) {
144
+ this.alias = welcomeMessage.alias;
145
+ for (const [alias, address] of Object.entries(welcomeMessage.peerIdentities)) {
146
+ this.peersToAddress.set(+alias | 0, address);
147
+ }
148
+ this.ws = socket;
149
+ const connectedPeerAddress = new Set(this.peersToAddress.values());
150
+ socket.addEventListener('message', this.onWsMessage.bind(this));
151
+ this.connected.resolve(connectedPeerAddress);
152
+ return connectedPeerAddress;
153
+ }
154
+ send(body, hints) {
155
+ this.internalSend(craftMessage({
156
+ message: {
157
+ $case: 'peerUpdateMessage',
158
+ peerUpdateMessage: {
159
+ body,
160
+ fromAlias: this.alias || 0,
161
+ unreliable: !hints.reliable
162
+ }
163
+ }
164
+ }));
165
+ }
166
+ async disconnect(error) {
167
+ this.internalDisconnect(false, error);
168
+ }
169
+ internalDisconnect(kicked, _error) {
170
+ if (this.ws) {
171
+ const ws = this.ws;
172
+ this.ws = null;
173
+ this.events.emit('DISCONNECTION', { kicked });
174
+ ws.onmessage = null;
175
+ ws.onerror = null;
176
+ ws.onclose = null;
177
+ ws.close();
178
+ }
179
+ }
180
+ async onWsMessage(event) {
181
+ const data = event.data;
182
+ const msg = new Uint8Array(data);
183
+ const { message } = rfc5.WsPacket.decode(msg);
184
+ if (!message)
185
+ return;
186
+ switch (message.$case) {
187
+ case 'peerJoinMessage': {
188
+ const { peerJoinMessage } = message;
189
+ this.peersToAddress.set(peerJoinMessage.alias, peerJoinMessage.address);
190
+ break;
191
+ }
192
+ case 'peerKicked': {
193
+ this.internalDisconnect(true);
194
+ break;
195
+ }
196
+ case 'peerLeaveMessage': {
197
+ const { peerLeaveMessage } = message;
198
+ const currentPeerAddress = this.peersToAddress.get(peerLeaveMessage.alias);
199
+ if (currentPeerAddress) {
200
+ this.peersToAddress.delete(peerLeaveMessage.alias);
201
+ this.events.emit('PEER_DISCONNECTED', { address: currentPeerAddress });
202
+ }
203
+ break;
204
+ }
205
+ case 'peerUpdateMessage': {
206
+ const { peerUpdateMessage } = message;
207
+ const currentPeerAddress = this.peersToAddress.get(peerUpdateMessage.fromAlias);
208
+ if (currentPeerAddress) {
209
+ this.events.emit('message', {
210
+ address: currentPeerAddress,
211
+ data: peerUpdateMessage.body
212
+ });
213
+ }
214
+ else {
215
+ debugger;
216
+ }
217
+ break;
218
+ }
219
+ }
220
+ }
221
+ internalSend(msg) {
222
+ if (!this.ws) {
223
+ console.error(new Error('This transport is closed'));
224
+ return;
225
+ }
226
+ this.connected
227
+ .then(() => {
228
+ if (this.ws && this.ws.readyState === ws_1.WebSocket.OPEN)
229
+ this.ws.send(msg);
230
+ })
231
+ .catch(console.error);
232
+ }
233
+ }
234
+ exports.WebSocketAdapter = WebSocketAdapter;
235
+ //# sourceMappingURL=ws-room.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-room.js","sourceRoot":"","sources":["../../../../../src/lib/decentraland/communications/transports/ws-room.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { Atom } from "../../misc/atom";
2
+ import { Emitter } from "mitt";
3
+ import { Position } from "@dcl/protocol/out-js/decentraland/kernel/comms/rfc4/comms.gen";
4
+ export type CommsAdapter = {
5
+ desiredTransports: Atom<[{
6
+ url: string;
7
+ sceneId: string;
8
+ }]>;
9
+ reportPosition: (position: {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ }) => void;
14
+ disconnect(): void;
15
+ };
16
+ export type CommsTransportEvents = {
17
+ DISCONNECTION: TransportDisconnectedEvent;
18
+ PEER_CONNECTED: PeerConnectedEvent;
19
+ PEER_DISCONNECTED: PeerDisconnectedEvent;
20
+ message: TransportMessageEvent;
21
+ error: Error;
22
+ };
23
+ export interface MinimumCommunicationsTransport {
24
+ /**
25
+ * The .send method is used to send information to all the peers
26
+ * connected to this transport. The hints can be used to tweak the
27
+ * default behavior of the transport.
28
+ */
29
+ send(data: Uint8Array, hints: SendHints, destination: string[]): void;
30
+ /**
31
+ * The .connect() method resolves when the connection with the
32
+ * transport was successful and it is ready to send and receive
33
+ * messages.
34
+ *
35
+ * This method returns a set of connected peerIdentities.
36
+ */
37
+ connect(): Promise<void>;
38
+ /**
39
+ * The .disconnect() method can optionally receive an error that will
40
+ * be bubbled up in the DISCONNECTED event. It should be used to
41
+ * notify the user about possible network errors and to help with the
42
+ * UX of the explorer.
43
+ */
44
+ disconnect(error?: Error): Promise<void>;
45
+ /**
46
+ * Inform the voice handler (owned by the transport) about the position of a peer.
47
+ */
48
+ setVoicePosition(address: string, position: Position): void;
49
+ /**
50
+ * Event emitter (mitt) with all the events produced by the transport.
51
+ */
52
+ events: Emitter<CommsTransportEvents>;
53
+ }
54
+ export type SendHints = {
55
+ reliable: boolean;
56
+ };
57
+ export type TransportDisconnectedEvent = {
58
+ kicked: boolean;
59
+ error?: Error;
60
+ };
61
+ export type PeerConnectedEvent = {
62
+ address: string;
63
+ };
64
+ export type PeerDisconnectedEvent = {
65
+ address: string;
66
+ };
67
+ export type TransportMessageEvent = {
68
+ address: string;
69
+ data: Uint8Array;
70
+ };
71
+ export declare const commsLogger: {
72
+ enabled: boolean;
73
+ log(...args: any[]): void;
74
+ error(...args: any[]): void;
75
+ };
76
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/decentraland/communications/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,OAAO,EAAE,QAAQ,EAAE,MAAM,+DAA+D,CAAA;AAExF,MAAM,MAAM,YAAY,GAAG;IACzB,iBAAiB,EAAE,IAAI,CAAC,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC3D,cAAc,EAAE,CAAC,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvE,UAAU,IAAI,IAAI,CAAA;CACnB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,0BAA0B,CAAA;IACzC,cAAc,EAAE,kBAAkB,CAAA;IAClC,iBAAiB,EAAE,qBAAqB,CAAA;IACxC,OAAO,EAAE,qBAAqB,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAGD,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;IACrE;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACxB;;;;;OAKG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAExC;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IAE3D;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAA;CACtC;AAED,MAAM,MAAM,SAAS,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAA;AAG7C,MAAM,MAAM,0BAA0B,GAAG;IAGvC,MAAM,EAAE,OAAO,CAAA;IAEf,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAGD,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAGD,MAAM,MAAM,qBAAqB,GAAG;IAElC,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAGD,MAAM,MAAM,qBAAqB,GAAG;IAElC,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,UAAU,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW;;;;CAA2B,CAAA"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.commsLogger = void 0;
4
+ const logger_1 = require("../../misc/logger");
5
+ exports.commsLogger = (0, logger_1.createLogger)('📡 Comms');
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/lib/decentraland/communications/types.ts"],"names":[],"mappings":";;;AAEA,8CAAgD;AAkFnC,QAAA,WAAW,GAAG,IAAA,qBAAY,EAAC,UAAU,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { AsyncQueue } from '@dcl/rpc/dist/push-channel';
2
+ import { WebSocket } from 'ws';
3
+ export declare function wsAsAsyncChannel<T>(socket: WebSocket, decode: (data: Uint8Array) => T): AsyncQueue<T> & {
4
+ yield(timeoutMs: number, error?: string): Promise<T>;
5
+ };
6
+ //# sourceMappingURL=ws-async-channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-async-channel.d.ts","sourceRoot":"","sources":["../../../../src/lib/decentraland/communications/ws-async-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAgB,MAAM,IAAI,CAAA;AAG5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,CAAC;qBAuB3D,MAAM,UAAU,MAAM,GAAG,QAAQ,CAAC,CAAC;EAY7D"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wsAsAsyncChannel = void 0;
4
+ const push_channel_1 = require("@dcl/rpc/dist/push-channel");
5
+ // this function converts a websocket into an AsyncQueue to send messages and await their responses
6
+ function wsAsAsyncChannel(socket, decode) {
7
+ // Wire the socket to a pushable channel
8
+ const channel = new push_channel_1.AsyncQueue((queue, action) => {
9
+ if (action === 'close') {
10
+ socket.removeEventListener('message', processMessage);
11
+ socket.removeEventListener('close', closeChannel);
12
+ }
13
+ });
14
+ function processMessage(event) {
15
+ try {
16
+ const data = event.data;
17
+ const msg = data instanceof Buffer ? new Uint8Array(data) : new Uint8Array(data);
18
+ channel.enqueue(decode(msg));
19
+ }
20
+ catch (error) {
21
+ socket.close(undefined, 'Error: ' + error);
22
+ }
23
+ }
24
+ function closeChannel() {
25
+ channel.close();
26
+ }
27
+ socket.addEventListener('message', processMessage);
28
+ socket.addEventListener('close', closeChannel);
29
+ return Object.assign(channel, {
30
+ async yield(timeoutMs, error) {
31
+ if (timeoutMs) {
32
+ const next = (await Promise.race([channel.next(), timeout(timeoutMs, error)]));
33
+ if (next.done)
34
+ throw new Error('Cannot consume message from closed AsyncQueue. ' + error);
35
+ return next.value;
36
+ }
37
+ else {
38
+ const next = await channel.next();
39
+ if (next.done)
40
+ throw new Error('Cannot consume message from closed AsyncQueue.' + error);
41
+ return next.value;
42
+ }
43
+ }
44
+ });
45
+ }
46
+ exports.wsAsAsyncChannel = wsAsAsyncChannel;
47
+ function timeout(ms, error = 'Timed out') {
48
+ return new Promise((_, reject) => {
49
+ setTimeout(() => reject(new Error(error)), ms);
50
+ });
51
+ }
52
+ //# sourceMappingURL=ws-async-channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-async-channel.js","sourceRoot":"","sources":["../../../../src/lib/decentraland/communications/ws-async-channel.ts"],"names":[],"mappings":";;;AAAA,6DAAuD;AAGvD,mGAAmG;AACnG,SAAgB,gBAAgB,CAAI,MAAiB,EAAE,MAA+B;IACpF,wCAAwC;IACxC,MAAM,OAAO,GAAG,IAAI,yBAAU,CAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAClD,IAAI,MAAM,KAAK,OAAO,EAAE;YACtB,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;YACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;SAClD;IACH,CAAC,CAAC,CAAA;IACF,SAAS,cAAc,CAAC,KAAmB;QACzC,IAAI;YACF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAA;YACvB,MAAM,GAAG,GAAG,IAAI,YAAY,MAAM,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAmB,CAAC,CAAA;YAC/F,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;SAC7B;QAAC,OAAO,KAAU,EAAE;YACnB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,CAAA;SAC3C;IACH,CAAC;IACD,SAAS,YAAY;QACnB,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;IAClD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;IAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC5B,KAAK,CAAC,KAAK,CAAC,SAAiB,EAAE,KAAc;YAC3C,IAAI,SAAS,EAAE;gBACb,MAAM,IAAI,GAAQ,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAQ,CAAA;gBAC1F,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,GAAG,KAAK,CAAC,CAAA;gBACzF,OAAO,IAAI,CAAC,KAAK,CAAA;aAClB;iBAAM;gBACL,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAA;gBACjC,IAAI,IAAI,CAAC,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,GAAG,KAAK,CAAC,CAAA;gBACxF,OAAO,IAAI,CAAC,KAAK,CAAA;aAClB;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAnCD,4CAmCC;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,KAAK,GAAG,WAAW;IAC9C,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;QAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAChD,CAAC,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * This file exposes interfaces for the two components described in ADR-117
3
+ * LastWriteWins-Element-Set
4
+ * GrowOnly-Set
5
+ */
6
+ import { BabylonEntity } from "../../babylon/scene/BabylonEntity";
7
+ import { ByteBuffer } from "../ByteBuffer";
8
+ import { CrdtMessageBody, DeleteComponentMessageBody, PutComponentMessageBody } from "../crdt-wire-protocol";
9
+ import { Entity } from "../types";
10
+ /**
11
+ * Component types are used to pick the wire protocol and the conflict resolution algorithm
12
+ */
13
+ export declare const enum ComponentType {
14
+ LastWriteWinElementSet = 0,
15
+ GrowOnlyValueSet = 1
16
+ }
17
+ /**
18
+ * A conflict resolution message is the response to an outdated or invalid state
19
+ * in the CRDT.
20
+ */
21
+ export type ConflictResolutionMessage = PutComponentMessageBody | DeleteComponentMessageBody;
22
+ /**
23
+ * Serialize/Deserialize functions for components. Both functions are expected
24
+ * to throw in case of not enough or corrupted data
25
+ */
26
+ export type SerDe<T> = {
27
+ serialize(value: T, buffer: ByteBuffer): void;
28
+ deserialize(buffer: ByteBuffer): T;
29
+ };
30
+ export type ComponentDeclaration<T, ComponentNumber extends number> = SerDe<T> & {
31
+ readonly componentId: ComponentNumber;
32
+ applyChanges: ApplyComponentOperation<T>;
33
+ };
34
+ export type ComponentDefinition<T> = LastWriteWinElementSetComponentDefinition<T> | GrowOnlyValueSetComponentDefinition<T>;
35
+ export type ApplyComponentOperation<T> = (ecsEntity: BabylonEntity, componentDefinition: ComponentDefinition<T>) => void;
36
+ export interface BaseComponent<T> {
37
+ readonly componentId: number;
38
+ readonly componentType: ComponentType;
39
+ readonly declaration: ComponentDeclaration<T, number>;
40
+ /**
41
+ * This function receives a CRDT update and returns true if the change is accepted.
42
+ * On the contrary, if the change needs to be corrected to resolve a conflict, the
43
+ * corrective message will be written to the conflictResolutionByteBuffer
44
+ */
45
+ updateFromCrdt(body: CrdtMessageBody, conflictResolutionByteBuffer: ByteBuffer): boolean;
46
+ /**
47
+ * This function writes all CRDT updates into a outBuffer. After returning, this function
48
+ * clears the internal dirty state. Updates are produced only once.
49
+ *
50
+ * This function updates the internal "tick" counter for the entire component.
51
+ */
52
+ dumpCrdtUpdates(outBuffer: ByteBuffer): void;
53
+ /**
54
+ * This function writes CRDT updates into a outBuffer filtering by the updates with
55
+ * a tick greater than the one provided. It returns the biggest tick written
56
+ * to the buffer.
57
+ *
58
+ * WARNING! this function ignores the dirty state. To commit the dirty state please first call
59
+ * dumpCrdtUpdates. That will increase the counters for each dirty entity and will allow
60
+ * this function to filter by tick.
61
+ */
62
+ dumpCrdtDeltas(outBuffer: ByteBuffer, fromTick: number): number;
63
+ /**
64
+ * Marks the entity as deleted and signals it cannot be used ever again. It must
65
+ * clear the component internal state, produces a synchronization message to remove
66
+ * the component from the entity.
67
+ * @param entity - Entity ID that was deleted.
68
+ */
69
+ entityDeleted(entity: Entity, markAsDirty: boolean): void;
70
+ /**
71
+ * Get if the entity has this component
72
+ * @param entity - entity to test
73
+ */
74
+ has(entity: Entity): boolean;
75
+ /**
76
+ * Get the current component value | undefined
77
+ * @param entity - Entity that will be used to get the component
78
+ * @returns
79
+ */
80
+ get(entity: Entity): any;
81
+ iterator(): Iterable<[Entity, any]>;
82
+ dirtyIterator(): Iterable<Entity>;
83
+ }
84
+ export interface LastWriteWinElementSetComponentDefinition<T> extends BaseComponent<T> {
85
+ readonly componentType: ComponentType.LastWriteWinElementSet;
86
+ /**
87
+ * Get the value of the component for an entity
88
+ * @param entity - Entity that will be used to get the component
89
+ * @returns
90
+ */
91
+ get(entity: Entity): T | undefined;
92
+ /**
93
+ * Get the readonly component of the entity (to mutate it, use getMutable instead), or null if the entity doesn't have the component.
94
+ * @param entity - Entity that will be used to try to get the component
95
+ */
96
+ getOrNull(entity: Entity): Readonly<T> | null;
97
+ /**
98
+ * Add the current component to an entity, throw an error if the component already exists (use `createOrReplace` instead).
99
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
100
+ * @param entity - Entity that will be used to create the component
101
+ * @param val - The initial value
102
+ */
103
+ create(entity: Entity, val: T): T;
104
+ /**
105
+ * Add the current component to an entity or replace the content if the entity already has the component
106
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
107
+ * @param entity - Entity that will be used to create or replace the component
108
+ * @param val - The initial or new value
109
+ */
110
+ createOrReplace(entity: Entity, val: T): T;
111
+ /**
112
+ * Delete the current component to an entity, return null if the entity doesn't have the current component.
113
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
114
+ * @param entity - Entity to delete the component from
115
+ * @param markAsDirty - defaults to true
116
+ */
117
+ deleteFrom(entity: Entity, markAsDirty?: boolean): T | null;
118
+ /**
119
+
120
+ * Delete the current component to an entity, return null if the entity doesn't have the current component.
121
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
122
+ * @param entity - Entity to delete the component from
123
+ */
124
+ deleteFrom(entity: Entity): T | null;
125
+ /**
126
+ * Get the mutable component of the entity, throw an error if the entity doesn't have the component.
127
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
128
+ * @param entity - Entity to get the component from
129
+ */
130
+ getMutable(entity: Entity): T;
131
+ /**
132
+ * Get the mutable component of the entity, return null if the entity doesn't have the component.
133
+ * - Internal comment: This method adds the &lt;entity,component&gt; to the list to be reviewed next frame
134
+ * @param entity - Entity to get the component from
135
+ */
136
+ getMutableOrNull(entity: Entity): T | null;
137
+ iterator(): Iterable<[Entity, T]>;
138
+ }
139
+ export interface GrowOnlyValueSetComponentDefinition<T> extends BaseComponent<T> {
140
+ readonly componentType: ComponentType.GrowOnlyValueSet;
141
+ /**
142
+ * Appends an element to the set.
143
+ * @param entity - Entity that will host the value
144
+ * @param val - The final value. The Set will freeze the value, it won't be editable from
145
+ * the script.
146
+ */
147
+ addValue(entity: Entity, val: Readonly<T>): ReadonlySet<T>;
148
+ /**
149
+ * Get the readonly component of the entity (to mutate it, use getMutable instead),
150
+ * throws an error if the entity doesn't have the component.
151
+ * @param entity - Entity that will be used to get the component
152
+ * @returns
153
+ */
154
+ get(entity: Entity): ReadonlySet<T>;
155
+ }
156
+ //# sourceMappingURL=components.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/lib/decentraland/crdt-internal/components.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * This file exposes interfaces for the two components described in ADR-117
4
+ * LastWriteWins-Element-Set
5
+ * GrowOnly-Set
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/lib/decentraland/crdt-internal/components.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,45 @@
1
+ export declare enum ProcessMessageResultType {
2
+ /**
3
+ * Typical message and new state set.
4
+ * @state CHANGE
5
+ * @reason Incoming message has a timestamp greater
6
+ */
7
+ StateUpdatedTimestamp = 1,
8
+ /**
9
+ * Typical message when it is considered old.
10
+ * @state it does NOT CHANGE.
11
+ * @reason incoming message has a timestamp lower.
12
+ */
13
+ StateOutdatedTimestamp = 2,
14
+ /**
15
+ * Weird message, same timestamp and data.
16
+ * @state it does NOT CHANGE.
17
+ * @reason consistent state between peers.
18
+ */
19
+ NoChanges = 3,
20
+ /**
21
+ * Less but typical message, same timestamp, resolution by data.
22
+ * @state it does NOT CHANGE.
23
+ * @reason incoming message has a LOWER data.
24
+ */
25
+ StateOutdatedData = 4,
26
+ /**
27
+ * Less but typical message, same timestamp, resolution by data.
28
+ * @state CHANGE.
29
+ * @reason incoming message has a GREATER data.
30
+ */
31
+ StateUpdatedData = 5,
32
+ /**
33
+ * Entity was previously deleted.
34
+ * @state it does NOT CHANGE.
35
+ * @reason The message is considered old.
36
+ */
37
+ EntityWasDeleted = 6,
38
+ /**
39
+ * Entity should be deleted.
40
+ * @state CHANGE.
41
+ * @reason the state is storing old entities
42
+ */
43
+ EntityDeleted = 7
44
+ }
45
+ //# sourceMappingURL=conflict-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-resolution.d.ts","sourceRoot":"","sources":["../../../../src/lib/decentraland/crdt-internal/conflict-resolution.ts"],"names":[],"mappings":"AACA,oBAAY,wBAAwB;IAClC;;;;OAIG;IACH,qBAAqB,IAAI;IAEzB;;;;OAIG;IACH,sBAAsB,IAAI;IAE1B;;;;OAIG;IACH,SAAS,IAAI;IAEb;;;;OAIG;IACH,iBAAiB,IAAI;IAErB;;;;OAIG;IACH,gBAAgB,IAAI;IAEpB;;;;OAIG;IACH,gBAAgB,IAAI;IAEpB;;;;OAIG;IACH,aAAa,IAAI;CAClB"}