@seriousme/opifex 1.11.2 → 2.0.3

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 (538) hide show
  1. package/LICENSE.txt +1 -1
  2. package/README.md +102 -43
  3. package/bin/conformanceServer.ts +45 -13
  4. package/bin/demoServer.ts +38 -13
  5. package/bin/mqtt.ts +52 -30
  6. package/client/ConnectionState.ts +2 -0
  7. package/client/client.ts +57 -47
  8. package/client/context.ts +75 -21
  9. package/client/deps.ts +5 -0
  10. package/client/handlers/handleAuth.test.ts +193 -0
  11. package/client/handlers/handleAuth.ts +89 -0
  12. package/client/handlers/handleConnack.test.ts +173 -0
  13. package/client/handlers/handleConnack.ts +16 -6
  14. package/client/handlers/handleDisconnect.test.ts +22 -0
  15. package/client/handlers/handleDisconnect.ts +17 -0
  16. package/client/handlers/handlePacket.test.ts +242 -0
  17. package/client/handlers/handlePacket.ts +19 -5
  18. package/client/handlers/handlePuback.test.ts +99 -0
  19. package/client/handlers/handlePuback.ts +6 -0
  20. package/client/handlers/handlePubcomp.test.ts +112 -0
  21. package/client/handlers/handlePubcomp.ts +5 -0
  22. package/client/handlers/handlePublish.test.ts +188 -0
  23. package/client/handlers/handlePubrec.test.ts +119 -0
  24. package/client/handlers/handlePubrec.ts +5 -1
  25. package/client/handlers/handlePubrel.test.ts +136 -0
  26. package/client/handlers/handleSuback.test.ts +122 -0
  27. package/client/handlers/handleSuback.ts +3 -0
  28. package/client/handlers/handleUnsuback.test.ts +101 -0
  29. package/client/mod.ts +2 -2
  30. package/client/store/memoryStore.ts +2 -2
  31. package/client/store/store.ts +3 -1
  32. package/deno/README.md +1 -2
  33. package/deno/tcpClient.test.ts +75 -0
  34. package/deno/tcpClient.ts +16 -11
  35. package/deno/tcpServer.test.ts +22 -21
  36. package/deno/tcpServer.ts +5 -0
  37. package/deno/tlsServer.test.ts +97 -0
  38. package/deno/tlsServer.ts +42 -0
  39. package/deno/wsServer.test.ts +93 -0
  40. package/deno/wsServer.ts +73 -0
  41. package/dev_utils/generateCert.ts +95 -0
  42. package/dev_utils/mockConn.ts +36 -0
  43. package/dev_utils/mockServer.ts +28 -0
  44. package/dev_utils/mod.ts +30 -2
  45. package/dev_utils/packetHelpers.ts +404 -0
  46. package/dev_utils/test-handlers.ts +98 -0
  47. package/dev_utils/timers.ts +14 -0
  48. package/dev_utils/webStreamPair.test.ts +171 -0
  49. package/dev_utils/webStreamPair.ts +143 -0
  50. package/dist/bin/conformanceServer.js +17 -12
  51. package/dist/bin/conformanceServer.js.map +1 -1
  52. package/dist/bin/demoServer.js +16 -12
  53. package/dist/bin/demoServer.js.map +1 -1
  54. package/dist/bin/mqtt.js +19 -16
  55. package/dist/bin/mqtt.js.map +1 -1
  56. package/dist/client/ConnectionState.d.ts +2 -0
  57. package/dist/client/ConnectionState.d.ts.map +1 -1
  58. package/dist/client/ConnectionState.js +2 -0
  59. package/dist/client/ConnectionState.js.map +1 -1
  60. package/dist/client/client.d.ts +19 -22
  61. package/dist/client/client.d.ts.map +1 -1
  62. package/dist/client/client.js +34 -20
  63. package/dist/client/client.js.map +1 -1
  64. package/dist/client/context.d.ts +11 -3
  65. package/dist/client/context.d.ts.map +1 -1
  66. package/dist/client/context.js +44 -12
  67. package/dist/client/context.js.map +1 -1
  68. package/dist/client/deps.d.ts +3 -2
  69. package/dist/client/deps.d.ts.map +1 -1
  70. package/dist/client/deps.js +1 -1
  71. package/dist/client/deps.js.map +1 -1
  72. package/dist/client/handlers/handleAuth.d.ts +9 -0
  73. package/dist/client/handlers/handleAuth.d.ts.map +1 -0
  74. package/dist/client/handlers/handleAuth.js +66 -0
  75. package/dist/client/handlers/handleAuth.js.map +1 -0
  76. package/dist/client/handlers/handleConnack.d.ts +2 -2
  77. package/dist/client/handlers/handleConnack.d.ts.map +1 -1
  78. package/dist/client/handlers/handleConnack.js +16 -6
  79. package/dist/client/handlers/handleConnack.js.map +1 -1
  80. package/dist/client/handlers/handleDisconnect.d.ts +11 -0
  81. package/dist/client/handlers/handleDisconnect.d.ts.map +1 -0
  82. package/dist/client/handlers/handleDisconnect.js +15 -0
  83. package/dist/client/handlers/handleDisconnect.js.map +1 -0
  84. package/dist/client/handlers/handlePacket.d.ts.map +1 -1
  85. package/dist/client/handlers/handlePacket.js +14 -3
  86. package/dist/client/handlers/handlePacket.js.map +1 -1
  87. package/dist/client/handlers/handlePuback.d.ts.map +1 -1
  88. package/dist/client/handlers/handlePuback.js +5 -0
  89. package/dist/client/handlers/handlePuback.js.map +1 -1
  90. package/dist/client/handlers/handlePubcomp.d.ts.map +1 -1
  91. package/dist/client/handlers/handlePubcomp.js +5 -0
  92. package/dist/client/handlers/handlePubcomp.js.map +1 -1
  93. package/dist/client/handlers/handlePubrec.d.ts.map +1 -1
  94. package/dist/client/handlers/handlePubrec.js +5 -1
  95. package/dist/client/handlers/handlePubrec.js.map +1 -1
  96. package/dist/client/handlers/handleSuback.d.ts +1 -0
  97. package/dist/client/handlers/handleSuback.d.ts.map +1 -1
  98. package/dist/client/handlers/handleSuback.js +3 -0
  99. package/dist/client/handlers/handleSuback.js.map +1 -1
  100. package/dist/client/mod.d.ts +2 -2
  101. package/dist/client/mod.d.ts.map +1 -1
  102. package/dist/client/mod.js +1 -1
  103. package/dist/client/mod.js.map +1 -1
  104. package/dist/client/store/memoryStore.d.ts.map +1 -1
  105. package/dist/client/store/memoryStore.js +2 -2
  106. package/dist/client/store/memoryStore.js.map +1 -1
  107. package/dist/client/store/store.d.ts +2 -1
  108. package/dist/client/store/store.d.ts.map +1 -1
  109. package/dist/client/store/store.js +1 -1
  110. package/dist/client/store/store.js.map +1 -1
  111. package/dist/dev_utils/generateCert.d.ts +11 -0
  112. package/dist/dev_utils/generateCert.d.ts.map +1 -0
  113. package/dist/dev_utils/generateCert.js +76 -0
  114. package/dist/dev_utils/generateCert.js.map +1 -0
  115. package/dist/examples/authHandler.test.d.ts +2 -0
  116. package/dist/examples/authHandler.test.d.ts.map +1 -0
  117. package/dist/examples/authHandler.test.js +123 -0
  118. package/dist/examples/authHandler.test.js.map +1 -0
  119. package/dist/examples/mqtt.test.d.ts +2 -0
  120. package/dist/examples/mqtt.test.d.ts.map +1 -0
  121. package/dist/examples/mqtt.test.js +70 -0
  122. package/dist/examples/mqtt.test.js.map +1 -0
  123. package/dist/examples/mqtts.test.d.ts +2 -0
  124. package/dist/examples/mqtts.test.d.ts.map +1 -0
  125. package/dist/examples/mqtts.test.js +81 -0
  126. package/dist/examples/mqtts.test.js.map +1 -0
  127. package/dist/mqttConn/mqttConn.d.ts +25 -16
  128. package/dist/mqttConn/mqttConn.d.ts.map +1 -1
  129. package/dist/mqttConn/mqttConn.js +69 -40
  130. package/dist/mqttConn/mqttConn.js.map +1 -1
  131. package/dist/mqttPacket/AuthenticationResult.d.ts.map +1 -1
  132. package/dist/mqttPacket/BitMask.d.ts +12 -11
  133. package/dist/mqttPacket/BitMask.d.ts.map +1 -1
  134. package/dist/mqttPacket/BitMask.js +10 -18
  135. package/dist/mqttPacket/BitMask.js.map +1 -1
  136. package/dist/mqttPacket/PacketType.d.ts.map +1 -1
  137. package/dist/mqttPacket/Properties.d.ts +2 -2
  138. package/dist/mqttPacket/Properties.d.ts.map +1 -1
  139. package/dist/mqttPacket/Properties.js.map +1 -1
  140. package/dist/mqttPacket/ReasonCode.d.ts +1 -0
  141. package/dist/mqttPacket/ReasonCode.d.ts.map +1 -1
  142. package/dist/mqttPacket/ReasonCode.js +1 -0
  143. package/dist/mqttPacket/ReasonCode.js.map +1 -1
  144. package/dist/mqttPacket/RetainHandling.d.ts.map +1 -1
  145. package/dist/mqttPacket/auth.d.ts +3 -5
  146. package/dist/mqttPacket/auth.d.ts.map +1 -1
  147. package/dist/mqttPacket/auth.js +31 -30
  148. package/dist/mqttPacket/auth.js.map +1 -1
  149. package/dist/mqttPacket/codec.d.ts +48 -0
  150. package/dist/mqttPacket/codec.d.ts.map +1 -0
  151. package/dist/mqttPacket/codec.js +93 -0
  152. package/dist/mqttPacket/codec.js.map +1 -0
  153. package/dist/mqttPacket/connack.d.ts +4 -5
  154. package/dist/mqttPacket/connack.d.ts.map +1 -1
  155. package/dist/mqttPacket/connack.js +43 -45
  156. package/dist/mqttPacket/connack.js.map +1 -1
  157. package/dist/mqttPacket/connect.d.ts +26 -27
  158. package/dist/mqttPacket/connect.d.ts.map +1 -1
  159. package/dist/mqttPacket/connect.js +156 -157
  160. package/dist/mqttPacket/connect.js.map +1 -1
  161. package/dist/mqttPacket/decoder.d.ts +1 -13
  162. package/dist/mqttPacket/decoder.d.ts.map +1 -1
  163. package/dist/mqttPacket/decoder.js +7 -28
  164. package/dist/mqttPacket/decoder.js.map +1 -1
  165. package/dist/mqttPacket/disconnect.d.ts +4 -5
  166. package/dist/mqttPacket/disconnect.d.ts.map +1 -1
  167. package/dist/mqttPacket/disconnect.js +41 -43
  168. package/dist/mqttPacket/disconnect.js.map +1 -1
  169. package/dist/mqttPacket/encoder.d.ts +1 -15
  170. package/dist/mqttPacket/encoder.d.ts.map +1 -1
  171. package/dist/mqttPacket/encoder.js +4 -27
  172. package/dist/mqttPacket/encoder.js.map +1 -1
  173. package/dist/mqttPacket/length.js +1 -1
  174. package/dist/mqttPacket/length.js.map +1 -1
  175. package/dist/mqttPacket/mod.d.ts +21 -103
  176. package/dist/mqttPacket/mod.d.ts.map +1 -1
  177. package/dist/mqttPacket/mod.js +5 -94
  178. package/dist/mqttPacket/mod.js.map +1 -1
  179. package/dist/mqttPacket/pingreq.d.ts +4 -5
  180. package/dist/mqttPacket/pingreq.d.ts.map +1 -1
  181. package/dist/mqttPacket/pingreq.js +11 -13
  182. package/dist/mqttPacket/pingreq.js.map +1 -1
  183. package/dist/mqttPacket/pingres.d.ts +4 -5
  184. package/dist/mqttPacket/pingres.d.ts.map +1 -1
  185. package/dist/mqttPacket/pingres.js +11 -13
  186. package/dist/mqttPacket/pingres.js.map +1 -1
  187. package/dist/mqttPacket/protocolLevels.d.ts +11 -6
  188. package/dist/mqttPacket/protocolLevels.d.ts.map +1 -1
  189. package/dist/mqttPacket/protocolLevels.js +5 -1
  190. package/dist/mqttPacket/protocolLevels.js.map +1 -1
  191. package/dist/mqttPacket/pubblishAcks.d.ts +9 -10
  192. package/dist/mqttPacket/pubblishAcks.d.ts.map +1 -1
  193. package/dist/mqttPacket/pubblishAcks.js +43 -45
  194. package/dist/mqttPacket/pubblishAcks.js.map +1 -1
  195. package/dist/mqttPacket/publish.d.ts +14 -14
  196. package/dist/mqttPacket/publish.d.ts.map +1 -1
  197. package/dist/mqttPacket/publish.js +53 -55
  198. package/dist/mqttPacket/publish.js.map +1 -1
  199. package/dist/mqttPacket/suback.d.ts +4 -5
  200. package/dist/mqttPacket/suback.d.ts.map +1 -1
  201. package/dist/mqttPacket/suback.js +38 -40
  202. package/dist/mqttPacket/suback.js.map +1 -1
  203. package/dist/mqttPacket/subscribe.d.ts +36 -7
  204. package/dist/mqttPacket/subscribe.d.ts.map +1 -1
  205. package/dist/mqttPacket/subscribe.js +90 -89
  206. package/dist/mqttPacket/subscribe.js.map +1 -1
  207. package/dist/mqttPacket/types.d.ts +1 -8
  208. package/dist/mqttPacket/types.d.ts.map +1 -1
  209. package/dist/mqttPacket/unsuback.d.ts +4 -5
  210. package/dist/mqttPacket/unsuback.d.ts.map +1 -1
  211. package/dist/mqttPacket/unsuback.js +32 -34
  212. package/dist/mqttPacket/unsuback.js.map +1 -1
  213. package/dist/mqttPacket/unsubscribe.d.ts +23 -6
  214. package/dist/mqttPacket/unsubscribe.d.ts.map +1 -1
  215. package/dist/mqttPacket/unsubscribe.js +45 -44
  216. package/dist/mqttPacket/unsubscribe.js.map +1 -1
  217. package/dist/mqttPacket/validators.d.ts +4 -16
  218. package/dist/mqttPacket/validators.d.ts.map +1 -1
  219. package/dist/mqttPacket/validators.js +5 -26
  220. package/dist/mqttPacket/validators.js.map +1 -1
  221. package/dist/node/tcpClient.d.ts +1 -1
  222. package/dist/node/tcpClient.d.ts.map +1 -1
  223. package/dist/node/tcpClient.js +12 -7
  224. package/dist/node/tcpClient.js.map +1 -1
  225. package/dist/node/tcpServer.d.ts.map +1 -1
  226. package/dist/node/tcpServer.js +4 -0
  227. package/dist/node/tcpServer.js.map +1 -1
  228. package/dist/node/tlsServer.d.ts +19 -0
  229. package/dist/node/tlsServer.d.ts.map +1 -0
  230. package/dist/node/tlsServer.js +58 -0
  231. package/dist/node/tlsServer.js.map +1 -0
  232. package/dist/node/wrapNodeSocket.d.ts.map +1 -1
  233. package/dist/node/wrapNodeSocket.js +6 -28
  234. package/dist/node/wrapNodeSocket.js.map +1 -1
  235. package/dist/persistence/basicPersistence.d.ts +36 -0
  236. package/dist/persistence/basicPersistence.d.ts.map +1 -0
  237. package/dist/persistence/basicPersistence.js +306 -0
  238. package/dist/persistence/basicPersistence.js.map +1 -0
  239. package/dist/persistence/deps.d.ts +3 -2
  240. package/dist/persistence/deps.d.ts.map +1 -1
  241. package/dist/persistence/deps.js +2 -1
  242. package/dist/persistence/deps.js.map +1 -1
  243. package/dist/persistence/memory/memoryPersistence.d.ts +6 -23
  244. package/dist/persistence/memory/memoryPersistence.d.ts.map +1 -1
  245. package/dist/persistence/memory/memoryPersistence.js +12 -115
  246. package/dist/persistence/memory/memoryPersistence.js.map +1 -1
  247. package/dist/persistence/memory/memoryStorage.d.ts +45 -0
  248. package/dist/persistence/memory/memoryStorage.d.ts.map +1 -0
  249. package/dist/persistence/memory/memoryStorage.js +143 -0
  250. package/dist/persistence/memory/memoryStorage.js.map +1 -0
  251. package/dist/persistence/mod.d.ts +3 -3
  252. package/dist/persistence/mod.d.ts.map +1 -1
  253. package/dist/persistence/mod.js +6 -1
  254. package/dist/persistence/mod.js.map +1 -1
  255. package/dist/persistence/persistence.d.ts +44 -69
  256. package/dist/persistence/persistence.d.ts.map +1 -1
  257. package/dist/persistence/persistence.js +1 -2
  258. package/dist/persistence/persistence.js.map +1 -1
  259. package/dist/persistence/sqlite/sqliteDatabase.d.ts +46 -0
  260. package/dist/persistence/sqlite/sqliteDatabase.d.ts.map +1 -0
  261. package/dist/persistence/sqlite/sqliteDatabase.js +215 -0
  262. package/dist/persistence/sqlite/sqliteDatabase.js.map +1 -0
  263. package/dist/persistence/sqlite/sqlitePersistence.d.ts +16 -0
  264. package/dist/persistence/sqlite/sqlitePersistence.d.ts.map +1 -0
  265. package/dist/persistence/sqlite/sqlitePersistence.js +29 -0
  266. package/dist/persistence/sqlite/sqlitePersistence.js.map +1 -0
  267. package/dist/persistence/sqlite/sqliteStorage.d.ts +36 -0
  268. package/dist/persistence/sqlite/sqliteStorage.d.ts.map +1 -0
  269. package/dist/persistence/sqlite/sqliteStorage.js +194 -0
  270. package/dist/persistence/sqlite/sqliteStorage.js.map +1 -0
  271. package/dist/persistence/storage.d.ts +38 -0
  272. package/dist/persistence/storage.d.ts.map +1 -0
  273. package/dist/persistence/storage.js +5 -0
  274. package/dist/persistence/storage.js.map +1 -0
  275. package/dist/server/config.d.ts +47 -0
  276. package/dist/server/config.d.ts.map +1 -0
  277. package/dist/server/config.js +41 -0
  278. package/dist/server/config.js.map +1 -0
  279. package/dist/server/context.d.ts +198 -24
  280. package/dist/server/context.d.ts.map +1 -1
  281. package/dist/server/context.js +432 -53
  282. package/dist/server/context.js.map +1 -1
  283. package/dist/server/deps.d.ts +5 -6
  284. package/dist/server/deps.d.ts.map +1 -1
  285. package/dist/server/deps.js +2 -2
  286. package/dist/server/deps.js.map +1 -1
  287. package/dist/server/handlers/completeConnect.d.ts +8 -0
  288. package/dist/server/handlers/completeConnect.d.ts.map +1 -0
  289. package/dist/server/handlers/completeConnect.js +74 -0
  290. package/dist/server/handlers/completeConnect.js.map +1 -0
  291. package/dist/server/handlers/handleAuth.d.ts +9 -0
  292. package/dist/server/handlers/handleAuth.d.ts.map +1 -0
  293. package/dist/server/handlers/handleAuth.js +69 -0
  294. package/dist/server/handlers/handleAuth.js.map +1 -0
  295. package/dist/server/handlers/handleConnect.d.ts +2 -4
  296. package/dist/server/handlers/handleConnect.d.ts.map +1 -1
  297. package/dist/server/handlers/handleConnect.js +140 -67
  298. package/dist/server/handlers/handleConnect.js.map +1 -1
  299. package/dist/server/handlers/handleDisconnect.d.ts +1 -1
  300. package/dist/server/handlers/handleDisconnect.d.ts.map +1 -1
  301. package/dist/server/handlers/handleDisconnect.js +3 -3
  302. package/dist/server/handlers/handleDisconnect.js.map +1 -1
  303. package/dist/server/handlers/handlePacket.d.ts.map +1 -1
  304. package/dist/server/handlers/handlePacket.js +19 -6
  305. package/dist/server/handlers/handlePacket.js.map +1 -1
  306. package/dist/server/handlers/handlePuback.d.ts +1 -3
  307. package/dist/server/handlers/handlePuback.d.ts.map +1 -1
  308. package/dist/server/handlers/handlePuback.js +2 -8
  309. package/dist/server/handlers/handlePuback.js.map +1 -1
  310. package/dist/server/handlers/handlePubcomp.d.ts +1 -1
  311. package/dist/server/handlers/handlePubcomp.d.ts.map +1 -1
  312. package/dist/server/handlers/handlePubcomp.js +2 -4
  313. package/dist/server/handlers/handlePubcomp.js.map +1 -1
  314. package/dist/server/handlers/handlePublish.d.ts +1 -1
  315. package/dist/server/handlers/handlePublish.d.ts.map +1 -1
  316. package/dist/server/handlers/handlePublish.js +149 -45
  317. package/dist/server/handlers/handlePublish.js.map +1 -1
  318. package/dist/server/handlers/handlePubrec.d.ts.map +1 -1
  319. package/dist/server/handlers/handlePubrec.js +2 -3
  320. package/dist/server/handlers/handlePubrec.js.map +1 -1
  321. package/dist/server/handlers/handlePubrel.d.ts.map +1 -1
  322. package/dist/server/handlers/handlePubrel.js +6 -2
  323. package/dist/server/handlers/handlePubrel.js.map +1 -1
  324. package/dist/server/handlers/handleSubscribe.d.ts +1 -6
  325. package/dist/server/handlers/handleSubscribe.d.ts.map +1 -1
  326. package/dist/server/handlers/handleSubscribe.js +99 -38
  327. package/dist/server/handlers/handleSubscribe.js.map +1 -1
  328. package/dist/server/handlers/handleUnsubscribe.d.ts.map +1 -1
  329. package/dist/server/handlers/handleUnsubscribe.js +19 -4
  330. package/dist/server/handlers/handleUnsubscribe.js.map +1 -1
  331. package/dist/server/mod.d.ts +3 -3
  332. package/dist/server/mod.d.ts.map +1 -1
  333. package/dist/server/mod.js +1 -1
  334. package/dist/server/mod.js.map +1 -1
  335. package/dist/server/server.d.ts +29 -6
  336. package/dist/server/server.d.ts.map +1 -1
  337. package/dist/server/server.js +84 -15
  338. package/dist/server/server.js.map +1 -1
  339. package/dist/socket/socket.d.ts +11 -9
  340. package/dist/socket/socket.d.ts.map +1 -1
  341. package/dist/socket/socket.js +67 -15
  342. package/dist/socket/socket.js.map +1 -1
  343. package/dist/timer/timer.d.ts +32 -0
  344. package/dist/timer/timer.d.ts.map +1 -1
  345. package/dist/timer/timer.js +32 -0
  346. package/dist/timer/timer.js.map +1 -1
  347. package/dist/trie/trie.d.ts +10 -5
  348. package/dist/trie/trie.d.ts.map +1 -1
  349. package/dist/trie/trie.js +47 -17
  350. package/dist/trie/trie.js.map +1 -1
  351. package/dist/utils/assert.d.ts.map +1 -1
  352. package/dist/utils/{BufferedAsyncIterable.d.ts → bufferedAsyncIterable.d.ts} +1 -1
  353. package/dist/utils/bufferedAsyncIterable.d.ts.map +1 -0
  354. package/dist/utils/{BufferedAsyncIterable.js → bufferedAsyncIterable.js} +1 -1
  355. package/dist/utils/bufferedAsyncIterable.js.map +1 -0
  356. package/dist/utils/deferred.d.ts.map +1 -1
  357. package/dist/utils/deferred.js.map +1 -1
  358. package/dist/utils/getOrInsertPolyFill.d.ts +2 -0
  359. package/dist/utils/getOrInsertPolyFill.d.ts.map +1 -0
  360. package/dist/utils/getOrInsertPolyFill.js +12 -0
  361. package/dist/utils/getOrInsertPolyFill.js.map +1 -0
  362. package/dist/utils/logger.d.ts +40 -3
  363. package/dist/utils/logger.d.ts.map +1 -1
  364. package/dist/utils/logger.js +53 -7
  365. package/dist/utils/logger.js.map +1 -1
  366. package/dist/utils/mod.d.ts +6 -1
  367. package/dist/utils/mod.d.ts.map +1 -1
  368. package/dist/utils/mod.js +5 -1
  369. package/dist/utils/mod.js.map +1 -1
  370. package/dist/utils/outboundTopicAliasManager.d.ts +52 -0
  371. package/dist/utils/outboundTopicAliasManager.d.ts.map +1 -0
  372. package/dist/utils/outboundTopicAliasManager.js +74 -0
  373. package/dist/utils/outboundTopicAliasManager.js.map +1 -0
  374. package/dist/utils/queue.d.ts.map +1 -1
  375. package/dist/utils/topicFilter.d.ts +32 -0
  376. package/dist/utils/topicFilter.d.ts.map +1 -0
  377. package/dist/utils/topicFilter.js +52 -0
  378. package/dist/utils/topicFilter.js.map +1 -0
  379. package/dist/utils/utils.d.ts +2 -0
  380. package/dist/utils/utils.d.ts.map +1 -1
  381. package/dist/utils/utils.js +2 -0
  382. package/dist/utils/utils.js.map +1 -1
  383. package/dist/utils/validators.d.ts +34 -0
  384. package/dist/utils/validators.d.ts.map +1 -0
  385. package/dist/utils/validators.js +61 -0
  386. package/dist/utils/validators.js.map +1 -0
  387. package/dist/web/webSocketStream.d.ts +29 -0
  388. package/dist/web/webSocketStream.d.ts.map +1 -0
  389. package/dist/web/webSocketStream.js +69 -0
  390. package/dist/web/webSocketStream.js.map +1 -0
  391. package/dist/web/wrapWebSocket.d.ts +12 -0
  392. package/dist/web/wrapWebSocket.d.ts.map +1 -0
  393. package/dist/web/wrapWebSocket.js +41 -0
  394. package/dist/web/wrapWebSocket.js.map +1 -0
  395. package/dist/web/wsClient.d.ts +7 -0
  396. package/dist/web/wsClient.d.ts.map +1 -0
  397. package/dist/web/wsClient.js +22 -0
  398. package/dist/web/wsClient.js.map +1 -0
  399. package/dist/web/wsClient.test.d.ts +2 -0
  400. package/dist/web/wsClient.test.d.ts.map +1 -0
  401. package/dist/web/wsClient.test.js +20 -0
  402. package/dist/web/wsClient.test.js.map +1 -0
  403. package/examples/authHandler.test.ts +164 -0
  404. package/examples/mqtt.test.ts +89 -0
  405. package/examples/mqtts.test.ts +100 -0
  406. package/examples/webSocket.test.ts +94 -0
  407. package/mqttConn/mqttConn.test.ts +9 -9
  408. package/mqttConn/mqttConn.ts +91 -49
  409. package/mqttPacket/BitMask.ts +11 -19
  410. package/mqttPacket/Properties.ts +6 -3
  411. package/mqttPacket/ReasonCode.ts +2 -1
  412. package/mqttPacket/auth.test.ts +1 -1
  413. package/mqttPacket/auth.ts +41 -48
  414. package/mqttPacket/codec.ts +146 -0
  415. package/mqttPacket/connack.ts +57 -68
  416. package/mqttPacket/connect.test.ts +2 -2
  417. package/mqttPacket/connect.ts +197 -204
  418. package/mqttPacket/decoder.test.ts +0 -39
  419. package/mqttPacket/decoder.ts +9 -36
  420. package/mqttPacket/disconnect.ts +57 -68
  421. package/mqttPacket/encoder.ts +5 -40
  422. package/mqttPacket/length.ts +1 -1
  423. package/mqttPacket/mod.ts +48 -200
  424. package/mqttPacket/pingreq.ts +21 -27
  425. package/mqttPacket/pingres.ts +21 -27
  426. package/mqttPacket/protocolLevels.ts +12 -7
  427. package/mqttPacket/pubblishAcks.ts +68 -77
  428. package/mqttPacket/publish.ts +76 -83
  429. package/mqttPacket/suback.ts +48 -58
  430. package/mqttPacket/subscribe.ts +141 -117
  431. package/mqttPacket/types.ts +1 -9
  432. package/mqttPacket/unsuback.ts +46 -58
  433. package/mqttPacket/unsubscribe.ts +74 -63
  434. package/mqttPacket/validators.ts +5 -31
  435. package/node/socket-node-stream.test.ts +322 -0
  436. package/node/socket-node-stream.ts +174 -0
  437. package/node/tcpClient.test.ts +70 -0
  438. package/node/tcpClient.ts +13 -12
  439. package/node/tcpServer.test.ts +24 -20
  440. package/node/tcpServer.ts +6 -0
  441. package/node/tlsServer.test.ts +94 -0
  442. package/node/tlsServer.ts +81 -0
  443. package/node/wrapNodeSocket.ts +7 -30
  444. package/package.json +73 -45
  445. package/persistence/basicPersistence.ts +495 -0
  446. package/persistence/deps.ts +11 -1
  447. package/persistence/memory/memoryPersistence.ts +12 -152
  448. package/persistence/memory/memoryStorage.ts +232 -0
  449. package/persistence/mod.ts +4 -4
  450. package/persistence/persistence.test.ts +24 -0
  451. package/persistence/persistence.testing.ts +1324 -0
  452. package/persistence/persistence.ts +111 -67
  453. package/persistence/sqlite/sqliteDatabase.ts +294 -0
  454. package/persistence/sqlite/sqlitePersistence.test.ts +48 -0
  455. package/persistence/sqlite/sqlitePersistence.ts +36 -0
  456. package/persistence/sqlite/sqliteStorage.ts +324 -0
  457. package/persistence/storage.ts +84 -0
  458. package/server/config.ts +65 -0
  459. package/server/context.ts +658 -74
  460. package/server/deps.ts +25 -5
  461. package/server/handlers/completeConnect.ts +93 -0
  462. package/server/handlers/duplicate.test.ts +196 -0
  463. package/server/handlers/handleAuth.test.ts +225 -0
  464. package/server/handlers/handleAuth.ts +88 -0
  465. package/server/handlers/handleConnect.test.ts +589 -0
  466. package/server/handlers/handleConnect.ts +201 -86
  467. package/server/handlers/handleConnect.version.test.ts +108 -0
  468. package/server/handlers/handleDisconnect.test.ts +56 -0
  469. package/server/handlers/handleDisconnect.ts +3 -3
  470. package/server/handlers/handlePacket.test.ts +24 -0
  471. package/server/handlers/handlePacket.ts +30 -8
  472. package/server/handlers/handlePingreq.test.ts +29 -0
  473. package/server/handlers/handlePuback.test.ts +28 -0
  474. package/server/handlers/handlePuback.ts +5 -8
  475. package/server/handlers/handlePubcomp.test.ts +28 -0
  476. package/server/handlers/handlePubcomp.ts +5 -4
  477. package/server/handlers/handlePublish.test.ts +471 -0
  478. package/server/handlers/handlePublish.ts +189 -35
  479. package/server/handlers/handlePubrec.test.ts +28 -0
  480. package/server/handlers/handlePubrec.ts +2 -3
  481. package/server/handlers/handlePubrel.test.ts +74 -0
  482. package/server/handlers/handlePubrel.ts +12 -2
  483. package/server/handlers/handleSubscribe.test.ts +971 -0
  484. package/server/handlers/handleSubscribe.ts +158 -39
  485. package/server/handlers/handleUnsubscribe.test.ts +79 -0
  486. package/server/handlers/handleUnsubscribe.ts +29 -5
  487. package/server/handlers/keepalive.test.ts +132 -0
  488. package/server/handlers/session.persistence.test.ts +194 -0
  489. package/server/handlers/will.delivery.test.ts +221 -0
  490. package/server/mod.ts +4 -3
  491. package/server/preconnect.test.ts +151 -0
  492. package/server/server.ts +115 -17
  493. package/socket/socket.test.ts +91 -0
  494. package/socket/socket.ts +81 -31
  495. package/timer/timer.test.ts +4 -7
  496. package/timer/timer.ts +36 -0
  497. package/tools/benchmarks/receiver.ts +51 -0
  498. package/tools/benchmarks/sender.ts +48 -0
  499. package/tools/benchmarks/utils.ts +31 -0
  500. package/tools/mqtt-compat/README.md +130 -0
  501. package/tools/mqtt-compat/broker.ts +52 -0
  502. package/tools/mqtt-compat/paho-mqtt4.test.ts +379 -0
  503. package/tools/mqtt-compat/paho-mqtt5.tests.ts +887 -0
  504. package/trie/trie.test.ts +9 -1
  505. package/trie/trie.ts +57 -22
  506. package/utils/bufferedAsyncIterable.test.ts +92 -0
  507. package/utils/{BufferedAsyncIterable.ts → bufferedAsyncIterable.ts} +1 -1
  508. package/utils/deferred.test.ts +36 -0
  509. package/utils/deferred.ts +0 -1
  510. package/utils/getOrInsertPolyFill.ts +12 -0
  511. package/utils/logger.test.ts +189 -0
  512. package/utils/logger.ts +62 -7
  513. package/utils/mod.ts +15 -1
  514. package/utils/outboundTopicAliasManager.ts +100 -0
  515. package/utils/queue.test.ts +61 -0
  516. package/utils/topicFilter.test.ts +63 -0
  517. package/utils/topicFilter.ts +61 -0
  518. package/utils/utils.ts +3 -0
  519. package/utils/validators.ts +67 -0
  520. package/web/webSocketStream.ts +97 -0
  521. package/web/wrapWebSocket.ts +52 -0
  522. package/web/wsClient.test.ts +26 -0
  523. package/web/wsClient.ts +25 -0
  524. package/benchmarks/receiver.ts +0 -35
  525. package/benchmarks/sender.ts +0 -32
  526. package/benchmarks/utils.ts +0 -9
  527. package/dev_utils/dummyConn.ts +0 -110
  528. package/dist/persistence/store.d.ts +0 -13
  529. package/dist/persistence/store.d.ts.map +0 -1
  530. package/dist/persistence/store.js +0 -2
  531. package/dist/persistence/store.js.map +0 -1
  532. package/dist/utils/BufferedAsyncIterable.d.ts.map +0 -1
  533. package/dist/utils/BufferedAsyncIterable.js.map +0 -1
  534. package/examples/tcpServer.test.ts +0 -148
  535. package/persistence/memory/memoryPersistence.test.ts +0 -156
  536. package/persistence/store.ts +0 -15
  537. package/server/test/handleConnect.test.ts +0 -130
  538. package/server/test/test-handlers.ts +0 -53
