@wabot-dev/framework 0.0.14 → 0.0.17

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 (370) hide show
  1. package/dist/src/ai/deepseek/DeepSeekChatBotAdapter.js +108 -0
  2. package/dist/src/channels/cmd/@cmd.js +1 -1
  3. package/dist/src/channels/cmd/CmdChannel.js +1 -1
  4. package/dist/src/channels/socket-io/@socket.js +24 -0
  5. package/dist/src/channels/socket-io/SocketChannel.js +78 -0
  6. package/dist/src/channels/socket-io/SocketChannelConfig.js +15 -0
  7. package/dist/src/channels/telegram/@telegram.js +1 -1
  8. package/dist/src/channels/telegram/TelegramChannel.js +1 -1
  9. package/dist/src/channels/whatsapp/@whatsapp.js +1 -1
  10. package/dist/src/channels/whatsapp/WhatsAppChannel.js +1 -1
  11. package/dist/src/channels/whatsapp/WhatsAppConnection.js +1 -1
  12. package/dist/src/channels/whatsapp/WhatsAppDevConnection.js +11 -3
  13. package/dist/src/channels/whatsapp/{whatsAppDevSocketContracts.js → WhatsAppDevSocketContracts.js} +1 -0
  14. package/dist/src/channels/whatsapp/WhatsAppProdConnection.js +4 -1
  15. package/dist/src/channels/whatsapp/WhatsAppSender.js +23 -0
  16. package/dist/src/controller/socket.io/SocketIO.js +1 -1
  17. package/dist/src/index.d.ts +82 -9
  18. package/dist/src/index.js +9 -1
  19. package/dist/src/logger/Logger.js +1 -1
  20. package/dist/src/mindset/MindsetOperator.js +1 -1
  21. package/dist/src/server/runChannel.js +1 -1
  22. package/dist/src/server/runServer.js +4 -4
  23. package/package.json +2 -1
  24. package/dist/src/_virtual/XMLHttpRequest.js +0 -7
  25. package/dist/src/_virtual/_commonjsHelpers.js +0 -32
  26. package/dist/src/_virtual/base64id.js +0 -3
  27. package/dist/src/_virtual/binary.js +0 -3
  28. package/dist/src/_virtual/bom-handling.js +0 -3
  29. package/dist/src/_virtual/broadcast-operator.js +0 -3
  30. package/dist/src/_virtual/browser.js +0 -3
  31. package/dist/src/_virtual/browser2.js +0 -3
  32. package/dist/src/_virtual/browser3.js +0 -3
  33. package/dist/src/_virtual/browser4.js +0 -3
  34. package/dist/src/_virtual/browser5.js +0 -3
  35. package/dist/src/_virtual/buffer-util.js +0 -3
  36. package/dist/src/_virtual/buffer-util2.js +0 -3
  37. package/dist/src/_virtual/buffer-util3.js +0 -3
  38. package/dist/src/_virtual/charset.js +0 -3
  39. package/dist/src/_virtual/charset2.js +0 -3
  40. package/dist/src/_virtual/client.js +0 -3
  41. package/dist/src/_virtual/cluster-adapter.js +0 -3
  42. package/dist/src/_virtual/commons.js +0 -3
  43. package/dist/src/_virtual/dbcs-codec.js +0 -3
  44. package/dist/src/_virtual/decodePacket.js +0 -3
  45. package/dist/src/_virtual/encodePacket.js +0 -3
  46. package/dist/src/_virtual/encoding.js +0 -3
  47. package/dist/src/_virtual/encoding2.js +0 -3
  48. package/dist/src/_virtual/engine.io.js +0 -3
  49. package/dist/src/_virtual/in-memory-adapter.js +0 -3
  50. package/dist/src/_virtual/index.js +0 -7
  51. package/dist/src/_virtual/index10.js +0 -3
  52. package/dist/src/_virtual/index11.js +0 -3
  53. package/dist/src/_virtual/index12.js +0 -3
  54. package/dist/src/_virtual/index13.js +0 -3
  55. package/dist/src/_virtual/index14.js +0 -3
  56. package/dist/src/_virtual/index15.js +0 -3
  57. package/dist/src/_virtual/index16.js +0 -3
  58. package/dist/src/_virtual/index17.js +0 -3
  59. package/dist/src/_virtual/index18.js +0 -3
  60. package/dist/src/_virtual/index19.js +0 -3
  61. package/dist/src/_virtual/index2.js +0 -7
  62. package/dist/src/_virtual/index20.js +0 -3
  63. package/dist/src/_virtual/index21.js +0 -3
  64. package/dist/src/_virtual/index22.js +0 -3
  65. package/dist/src/_virtual/index23.js +0 -3
  66. package/dist/src/_virtual/index24.js +0 -3
  67. package/dist/src/_virtual/index25.js +0 -3
  68. package/dist/src/_virtual/index26.js +0 -3
  69. package/dist/src/_virtual/index27.js +0 -3
  70. package/dist/src/_virtual/index28.js +0 -3
  71. package/dist/src/_virtual/index29.js +0 -3
  72. package/dist/src/_virtual/index3.js +0 -7
  73. package/dist/src/_virtual/index30.js +0 -3
  74. package/dist/src/_virtual/index31.js +0 -3
  75. package/dist/src/_virtual/index32.js +0 -3
  76. package/dist/src/_virtual/index33.js +0 -3
  77. package/dist/src/_virtual/index4.js +0 -3
  78. package/dist/src/_virtual/index5.js +0 -3
  79. package/dist/src/_virtual/index6.js +0 -3
  80. package/dist/src/_virtual/index7.js +0 -3
  81. package/dist/src/_virtual/index8.js +0 -6
  82. package/dist/src/_virtual/index9.js +0 -3
  83. package/dist/src/_virtual/inherits.js +0 -3
  84. package/dist/src/_virtual/inherits_browser.js +0 -3
  85. package/dist/src/_virtual/is-binary.js +0 -3
  86. package/dist/src/_virtual/language.js +0 -3
  87. package/dist/src/_virtual/language2.js +0 -3
  88. package/dist/src/_virtual/mediaType.js +0 -3
  89. package/dist/src/_virtual/mediaType2.js +0 -3
  90. package/dist/src/_virtual/namespace.js +0 -3
  91. package/dist/src/_virtual/node.js +0 -3
  92. package/dist/src/_virtual/node2.js +0 -3
  93. package/dist/src/_virtual/node3.js +0 -3
  94. package/dist/src/_virtual/node4.js +0 -3
  95. package/dist/src/_virtual/node5.js +0 -3
  96. package/dist/src/_virtual/parent-namespace.js +0 -3
  97. package/dist/src/_virtual/polling-jsonp.js +0 -3
  98. package/dist/src/_virtual/polling.js +0 -3
  99. package/dist/src/_virtual/polling2.js +0 -3
  100. package/dist/src/_virtual/receiver.js +0 -3
  101. package/dist/src/_virtual/sbcs-codec.js +0 -3
  102. package/dist/src/_virtual/sender.js +0 -3
  103. package/dist/src/_virtual/server.js +0 -3
  104. package/dist/src/_virtual/socket-types.js +0 -3
  105. package/dist/src/_virtual/socket.js +0 -3
  106. package/dist/src/_virtual/socket2.js +0 -3
  107. package/dist/src/_virtual/stream.js +0 -3
  108. package/dist/src/_virtual/transport.js +0 -3
  109. package/dist/src/_virtual/typed-events.js +0 -3
  110. package/dist/src/_virtual/userver.js +0 -3
  111. package/dist/src/_virtual/utf16.js +0 -3
  112. package/dist/src/_virtual/utf32.js +0 -3
  113. package/dist/src/_virtual/utf7.js +0 -3
  114. package/dist/src/_virtual/uws.js +0 -3
  115. package/dist/src/_virtual/validation.js +0 -3
  116. package/dist/src/_virtual/validation2.js +0 -3
  117. package/dist/src/_virtual/validation3.js +0 -3
  118. package/dist/src/_virtual/websocket-server.js +0 -3
  119. package/dist/src/_virtual/websocket.js +0 -7
  120. package/dist/src/_virtual/websocket2.js +0 -3
  121. package/dist/src/_virtual/websocket3.js +0 -3
  122. package/dist/src/_virtual/webtransport.js +0 -3
  123. package/dist/src/_virtual/yeast.js +0 -3
  124. package/dist/src/node_modules/@socket.io/component-emitter/lib/esm/index.js +0 -171
  125. package/dist/src/node_modules/base64id/lib/base64id.js +0 -117
  126. package/dist/src/node_modules/body-parser/index.js +0 -96
  127. package/dist/src/node_modules/body-parser/lib/read.js +0 -225
  128. package/dist/src/node_modules/body-parser/lib/types/json.js +0 -222
  129. package/dist/src/node_modules/body-parser/lib/types/raw.js +0 -90
  130. package/dist/src/node_modules/body-parser/lib/types/text.js +0 -95
  131. package/dist/src/node_modules/body-parser/lib/types/urlencoded.js +0 -194
  132. package/dist/src/node_modules/body-parser/lib/utils.js +0 -96
  133. package/dist/src/node_modules/bytes/index.js +0 -180
  134. package/dist/src/node_modules/call-bind-apply-helpers/actualApply.js +0 -24
  135. package/dist/src/node_modules/call-bind-apply-helpers/functionApply.js +0 -13
  136. package/dist/src/node_modules/call-bind-apply-helpers/functionCall.js +0 -13
  137. package/dist/src/node_modules/call-bind-apply-helpers/index.js +0 -29
  138. package/dist/src/node_modules/call-bind-apply-helpers/reflectApply.js +0 -13
  139. package/dist/src/node_modules/call-bound/index.js +0 -31
  140. package/dist/src/node_modules/content-type/index.js +0 -235
  141. package/dist/src/node_modules/cookie/index.js +0 -345
  142. package/dist/src/node_modules/cors/lib/index.js +0 -249
  143. package/dist/src/node_modules/debug/src/browser.js +0 -286
  144. package/dist/src/node_modules/debug/src/common.js +0 -303
  145. package/dist/src/node_modules/debug/src/index.js +0 -23
  146. package/dist/src/node_modules/debug/src/node.js +0 -279
  147. package/dist/src/node_modules/depd/index.js +0 -550
  148. package/dist/src/node_modules/dunder-proto/get.js +0 -42
  149. package/dist/src/node_modules/ee-first/index.js +0 -104
  150. package/dist/src/node_modules/engine.io/build/engine.io.js +0 -73
  151. package/dist/src/node_modules/engine.io/build/parser-v3/index.js +0 -429
  152. package/dist/src/node_modules/engine.io/build/parser-v3/utf8.js +0 -198
  153. package/dist/src/node_modules/engine.io/build/server.js +0 -808
  154. package/dist/src/node_modules/engine.io/build/socket.js +0 -469
  155. package/dist/src/node_modules/engine.io/build/transport.js +0 -131
  156. package/dist/src/node_modules/engine.io/build/transports/index.js +0 -37
  157. package/dist/src/node_modules/engine.io/build/transports/polling-jsonp.js +0 -53
  158. package/dist/src/node_modules/engine.io/build/transports/polling.js +0 -346
  159. package/dist/src/node_modules/engine.io/build/transports/websocket.js +0 -106
  160. package/dist/src/node_modules/engine.io/build/transports/webtransport.js +0 -76
  161. package/dist/src/node_modules/engine.io/build/transports-uws/index.js +0 -20
  162. package/dist/src/node_modules/engine.io/build/transports-uws/polling.js +0 -378
  163. package/dist/src/node_modules/engine.io/build/transports-uws/websocket.js +0 -85
  164. package/dist/src/node_modules/engine.io/build/userver.js +0 -292
  165. package/dist/src/node_modules/engine.io/node_modules/accepts/index.js +0 -250
  166. package/dist/src/node_modules/engine.io/node_modules/debug/src/browser.js +0 -285
  167. package/dist/src/node_modules/engine.io/node_modules/debug/src/common.js +0 -285
  168. package/dist/src/node_modules/engine.io/node_modules/debug/src/index.js +0 -23
  169. package/dist/src/node_modules/engine.io/node_modules/debug/src/node.js +0 -279
  170. package/dist/src/node_modules/engine.io/node_modules/mime-db/db.json.js +0 -10704
  171. package/dist/src/node_modules/engine.io/node_modules/mime-db/index.js +0 -24
  172. package/dist/src/node_modules/engine.io/node_modules/mime-types/index.js +0 -202
  173. package/dist/src/node_modules/engine.io/node_modules/negotiator/index.js +0 -96
  174. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/charset.js +0 -179
  175. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/encoding.js +0 -193
  176. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/language.js +0 -188
  177. package/dist/src/node_modules/engine.io/node_modules/negotiator/lib/mediaType.js +0 -304
  178. package/dist/src/node_modules/engine.io/node_modules/ws/index.js +0 -28
  179. package/dist/src/node_modules/engine.io/node_modules/ws/lib/buffer-util.js +0 -142
  180. package/dist/src/node_modules/engine.io/node_modules/ws/lib/constants.js +0 -21
  181. package/dist/src/node_modules/engine.io/node_modules/ws/lib/event-target.js +0 -303
  182. package/dist/src/node_modules/engine.io/node_modules/ws/lib/extension.js +0 -214
  183. package/dist/src/node_modules/engine.io/node_modules/ws/lib/limiter.js +0 -64
  184. package/dist/src/node_modules/engine.io/node_modules/ws/lib/permessage-deflate.js +0 -528
  185. package/dist/src/node_modules/engine.io/node_modules/ws/lib/receiver.js +0 -719
  186. package/dist/src/node_modules/engine.io/node_modules/ws/lib/sender.js +0 -513
  187. package/dist/src/node_modules/engine.io/node_modules/ws/lib/stream.js +0 -170
  188. package/dist/src/node_modules/engine.io/node_modules/ws/lib/subprotocol.js +0 -73
  189. package/dist/src/node_modules/engine.io/node_modules/ws/lib/validation.js +0 -141
  190. package/dist/src/node_modules/engine.io/node_modules/ws/lib/websocket-server.js +0 -559
  191. package/dist/src/node_modules/engine.io/node_modules/ws/lib/websocket.js +0 -1363
  192. package/dist/src/node_modules/engine.io-client/build/esm/contrib/has-cors.js +0 -13
  193. package/dist/src/node_modules/engine.io-client/build/esm/contrib/parseqs.js +0 -36
  194. package/dist/src/node_modules/engine.io-client/build/esm/contrib/parseuri.js +0 -66
  195. package/dist/src/node_modules/engine.io-client/build/esm/globals.node.js +0 -92
  196. package/dist/src/node_modules/engine.io-client/build/esm/index.js +0 -17
  197. package/dist/src/node_modules/engine.io-client/build/esm/socket.js +0 -728
  198. package/dist/src/node_modules/engine.io-client/build/esm/transport.js +0 -143
  199. package/dist/src/node_modules/engine.io-client/build/esm/transports/index.js +0 -11
  200. package/dist/src/node_modules/engine.io-client/build/esm/transports/polling-xhr.js +0 -256
  201. package/dist/src/node_modules/engine.io-client/build/esm/transports/polling-xhr.node.js +0 -21
  202. package/dist/src/node_modules/engine.io-client/build/esm/transports/polling.js +0 -146
  203. package/dist/src/node_modules/engine.io-client/build/esm/transports/websocket.js +0 -107
  204. package/dist/src/node_modules/engine.io-client/build/esm/transports/websocket.node.js +0 -48
  205. package/dist/src/node_modules/engine.io-client/build/esm/transports/webtransport.js +0 -83
  206. package/dist/src/node_modules/engine.io-client/build/esm/util.js +0 -62
  207. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/buffer-util.js +0 -142
  208. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/constants.js +0 -21
  209. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/event-target.js +0 -303
  210. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/extension.js +0 -214
  211. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/limiter.js +0 -64
  212. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/permessage-deflate.js +0 -528
  213. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/receiver.js +0 -719
  214. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/sender.js +0 -513
  215. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/stream.js +0 -170
  216. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/subprotocol.js +0 -73
  217. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/validation.js +0 -141
  218. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/websocket-server.js +0 -559
  219. package/dist/src/node_modules/engine.io-client/node_modules/ws/lib/websocket.js +0 -1363
  220. package/dist/src/node_modules/engine.io-parser/build/cjs/commons.js +0 -29
  221. package/dist/src/node_modules/engine.io-parser/build/cjs/decodePacket.js +0 -70
  222. package/dist/src/node_modules/engine.io-parser/build/cjs/encodePacket.js +0 -51
  223. package/dist/src/node_modules/engine.io-parser/build/cjs/index.js +0 -179
  224. package/dist/src/node_modules/engine.io-parser/build/esm/commons.js +0 -15
  225. package/dist/src/node_modules/engine.io-parser/build/esm/decodePacket.js +0 -58
  226. package/dist/src/node_modules/engine.io-parser/build/esm/encodePacket.js +0 -36
  227. package/dist/src/node_modules/engine.io-parser/build/esm/index.js +0 -158
  228. package/dist/src/node_modules/es-define-property/index.js +0 -23
  229. package/dist/src/node_modules/es-errors/eval.js +0 -13
  230. package/dist/src/node_modules/es-errors/index.js +0 -13
  231. package/dist/src/node_modules/es-errors/range.js +0 -13
  232. package/dist/src/node_modules/es-errors/ref.js +0 -13
  233. package/dist/src/node_modules/es-errors/syntax.js +0 -13
  234. package/dist/src/node_modules/es-errors/type.js +0 -13
  235. package/dist/src/node_modules/es-errors/uri.js +0 -13
  236. package/dist/src/node_modules/es-object-atoms/index.js +0 -13
  237. package/dist/src/node_modules/function-bind/implementation.js +0 -93
  238. package/dist/src/node_modules/function-bind/index.js +0 -16
  239. package/dist/src/node_modules/get-intrinsic/index.js +0 -413
  240. package/dist/src/node_modules/get-proto/Object.getPrototypeOf.js +0 -17
  241. package/dist/src/node_modules/get-proto/Reflect.getPrototypeOf.js +0 -13
  242. package/dist/src/node_modules/get-proto/index.js +0 -40
  243. package/dist/src/node_modules/gopd/gOPD.js +0 -13
  244. package/dist/src/node_modules/gopd/index.js +0 -26
  245. package/dist/src/node_modules/has-symbols/index.js +0 -25
  246. package/dist/src/node_modules/has-symbols/shams.js +0 -54
  247. package/dist/src/node_modules/hasown/index.js +0 -19
  248. package/dist/src/node_modules/http-errors/index.js +0 -306
  249. package/dist/src/node_modules/iconv-lite/encodings/dbcs-codec.js +0 -598
  250. package/dist/src/node_modules/iconv-lite/encodings/dbcs-data.js +0 -206
  251. package/dist/src/node_modules/iconv-lite/encodings/index.js +0 -44
  252. package/dist/src/node_modules/iconv-lite/encodings/internal.js +0 -210
  253. package/dist/src/node_modules/iconv-lite/encodings/sbcs-codec.js +0 -83
  254. package/dist/src/node_modules/iconv-lite/encodings/sbcs-data-generated.js +0 -460
  255. package/dist/src/node_modules/iconv-lite/encodings/sbcs-data.js +0 -187
  256. package/dist/src/node_modules/iconv-lite/encodings/tables/big5-added.json.js +0 -506
  257. package/dist/src/node_modules/iconv-lite/encodings/tables/cp936.json.js +0 -2621
  258. package/dist/src/node_modules/iconv-lite/encodings/tables/cp949.json.js +0 -2380
  259. package/dist/src/node_modules/iconv-lite/encodings/tables/cp950.json.js +0 -729
  260. package/dist/src/node_modules/iconv-lite/encodings/tables/eucjp.json.js +0 -822
  261. package/dist/src/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json.js +0 -424
  262. package/dist/src/node_modules/iconv-lite/encodings/tables/gbk-added.json.js +0 -264
  263. package/dist/src/node_modules/iconv-lite/encodings/tables/shiftjis.json.js +0 -548
  264. package/dist/src/node_modules/iconv-lite/encodings/utf16.js +0 -206
  265. package/dist/src/node_modules/iconv-lite/encodings/utf32.js +0 -329
  266. package/dist/src/node_modules/iconv-lite/encodings/utf7.js +0 -297
  267. package/dist/src/node_modules/iconv-lite/lib/bom-handling.js +0 -61
  268. package/dist/src/node_modules/iconv-lite/lib/index.js +0 -192
  269. package/dist/src/node_modules/iconv-lite/lib/streams.js +0 -120
  270. package/dist/src/node_modules/inherits/inherits.js +0 -21
  271. package/dist/src/node_modules/inherits/inherits_browser.js +0 -38
  272. package/dist/src/node_modules/math-intrinsics/abs.js +0 -13
  273. package/dist/src/node_modules/math-intrinsics/floor.js +0 -13
  274. package/dist/src/node_modules/math-intrinsics/isNaN.js +0 -15
  275. package/dist/src/node_modules/math-intrinsics/max.js +0 -13
  276. package/dist/src/node_modules/math-intrinsics/min.js +0 -13
  277. package/dist/src/node_modules/math-intrinsics/pow.js +0 -13
  278. package/dist/src/node_modules/math-intrinsics/round.js +0 -13
  279. package/dist/src/node_modules/math-intrinsics/sign.js +0 -22
  280. package/dist/src/node_modules/media-typer/index.js +0 -153
  281. package/dist/src/node_modules/mime-db/db.json.js +0 -11656
  282. package/dist/src/node_modules/mime-db/index.js +0 -24
  283. package/dist/src/node_modules/mime-types/index.js +0 -226
  284. package/dist/src/node_modules/mime-types/mimeScore.js +0 -62
  285. package/dist/src/node_modules/ms/index.js +0 -172
  286. package/dist/src/node_modules/object-assign/index.js +0 -99
  287. package/dist/src/node_modules/object-inspect/index.js +0 -557
  288. package/dist/src/node_modules/object-inspect/util.inspect.js +0 -13
  289. package/dist/src/node_modules/on-finished/index.js +0 -245
  290. package/dist/src/node_modules/qs/lib/formats.js +0 -32
  291. package/dist/src/node_modules/qs/lib/index.js +0 -24
  292. package/dist/src/node_modules/qs/lib/parse.js +0 -339
  293. package/dist/src/node_modules/qs/lib/stringify.js +0 -369
  294. package/dist/src/node_modules/qs/lib/utils.js +0 -279
  295. package/dist/src/node_modules/raw-body/index.js +0 -351
  296. package/dist/src/node_modules/safer-buffer/safer.js +0 -88
  297. package/dist/src/node_modules/setprototypeof/index.js +0 -26
  298. package/dist/src/node_modules/side-channel/index.js +0 -58
  299. package/dist/src/node_modules/side-channel-list/index.js +0 -125
  300. package/dist/src/node_modules/side-channel-map/index.js +0 -82
  301. package/dist/src/node_modules/side-channel-weakmap/index.js +0 -99
  302. package/dist/src/node_modules/socket.io/dist/broadcast-operator.js +0 -448
  303. package/dist/src/node_modules/socket.io/dist/client.js +0 -281
  304. package/dist/src/node_modules/socket.io/dist/index.js +0 -837
  305. package/dist/src/node_modules/socket.io/dist/namespace.js +0 -597
  306. package/dist/src/node_modules/socket.io/dist/parent-namespace.js +0 -101
  307. package/dist/src/node_modules/socket.io/dist/socket-types.js +0 -21
  308. package/dist/src/node_modules/socket.io/dist/socket.js +0 -993
  309. package/dist/src/node_modules/socket.io/dist/typed-events.js +0 -92
  310. package/dist/src/node_modules/socket.io/dist/uws.js +0 -149
  311. package/dist/src/node_modules/socket.io/node_modules/accepts/index.js +0 -250
  312. package/dist/src/node_modules/socket.io/node_modules/debug/src/browser.js +0 -285
  313. package/dist/src/node_modules/socket.io/node_modules/debug/src/common.js +0 -285
  314. package/dist/src/node_modules/socket.io/node_modules/debug/src/index.js +0 -23
  315. package/dist/src/node_modules/socket.io/node_modules/debug/src/node.js +0 -279
  316. package/dist/src/node_modules/socket.io/node_modules/mime-db/db.json.js +0 -10704
  317. package/dist/src/node_modules/socket.io/node_modules/mime-db/index.js +0 -24
  318. package/dist/src/node_modules/socket.io/node_modules/mime-types/index.js +0 -202
  319. package/dist/src/node_modules/socket.io/node_modules/negotiator/index.js +0 -96
  320. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/charset.js +0 -179
  321. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/encoding.js +0 -193
  322. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/language.js +0 -188
  323. package/dist/src/node_modules/socket.io/node_modules/negotiator/lib/mediaType.js +0 -304
  324. package/dist/src/node_modules/socket.io/package.json.js +0 -5
  325. package/dist/src/node_modules/socket.io/wrapper.js +0 -5
  326. package/dist/src/node_modules/socket.io-adapter/dist/cluster-adapter.js +0 -689
  327. package/dist/src/node_modules/socket.io-adapter/dist/contrib/yeast.js +0 -64
  328. package/dist/src/node_modules/socket.io-adapter/dist/in-memory-adapter.js +0 -407
  329. package/dist/src/node_modules/socket.io-adapter/dist/index.js +0 -24
  330. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/browser.js +0 -285
  331. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/common.js +0 -285
  332. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/index.js +0 -23
  333. package/dist/src/node_modules/socket.io-adapter/node_modules/debug/src/node.js +0 -279
  334. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/index.js +0 -28
  335. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/buffer-util.js +0 -142
  336. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/constants.js +0 -21
  337. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/event-target.js +0 -303
  338. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/extension.js +0 -214
  339. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/limiter.js +0 -64
  340. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/permessage-deflate.js +0 -528
  341. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/receiver.js +0 -719
  342. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/sender.js +0 -513
  343. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/stream.js +0 -170
  344. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/subprotocol.js +0 -73
  345. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/validation.js +0 -141
  346. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/websocket-server.js +0 -559
  347. package/dist/src/node_modules/socket.io-adapter/node_modules/ws/lib/websocket.js +0 -1363
  348. package/dist/src/node_modules/socket.io-client/build/esm/contrib/backo2.js +0 -68
  349. package/dist/src/node_modules/socket.io-client/build/esm/index.js +0 -50
  350. package/dist/src/node_modules/socket.io-client/build/esm/manager.js +0 -373
  351. package/dist/src/node_modules/socket.io-client/build/esm/on.js +0 -8
  352. package/dist/src/node_modules/socket.io-client/build/esm/socket.js +0 -884
  353. package/dist/src/node_modules/socket.io-client/build/esm/url.js +0 -63
  354. package/dist/src/node_modules/socket.io-parser/build/cjs/binary.js +0 -99
  355. package/dist/src/node_modules/socket.io-parser/build/cjs/index.js +0 -337
  356. package/dist/src/node_modules/socket.io-parser/build/cjs/is-binary.js +0 -65
  357. package/dist/src/node_modules/socket.io-parser/build/esm/binary.js +0 -86
  358. package/dist/src/node_modules/socket.io-parser/build/esm/index.js +0 -314
  359. package/dist/src/node_modules/socket.io-parser/build/esm/is-binary.js +0 -52
  360. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/browser.js +0 -285
  361. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/common.js +0 -285
  362. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/index.js +0 -23
  363. package/dist/src/node_modules/socket.io-parser/node_modules/debug/src/node.js +0 -279
  364. package/dist/src/node_modules/statuses/codes.json.js +0 -67
  365. package/dist/src/node_modules/statuses/index.js +0 -157
  366. package/dist/src/node_modules/toidentifier/index.js +0 -41
  367. package/dist/src/node_modules/type-is/index.js +0 -263
  368. package/dist/src/node_modules/unpipe/index.js +0 -78
  369. package/dist/src/node_modules/vary/index.js +0 -159
  370. package/dist/src/node_modules/xmlhttprequest-ssl/lib/XMLHttpRequest.js +0 -702
@@ -1,689 +0,0 @@
1
- import { __exports as clusterAdapter } from '../../../_virtual/cluster-adapter.js';
2
- import { __require as requireInMemoryAdapter } from './in-memory-adapter.js';
3
- import { __require as requireSrc } from '../node_modules/debug/src/index.js';
4
- import require$$1 from 'crypto';
5
-
6
- var hasRequiredClusterAdapter;
7
-
8
- function requireClusterAdapter () {
9
- if (hasRequiredClusterAdapter) return clusterAdapter;
10
- hasRequiredClusterAdapter = 1;
11
- (function (exports) {
12
- var __rest = (clusterAdapter && clusterAdapter.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.ClusterAdapterWithHeartbeat = exports.ClusterAdapter = exports.MessageType = void 0;
25
- const in_memory_adapter_1 = requireInMemoryAdapter();
26
- const debug_1 = requireSrc();
27
- const crypto_1 = require$$1;
28
- const debug = (0, debug_1.debug)("socket.io-adapter");
29
- const EMITTER_UID = "emitter";
30
- const DEFAULT_TIMEOUT = 5000;
31
- function randomId() {
32
- return (0, crypto_1.randomBytes)(8).toString("hex");
33
- }
34
- var MessageType;
35
- (function (MessageType) {
36
- MessageType[MessageType["INITIAL_HEARTBEAT"] = 1] = "INITIAL_HEARTBEAT";
37
- MessageType[MessageType["HEARTBEAT"] = 2] = "HEARTBEAT";
38
- MessageType[MessageType["BROADCAST"] = 3] = "BROADCAST";
39
- MessageType[MessageType["SOCKETS_JOIN"] = 4] = "SOCKETS_JOIN";
40
- MessageType[MessageType["SOCKETS_LEAVE"] = 5] = "SOCKETS_LEAVE";
41
- MessageType[MessageType["DISCONNECT_SOCKETS"] = 6] = "DISCONNECT_SOCKETS";
42
- MessageType[MessageType["FETCH_SOCKETS"] = 7] = "FETCH_SOCKETS";
43
- MessageType[MessageType["FETCH_SOCKETS_RESPONSE"] = 8] = "FETCH_SOCKETS_RESPONSE";
44
- MessageType[MessageType["SERVER_SIDE_EMIT"] = 9] = "SERVER_SIDE_EMIT";
45
- MessageType[MessageType["SERVER_SIDE_EMIT_RESPONSE"] = 10] = "SERVER_SIDE_EMIT_RESPONSE";
46
- MessageType[MessageType["BROADCAST_CLIENT_COUNT"] = 11] = "BROADCAST_CLIENT_COUNT";
47
- MessageType[MessageType["BROADCAST_ACK"] = 12] = "BROADCAST_ACK";
48
- MessageType[MessageType["ADAPTER_CLOSE"] = 13] = "ADAPTER_CLOSE";
49
- })(MessageType = exports.MessageType || (exports.MessageType = {}));
50
- function encodeOptions(opts) {
51
- return {
52
- rooms: [...opts.rooms],
53
- except: [...opts.except],
54
- flags: opts.flags,
55
- };
56
- }
57
- function decodeOptions(opts) {
58
- return {
59
- rooms: new Set(opts.rooms),
60
- except: new Set(opts.except),
61
- flags: opts.flags,
62
- };
63
- }
64
- /**
65
- * A cluster-ready adapter. Any extending class must:
66
- *
67
- * - implement {@link ClusterAdapter#doPublish} and {@link ClusterAdapter#doPublishResponse}
68
- * - call {@link ClusterAdapter#onMessage} and {@link ClusterAdapter#onResponse}
69
- */
70
- class ClusterAdapter extends in_memory_adapter_1.Adapter {
71
- constructor(nsp) {
72
- super(nsp);
73
- this.requests = new Map();
74
- this.ackRequests = new Map();
75
- this.uid = randomId();
76
- }
77
- /**
78
- * Called when receiving a message from another member of the cluster.
79
- *
80
- * @param message
81
- * @param offset
82
- * @protected
83
- */
84
- onMessage(message, offset) {
85
- if (message.uid === this.uid) {
86
- return debug("[%s] ignore message from self", this.uid);
87
- }
88
- debug("[%s] new event of type %d from %s", this.uid, message.type, message.uid);
89
- switch (message.type) {
90
- case MessageType.BROADCAST: {
91
- const withAck = message.data.requestId !== undefined;
92
- if (withAck) {
93
- super.broadcastWithAck(message.data.packet, decodeOptions(message.data.opts), (clientCount) => {
94
- debug("[%s] waiting for %d client acknowledgements", this.uid, clientCount);
95
- this.publishResponse(message.uid, {
96
- type: MessageType.BROADCAST_CLIENT_COUNT,
97
- data: {
98
- requestId: message.data.requestId,
99
- clientCount,
100
- },
101
- });
102
- }, (arg) => {
103
- debug("[%s] received acknowledgement with value %j", this.uid, arg);
104
- this.publishResponse(message.uid, {
105
- type: MessageType.BROADCAST_ACK,
106
- data: {
107
- requestId: message.data.requestId,
108
- packet: arg,
109
- },
110
- });
111
- });
112
- }
113
- else {
114
- const packet = message.data.packet;
115
- const opts = decodeOptions(message.data.opts);
116
- this.addOffsetIfNecessary(packet, opts, offset);
117
- super.broadcast(packet, opts);
118
- }
119
- break;
120
- }
121
- case MessageType.SOCKETS_JOIN:
122
- super.addSockets(decodeOptions(message.data.opts), message.data.rooms);
123
- break;
124
- case MessageType.SOCKETS_LEAVE:
125
- super.delSockets(decodeOptions(message.data.opts), message.data.rooms);
126
- break;
127
- case MessageType.DISCONNECT_SOCKETS:
128
- super.disconnectSockets(decodeOptions(message.data.opts), message.data.close);
129
- break;
130
- case MessageType.FETCH_SOCKETS: {
131
- debug("[%s] calling fetchSockets with opts %j", this.uid, message.data.opts);
132
- super
133
- .fetchSockets(decodeOptions(message.data.opts))
134
- .then((localSockets) => {
135
- this.publishResponse(message.uid, {
136
- type: MessageType.FETCH_SOCKETS_RESPONSE,
137
- data: {
138
- requestId: message.data.requestId,
139
- sockets: localSockets.map((socket) => {
140
- // remove sessionStore from handshake, as it may contain circular references
141
- const _a = socket.handshake, { sessionStore } = _a, handshake = __rest(_a, ["sessionStore"]);
142
- return {
143
- id: socket.id,
144
- handshake,
145
- rooms: [...socket.rooms],
146
- data: socket.data,
147
- };
148
- }),
149
- },
150
- });
151
- });
152
- break;
153
- }
154
- case MessageType.SERVER_SIDE_EMIT: {
155
- const packet = message.data.packet;
156
- const withAck = message.data.requestId !== undefined;
157
- if (!withAck) {
158
- this.nsp._onServerSideEmit(packet);
159
- return;
160
- }
161
- let called = false;
162
- const callback = (arg) => {
163
- // only one argument is expected
164
- if (called) {
165
- return;
166
- }
167
- called = true;
168
- debug("[%s] calling acknowledgement with %j", this.uid, arg);
169
- this.publishResponse(message.uid, {
170
- type: MessageType.SERVER_SIDE_EMIT_RESPONSE,
171
- data: {
172
- requestId: message.data.requestId,
173
- packet: arg,
174
- },
175
- });
176
- };
177
- this.nsp._onServerSideEmit([...packet, callback]);
178
- break;
179
- }
180
- // @ts-ignore
181
- case MessageType.BROADCAST_CLIENT_COUNT:
182
- // @ts-ignore
183
- case MessageType.BROADCAST_ACK:
184
- // @ts-ignore
185
- case MessageType.FETCH_SOCKETS_RESPONSE:
186
- // @ts-ignore
187
- case MessageType.SERVER_SIDE_EMIT_RESPONSE:
188
- // extending classes may not make a distinction between a ClusterMessage and a ClusterResponse payload and may
189
- // always call the onMessage() method
190
- this.onResponse(message);
191
- break;
192
- default:
193
- debug("[%s] unknown message type: %s", this.uid, message.type);
194
- }
195
- }
196
- /**
197
- * Called when receiving a response from another member of the cluster.
198
- *
199
- * @param response
200
- * @protected
201
- */
202
- onResponse(response) {
203
- var _a, _b;
204
- const requestId = response.data.requestId;
205
- debug("[%s] received response %s to request %s", this.uid, response.type, requestId);
206
- switch (response.type) {
207
- case MessageType.BROADCAST_CLIENT_COUNT: {
208
- (_a = this.ackRequests
209
- .get(requestId)) === null || _a === void 0 ? void 0 : _a.clientCountCallback(response.data.clientCount);
210
- break;
211
- }
212
- case MessageType.BROADCAST_ACK: {
213
- (_b = this.ackRequests.get(requestId)) === null || _b === void 0 ? void 0 : _b.ack(response.data.packet);
214
- break;
215
- }
216
- case MessageType.FETCH_SOCKETS_RESPONSE: {
217
- const request = this.requests.get(requestId);
218
- if (!request) {
219
- return;
220
- }
221
- request.current++;
222
- response.data.sockets.forEach((socket) => request.responses.push(socket));
223
- if (request.current === request.expected) {
224
- clearTimeout(request.timeout);
225
- request.resolve(request.responses);
226
- this.requests.delete(requestId);
227
- }
228
- break;
229
- }
230
- case MessageType.SERVER_SIDE_EMIT_RESPONSE: {
231
- const request = this.requests.get(requestId);
232
- if (!request) {
233
- return;
234
- }
235
- request.current++;
236
- request.responses.push(response.data.packet);
237
- if (request.current === request.expected) {
238
- clearTimeout(request.timeout);
239
- request.resolve(null, request.responses);
240
- this.requests.delete(requestId);
241
- }
242
- break;
243
- }
244
- default:
245
- // @ts-ignore
246
- debug("[%s] unknown response type: %s", this.uid, response.type);
247
- }
248
- }
249
- async broadcast(packet, opts) {
250
- var _a;
251
- const onlyLocal = (_a = opts.flags) === null || _a === void 0 ? void 0 : _a.local;
252
- if (!onlyLocal) {
253
- try {
254
- const offset = await this.publishAndReturnOffset({
255
- type: MessageType.BROADCAST,
256
- data: {
257
- packet,
258
- opts: encodeOptions(opts),
259
- },
260
- });
261
- this.addOffsetIfNecessary(packet, opts, offset);
262
- }
263
- catch (e) {
264
- return debug("[%s] error while broadcasting message: %s", this.uid, e.message);
265
- }
266
- }
267
- super.broadcast(packet, opts);
268
- }
269
- /**
270
- * Adds an offset at the end of the data array in order to allow the client to receive any missed packets when it
271
- * reconnects after a temporary disconnection.
272
- *
273
- * @param packet
274
- * @param opts
275
- * @param offset
276
- * @private
277
- */
278
- addOffsetIfNecessary(packet, opts, offset) {
279
- var _a;
280
- if (!this.nsp.server.opts.connectionStateRecovery) {
281
- return;
282
- }
283
- const isEventPacket = packet.type === 2;
284
- // packets with acknowledgement are not stored because the acknowledgement function cannot be serialized and
285
- // restored on another server upon reconnection
286
- const withoutAcknowledgement = packet.id === undefined;
287
- const notVolatile = ((_a = opts.flags) === null || _a === void 0 ? void 0 : _a.volatile) === undefined;
288
- if (isEventPacket && withoutAcknowledgement && notVolatile) {
289
- packet.data.push(offset);
290
- }
291
- }
292
- broadcastWithAck(packet, opts, clientCountCallback, ack) {
293
- var _a;
294
- const onlyLocal = (_a = opts === null || opts === void 0 ? void 0 : opts.flags) === null || _a === void 0 ? void 0 : _a.local;
295
- if (!onlyLocal) {
296
- const requestId = randomId();
297
- this.ackRequests.set(requestId, {
298
- clientCountCallback,
299
- ack,
300
- });
301
- this.publish({
302
- type: MessageType.BROADCAST,
303
- data: {
304
- packet,
305
- requestId,
306
- opts: encodeOptions(opts),
307
- },
308
- });
309
- // we have no way to know at this level whether the server has received an acknowledgement from each client, so we
310
- // will simply clean up the ackRequests map after the given delay
311
- setTimeout(() => {
312
- this.ackRequests.delete(requestId);
313
- }, opts.flags.timeout);
314
- }
315
- super.broadcastWithAck(packet, opts, clientCountCallback, ack);
316
- }
317
- async addSockets(opts, rooms) {
318
- var _a;
319
- const onlyLocal = (_a = opts.flags) === null || _a === void 0 ? void 0 : _a.local;
320
- if (!onlyLocal) {
321
- try {
322
- await this.publishAndReturnOffset({
323
- type: MessageType.SOCKETS_JOIN,
324
- data: {
325
- opts: encodeOptions(opts),
326
- rooms,
327
- },
328
- });
329
- }
330
- catch (e) {
331
- debug("[%s] error while publishing message: %s", this.uid, e.message);
332
- }
333
- }
334
- super.addSockets(opts, rooms);
335
- }
336
- async delSockets(opts, rooms) {
337
- var _a;
338
- const onlyLocal = (_a = opts.flags) === null || _a === void 0 ? void 0 : _a.local;
339
- if (!onlyLocal) {
340
- try {
341
- await this.publishAndReturnOffset({
342
- type: MessageType.SOCKETS_LEAVE,
343
- data: {
344
- opts: encodeOptions(opts),
345
- rooms,
346
- },
347
- });
348
- }
349
- catch (e) {
350
- debug("[%s] error while publishing message: %s", this.uid, e.message);
351
- }
352
- }
353
- super.delSockets(opts, rooms);
354
- }
355
- async disconnectSockets(opts, close) {
356
- var _a;
357
- const onlyLocal = (_a = opts.flags) === null || _a === void 0 ? void 0 : _a.local;
358
- if (!onlyLocal) {
359
- try {
360
- await this.publishAndReturnOffset({
361
- type: MessageType.DISCONNECT_SOCKETS,
362
- data: {
363
- opts: encodeOptions(opts),
364
- close,
365
- },
366
- });
367
- }
368
- catch (e) {
369
- debug("[%s] error while publishing message: %s", this.uid, e.message);
370
- }
371
- }
372
- super.disconnectSockets(opts, close);
373
- }
374
- async fetchSockets(opts) {
375
- var _a;
376
- const [localSockets, serverCount] = await Promise.all([
377
- super.fetchSockets(opts),
378
- this.serverCount(),
379
- ]);
380
- const expectedResponseCount = serverCount - 1;
381
- if (((_a = opts.flags) === null || _a === void 0 ? void 0 : _a.local) || expectedResponseCount <= 0) {
382
- return localSockets;
383
- }
384
- const requestId = randomId();
385
- return new Promise((resolve, reject) => {
386
- const timeout = setTimeout(() => {
387
- const storedRequest = this.requests.get(requestId);
388
- if (storedRequest) {
389
- reject(new Error(`timeout reached: only ${storedRequest.current} responses received out of ${storedRequest.expected}`));
390
- this.requests.delete(requestId);
391
- }
392
- }, opts.flags.timeout || DEFAULT_TIMEOUT);
393
- const storedRequest = {
394
- type: MessageType.FETCH_SOCKETS,
395
- resolve,
396
- timeout,
397
- current: 0,
398
- expected: expectedResponseCount,
399
- responses: localSockets,
400
- };
401
- this.requests.set(requestId, storedRequest);
402
- this.publish({
403
- type: MessageType.FETCH_SOCKETS,
404
- data: {
405
- opts: encodeOptions(opts),
406
- requestId,
407
- },
408
- });
409
- });
410
- }
411
- async serverSideEmit(packet) {
412
- const withAck = typeof packet[packet.length - 1] === "function";
413
- if (!withAck) {
414
- return this.publish({
415
- type: MessageType.SERVER_SIDE_EMIT,
416
- data: {
417
- packet,
418
- },
419
- });
420
- }
421
- const ack = packet.pop();
422
- const expectedResponseCount = (await this.serverCount()) - 1;
423
- debug('[%s] waiting for %d responses to "serverSideEmit" request', this.uid, expectedResponseCount);
424
- if (expectedResponseCount <= 0) {
425
- return ack(null, []);
426
- }
427
- const requestId = randomId();
428
- const timeout = setTimeout(() => {
429
- const storedRequest = this.requests.get(requestId);
430
- if (storedRequest) {
431
- ack(new Error(`timeout reached: only ${storedRequest.current} responses received out of ${storedRequest.expected}`), storedRequest.responses);
432
- this.requests.delete(requestId);
433
- }
434
- }, DEFAULT_TIMEOUT);
435
- const storedRequest = {
436
- type: MessageType.SERVER_SIDE_EMIT,
437
- resolve: ack,
438
- timeout,
439
- current: 0,
440
- expected: expectedResponseCount,
441
- responses: [],
442
- };
443
- this.requests.set(requestId, storedRequest);
444
- this.publish({
445
- type: MessageType.SERVER_SIDE_EMIT,
446
- data: {
447
- requestId,
448
- packet,
449
- },
450
- });
451
- }
452
- publish(message) {
453
- this.publishAndReturnOffset(message).catch((err) => {
454
- debug("[%s] error while publishing message: %s", this.uid, err);
455
- });
456
- }
457
- publishAndReturnOffset(message) {
458
- message.uid = this.uid;
459
- message.nsp = this.nsp.name;
460
- return this.doPublish(message);
461
- }
462
- publishResponse(requesterUid, response) {
463
- response.uid = this.uid;
464
- response.nsp = this.nsp.name;
465
- this.doPublishResponse(requesterUid, response).catch((err) => {
466
- debug("[%s] error while publishing response: %s", this.uid, err);
467
- });
468
- }
469
- }
470
- exports.ClusterAdapter = ClusterAdapter;
471
- class ClusterAdapterWithHeartbeat extends ClusterAdapter {
472
- constructor(nsp, opts) {
473
- super(nsp);
474
- this.nodesMap = new Map(); // uid => timestamp of last message
475
- this.customRequests = new Map();
476
- this._opts = Object.assign({
477
- heartbeatInterval: 5000,
478
- heartbeatTimeout: 10000,
479
- }, opts);
480
- this.cleanupTimer = setInterval(() => {
481
- const now = Date.now();
482
- this.nodesMap.forEach((lastSeen, uid) => {
483
- const nodeSeemsDown = now - lastSeen > this._opts.heartbeatTimeout;
484
- if (nodeSeemsDown) {
485
- debug("[%s] node %s seems down", this.uid, uid);
486
- this.removeNode(uid);
487
- }
488
- });
489
- }, 1000);
490
- }
491
- init() {
492
- this.publish({
493
- type: MessageType.INITIAL_HEARTBEAT,
494
- });
495
- }
496
- scheduleHeartbeat() {
497
- if (this.heartbeatTimer) {
498
- this.heartbeatTimer.refresh();
499
- }
500
- else {
501
- this.heartbeatTimer = setTimeout(() => {
502
- this.publish({
503
- type: MessageType.HEARTBEAT,
504
- });
505
- }, this._opts.heartbeatInterval);
506
- }
507
- }
508
- close() {
509
- this.publish({
510
- type: MessageType.ADAPTER_CLOSE,
511
- });
512
- clearTimeout(this.heartbeatTimer);
513
- if (this.cleanupTimer) {
514
- clearInterval(this.cleanupTimer);
515
- }
516
- }
517
- onMessage(message, offset) {
518
- if (message.uid === this.uid) {
519
- return debug("[%s] ignore message from self", this.uid);
520
- }
521
- if (message.uid && message.uid !== EMITTER_UID) {
522
- // we track the UID of each sender, in order to know how many servers there are in the cluster
523
- this.nodesMap.set(message.uid, Date.now());
524
- }
525
- debug("[%s] new event of type %d from %s", this.uid, message.type, message.uid);
526
- switch (message.type) {
527
- case MessageType.INITIAL_HEARTBEAT:
528
- this.publish({
529
- type: MessageType.HEARTBEAT,
530
- });
531
- break;
532
- case MessageType.HEARTBEAT:
533
- // nothing to do
534
- break;
535
- case MessageType.ADAPTER_CLOSE:
536
- this.removeNode(message.uid);
537
- break;
538
- default:
539
- super.onMessage(message, offset);
540
- }
541
- }
542
- serverCount() {
543
- return Promise.resolve(1 + this.nodesMap.size);
544
- }
545
- publish(message) {
546
- this.scheduleHeartbeat();
547
- return super.publish(message);
548
- }
549
- async serverSideEmit(packet) {
550
- const withAck = typeof packet[packet.length - 1] === "function";
551
- if (!withAck) {
552
- return this.publish({
553
- type: MessageType.SERVER_SIDE_EMIT,
554
- data: {
555
- packet,
556
- },
557
- });
558
- }
559
- const ack = packet.pop();
560
- const expectedResponseCount = this.nodesMap.size;
561
- debug('[%s] waiting for %d responses to "serverSideEmit" request', this.uid, expectedResponseCount);
562
- if (expectedResponseCount <= 0) {
563
- return ack(null, []);
564
- }
565
- const requestId = randomId();
566
- const timeout = setTimeout(() => {
567
- const storedRequest = this.customRequests.get(requestId);
568
- if (storedRequest) {
569
- ack(new Error(`timeout reached: missing ${storedRequest.missingUids.size} responses`), storedRequest.responses);
570
- this.customRequests.delete(requestId);
571
- }
572
- }, DEFAULT_TIMEOUT);
573
- const storedRequest = {
574
- type: MessageType.SERVER_SIDE_EMIT,
575
- resolve: ack,
576
- timeout,
577
- missingUids: new Set([...this.nodesMap.keys()]),
578
- responses: [],
579
- };
580
- this.customRequests.set(requestId, storedRequest);
581
- this.publish({
582
- type: MessageType.SERVER_SIDE_EMIT,
583
- data: {
584
- requestId,
585
- packet,
586
- },
587
- });
588
- }
589
- async fetchSockets(opts) {
590
- var _a;
591
- const [localSockets, serverCount] = await Promise.all([
592
- super.fetchSockets({
593
- rooms: opts.rooms,
594
- except: opts.except,
595
- flags: {
596
- local: true,
597
- },
598
- }),
599
- this.serverCount(),
600
- ]);
601
- const expectedResponseCount = serverCount - 1;
602
- if (((_a = opts.flags) === null || _a === void 0 ? void 0 : _a.local) || expectedResponseCount <= 0) {
603
- return localSockets;
604
- }
605
- const requestId = randomId();
606
- return new Promise((resolve, reject) => {
607
- const timeout = setTimeout(() => {
608
- const storedRequest = this.customRequests.get(requestId);
609
- if (storedRequest) {
610
- reject(new Error(`timeout reached: missing ${storedRequest.missingUids.size} responses`));
611
- this.customRequests.delete(requestId);
612
- }
613
- }, opts.flags.timeout || DEFAULT_TIMEOUT);
614
- const storedRequest = {
615
- type: MessageType.FETCH_SOCKETS,
616
- resolve,
617
- timeout,
618
- missingUids: new Set([...this.nodesMap.keys()]),
619
- responses: localSockets,
620
- };
621
- this.customRequests.set(requestId, storedRequest);
622
- this.publish({
623
- type: MessageType.FETCH_SOCKETS,
624
- data: {
625
- opts: encodeOptions(opts),
626
- requestId,
627
- },
628
- });
629
- });
630
- }
631
- onResponse(response) {
632
- const requestId = response.data.requestId;
633
- debug("[%s] received response %s to request %s", this.uid, response.type, requestId);
634
- switch (response.type) {
635
- case MessageType.FETCH_SOCKETS_RESPONSE: {
636
- const request = this.customRequests.get(requestId);
637
- if (!request) {
638
- return;
639
- }
640
- response.data.sockets.forEach((socket) => request.responses.push(socket));
641
- request.missingUids.delete(response.uid);
642
- if (request.missingUids.size === 0) {
643
- clearTimeout(request.timeout);
644
- request.resolve(request.responses);
645
- this.customRequests.delete(requestId);
646
- }
647
- break;
648
- }
649
- case MessageType.SERVER_SIDE_EMIT_RESPONSE: {
650
- const request = this.customRequests.get(requestId);
651
- if (!request) {
652
- return;
653
- }
654
- request.responses.push(response.data.packet);
655
- request.missingUids.delete(response.uid);
656
- if (request.missingUids.size === 0) {
657
- clearTimeout(request.timeout);
658
- request.resolve(null, request.responses);
659
- this.customRequests.delete(requestId);
660
- }
661
- break;
662
- }
663
- default:
664
- super.onResponse(response);
665
- }
666
- }
667
- removeNode(uid) {
668
- this.customRequests.forEach((request, requestId) => {
669
- request.missingUids.delete(uid);
670
- if (request.missingUids.size === 0) {
671
- clearTimeout(request.timeout);
672
- if (request.type === MessageType.FETCH_SOCKETS) {
673
- request.resolve(request.responses);
674
- }
675
- else if (request.type === MessageType.SERVER_SIDE_EMIT) {
676
- request.resolve(null, request.responses);
677
- }
678
- this.customRequests.delete(requestId);
679
- }
680
- });
681
- this.nodesMap.delete(uid);
682
- }
683
- }
684
- exports.ClusterAdapterWithHeartbeat = ClusterAdapterWithHeartbeat;
685
- } (clusterAdapter));
686
- return clusterAdapter;
687
- }
688
-
689
- export { requireClusterAdapter as __require };