@@ -1,47 +1,221 @@
1
- import { MqttConn } from "./deps.ts";
2
- import type { AnyPacket, IPersistence, IStore, ProtocolLevel, PublishPacket, SockConn, TAuthenticationResult, Timer, Topic } from "./deps.ts";
1
+ import { MqttConn, OutboundTopicAliasManager, Timer } from "./deps.ts";
2
+ import type { AnyPacket, ConnectPacket, ExtPublishPacket, IPersistence, PacketId, ProtocolLevel, ShareName, SockConn, Topic, TReasonCode } from "./deps.ts";
3
+ import type { Configuration } from "./config.ts";
4
+ /** Unique identifier for an MQTT client. */
3
5
  export type ClientId = string;
6
+ /** System topic prefix character used for internal MQTT system topics. */
4
7
  export declare const SysPrefix = "$";
8
+ /** Standard UTF-8 encoder used across the server to convert strings to byte arrays. */
5
9
  export declare const utf8Encoder: TextEncoder;
10
+ /** Possible results from isAuthenticated and processAuth handler */
11
+ export type AuthenticatedResult = {
12
+ reasonCode: TReasonCode;
13
+ reasonString?: string;
14
+ authData?: Uint8Array;
15
+ };
16
+ export declare const SessionState: {
17
+ readonly connecting: 0;
18
+ readonly authenticating: 1;
19
+ readonly connected: 2;
20
+ readonly closing: 3;
21
+ readonly disconnected: 4;
22
+ };
23
+ export type SessionState = typeof SessionState[keyof typeof SessionState];
6
24
  /**
7
25
  * Handlers are hooks that the server will call
8
26
  * and let you influence the servers behaviour.
9
27
  * The following handlers can be configured:
10
- * - isAuthenticated()
11
- * - isAuthorizedToPublish()
12
- * - isAuthorizedToSubscribe()
28
+ * - preconnect()
29
+ * - isAuthenticated()
30
+ * - processAuth()
31
+ * - isAuthorizedToPublish()
32
+ * - isAuthorizedToSubscribe()
13
33
  */
14
34
  export type Handlers = {
15
- isAuthenticated?(ctx: Context, clientId: ClientId, username: string, password: Uint8Array): TAuthenticationResult;
16
- isAuthorizedToPublish?(ctx: Context, topic: Topic): boolean;
17
- isAuthorizedToSubscribe?(ctx: Context, topic: Topic): boolean;
35
+ /**
36
+ * Default preconnect handler that unconditionally permits all connections.
37
+ * @param {SockConn} conn - The connection context.
38
+ * @returns {boolean} false will close the connection
39
+ */
40
+ preconnect?(conn: SockConn): boolean | Promise<boolean>;
41
+ /**
42
+ * Hook to authenticate a client connection attempt.
43
+ * @param {Context} ctx - The connection context.
44
+ * @param {ClientId} clientId - The client identifier.
45
+ * @param {string} username - The username provided by the client.
46
+ * @param {Uint8Array} password - The password bytes provided by the client.
47
+ * @param {ConnectPacket} connectPacket - The raw connect packet
48
+ * @returns {AuthResult} The result of the authentication attempt.
49
+ */
50
+ isAuthenticated?(ctx: Context, clientId: ClientId, username: string, password: Uint8Array, connectPacket: ConnectPacket): AuthenticatedResult | Promise<AuthenticatedResult>;
51
+ /**
52
+ * Hook to authenticate a client connection attempt.
53
+ * @param {Context} ctx - The connection context.
54
+ * @param {ClientId} clientId - The client identifier.
55
+ * @param {string} authMethod - The authentication method provided by the client.
56
+ * @param {Uint8Array} authData- The authentication data provided by the client.
57
+ * @returns {AuthenticationResult} The result of the authentication attempt.
58
+ */
59
+ processAuth?(ctx: Context, clientId: ClientId, authMethod: string, authData: Uint8Array): AuthenticatedResult | Promise<AuthenticatedResult>;
60
+ /**
61
+ * Hook to authorize a message publication to a specific topic.
62
+ * @param {Context} ctx - The connection context.
63
+ * @param {Topic} topic - The topic the client wants to publish to.
64
+ * @returns {boolean} True if the client is authorized to publish, false otherwise.
65
+ */
66
+ isAuthorizedToPublish?(ctx: Context, topic: Topic): boolean | Promise<boolean>;
67
+ /**
68
+ * Hook to authorize a subscription request to a specific topic.
69
+ * @param {Context} ctx - The connection context.
70
+ * @param {Topic} topic - The topic filter the client wants to subscribe to.
71
+ * @param {ShareName} shareName - The name of the share in case of shared subscriptions
72
+ * @returns {boolean} True if the client is authorized to subscribe, false otherwise.
73
+ */
74
+ isAuthorizedToSubscribe?(ctx: Context, topic: Topic, shareName: ShareName): boolean | Promise<boolean>;
75
+ };
76
+ /**
77
+ * V5 options that can be passed by handleConnect
78
+ */
79
+ export type ConnectOptions = {
80
+ sessionExpiryInterval?: number | undefined;
81
+ willDelayInterval?: number | undefined;
82
+ topicAliasMaximum?: number | undefined;
83
+ maximumOutgoingPacketSize?: number | undefined;
84
+ receiveMaximum?: number | undefined;
85
+ assignedClientIdentifier?: string | undefined;
86
+ keepAlive?: number | undefined;
18
87
  };
19
88
  /**
20
- * The Context class is used to maintain state of a MQTT connection
21
- * It handles:
22
- * - connect/disconnect including broadcasting of these events
23
- * - publish
24
- * - persistence
25
- * - the will
89
+ * Per-connection server context that manages the lifecycle, packets,
90
+ * timers, and persistence interactions for an individual client connection.
26
91
  */
27
92
  export declare class Context {
28
- connected: boolean;
93
+ /** the client id is set after succesful connect */
94
+ clientId: ClientId | null;
95
+ /** Indicates the current state of the client */
96
+ state: SessionState;
97
+ /** Indicates whether the client asked for a clean session */
98
+ cleanSession: boolean;
99
+ /** Indicates whether the client is considered a broker and allowed to use $SYS topics etc */
100
+ isBroker: boolean;
101
+ /** The MQTT protocol level version determined during the connection handshake. */
29
102
  protocolLevel: ProtocolLevel;
103
+ /** The underlying raw socket connection. */
30
104
  conn: SockConn;
105
+ /** The wrapped MQTT connection wrapper handling frame reading and writing. */
31
106
  mqttConn: MqttConn;
107
+ /** The persistence layer instance used by the server. */
32
108
  persistence: IPersistence;
109
+ /** The configured authentication and authorization lifecycle hooks. */
33
110
  handlers: Handlers;
111
+ /** Configuration data */
112
+ config: Configuration;
113
+ /** Global registry mapping active client identifiers to their respective connection context. */
34
114
  static clientList: Map<ClientId, Context>;
35
- store?: IStore;
36
- will?: PublishPacket;
115
+ /** The optional Will packet configured by the client to be published if disconnected unexpectedly. */
116
+ will?: ExtPublishPacket | undefined;
117
+ /** The Keep Alive timer tracking the client activity timeout. */
37
118
  timer?: Timer;
38
- constructor(persistence: IPersistence, conn: SockConn, handlers: Handlers);
39
- send(packet: AnyPacket): Promise<void>;
40
- connect(clientId: string, clean: boolean): void;
41
- doPublish(packet: PublishPacket): void;
42
- clean(clientId: string): void;
43
- close(executewill?: boolean): void;
119
+ /** Timer to keep track of when a V5 session ends */
120
+ sessionEndsTimer?: Timer;
121
+ /** Timer to handle V5 delayed will delivery */
122
+ willTimer?: Timer;
123
+ /**
124
+ * Timer enforcing a deadline for the client to send a CONNECT packet
125
+ * after establishing a socket connection.
126
+ */
127
+ preconnectTimer?: Timer;
128
+ /**
129
+ * max number of inflight packets for this client,
130
+ * in V5 client can set this lower than maxInflightMessages
131
+ * theoretical max is maxInt
132
+ */
133
+ receiveMaximum: number;
134
+ /**
135
+ * inflighPackets, how many publish packets have been sent and are waiting for ack
136
+ */
137
+ inflightPackets: number;
138
+ /**
139
+ * set of Id's of publish packets waiting to be send to the client
140
+ */
141
+ queuedPacketIds: Set<PacketId>;
142
+ /**
143
+ * V5,max topicAliases ,0 = none
144
+ */
145
+ outgoingMaxTopicAlias: number;
146
+ incomingMaxTopicAlias: number;
147
+ /** V5 server topic aliases */
148
+ incomingTopicAliases: Map<number, Topic>;
149
+ /** V5 client topic aliases */
150
+ outgoingTopicAliasManager: undefined | OutboundTopicAliasManager;
151
+ connectOptions: undefined | ConnectOptions;
152
+ /**
153
+ * Initializes a new instance of the connection Context.
154
+ */
155
+ constructor(configuration: Configuration, // all settings
156
+ persistence: IPersistence, // The server persistence layer implementation.
157
+ conn: SockConn, // The underlying socket connection.
158
+ handlers: Handlers);
159
+ /**
160
+ * Configures and starts the preconnect timer to enforce connection deadlines.
161
+ */
162
+ private initializePreconnectTimer;
163
+ /**
164
+ * Transmits an MQTT packet to the client.
165
+ */
166
+ send(packet: AnyPacket): Promise<boolean>;
167
+ /**
168
+ * Dispatch the next publish packet in queue (if exists),
169
+ * when a ack packet on an already sent publish arrives
170
+ */
171
+ processAck(packetId: PacketId): Promise<boolean>;
172
+ /**
173
+ * Dispatch publish packets to client
174
+ */
175
+ dispatch(extPacket: ExtPublishPacket): Promise<void>;
176
+ /**
177
+ * Helper to setup the timers
178
+ */
179
+ private setupConnectionTimers;
180
+ /**
181
+ * process V5 connectOptions
182
+ */
183
+ private applyConnectOptions;
184
+ /**
185
+ * Finalizes the client connection state, registers the client in persistence,
186
+ * kicks out existing duplicate sessions, and broadcasts the client connection event.
187
+ */
188
+ prepareConnect(packet: ConnectPacket, clientId: string, connectOpts?: ConnectOptions): void;
189
+ connect(): Promise<boolean>;
190
+ /**
191
+ * Proces -inbound- publication requests
192
+ */
193
+ publish(packet: ExtPublishPacket): Promise<void>;
194
+ /**
195
+ * Explicitly removes a client session and its stored state from the persistence layer.
196
+ */
197
+ clean(): Promise<void>;
198
+ /**
199
+ * Tears down the connection context, terminates the underlying socket,
200
+ * clears internal timers, triggers the Will packet execution if requested,
201
+ * and announces the client disconnection.
202
+ * If executewill=true triggers the registered Will packet logic.
203
+ */
204
+ close(executewill?: boolean): Promise<void>;
205
+ /**
206
+ * Evaluates authorization and triggers the distribution of the client's Will packet.
207
+ */
44
208
  private handleWill;
45
- broadcast(topic: Topic, payload: string, retain?: boolean): void;
209
+ /**
210
+ * Utility method to generate and publish an internal system message payload to the persistence engine.
211
+ */
212
+ broadcast(topic: Topic, // The topic filter string to publish to.
213
+ payload: string, // The plain-text message string to encode.
214
+ retain?: boolean): Promise<void>;
215
+ /**
216
+ * utility method to redeliver packets that were cached
217
+ * called from handleConnect()
218
+ */
219
+ handleRedelivery(): Promise<void>;
46
220
  }
47
221
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../server/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EAIT,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,MAAM,EACN,aAAa,EACb,aAAa,EACb,QAAQ,EACR,qBAAqB,EACrB,KAAK,EACL,KAAK,EACN,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,eAAO,MAAM,SAAS,MAAM,CAAC;AAE7B,eAAO,MAAM,WAAW,aAAoB,CAAC;AAE7C;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,eAAe,CAAC,CACd,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,UAAU,GACnB,qBAAqB,CAAC;IACzB,qBAAqB,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5D,uBAAuB,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;CAC/D,CAAC;AAEF;;;;;;;GAOG;AAEH,qBAAa,OAAO;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,YAAY,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAa;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,KAAK,CAAC;gBAEF,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ;IASnE,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAiB/C,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IActC,KAAK,CAAC,QAAQ,EAAE,MAAM;IAItB,KAAK,CAAC,WAAW,UAAO,GAAG,IAAI;IA6B/B,OAAO,CAAC,UAAU;IAYlB,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAQ,GAAG,IAAI;CAa/D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../server/context.ts"],"names":[],"mappings":"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"}