abmqtts 0.0.3 → 0.0.5

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 (278) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +175 -10
  3. package/dist/constants.d.ts +96 -0
  4. package/dist/constants.js +280 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/errors/index.d.ts +16 -8
  7. package/dist/errors/index.js +27 -22
  8. package/dist/errors/index.js.map +1 -1
  9. package/dist/extend.d.ts +25 -0
  10. package/dist/extend.js +91 -0
  11. package/dist/extend.js.map +1 -0
  12. package/dist/fbns/fbns.client.d.ts +31 -0
  13. package/dist/fbns/fbns.client.events.d.ts +41 -0
  14. package/dist/{reconnect-strategy/mqtts.reconnect-strategy.js → fbns/fbns.client.events.js} +1 -1
  15. package/dist/fbns/fbns.client.events.js.map +1 -0
  16. package/dist/fbns/fbns.client.js +181 -0
  17. package/dist/fbns/fbns.client.js.map +1 -0
  18. package/dist/fbns/fbns.device-auth.d.ts +17 -0
  19. package/dist/fbns/fbns.device-auth.js +54 -0
  20. package/dist/fbns/fbns.device-auth.js.map +1 -0
  21. package/dist/fbns/fbns.types.d.ts +83 -0
  22. package/dist/{mqtt.types.js → fbns/fbns.types.js} +1 -1
  23. package/dist/fbns/fbns.types.js.map +1 -0
  24. package/dist/fbns/fbns.utilities.d.ts +2 -0
  25. package/dist/fbns/fbns.utilities.js +78 -0
  26. package/dist/fbns/fbns.utilities.js.map +1 -0
  27. package/dist/fbns/index.d.ts +4 -0
  28. package/dist/{transport → fbns}/index.js +4 -5
  29. package/dist/fbns/index.js.map +1 -0
  30. package/dist/index.d.ts +5 -12
  31. package/dist/index.js +5 -12
  32. package/dist/index.js.map +1 -1
  33. package/dist/mqttot/index.d.ts +4 -0
  34. package/dist/mqttot/index.js +21 -0
  35. package/dist/mqttot/index.js.map +1 -0
  36. package/dist/mqttot/mqttot.client.d.ts +37 -0
  37. package/dist/mqttot/mqttot.client.js +101 -0
  38. package/dist/mqttot/mqttot.client.js.map +1 -0
  39. package/dist/mqttot/mqttot.connect.request.packet.d.ts +6 -0
  40. package/dist/mqttot/mqttot.connect.request.packet.js +8 -0
  41. package/dist/mqttot/mqttot.connect.request.packet.js.map +1 -0
  42. package/dist/mqttot/mqttot.connect.response.packet.d.ts +6 -0
  43. package/dist/mqttot/mqttot.connect.response.packet.js +24 -0
  44. package/dist/mqttot/mqttot.connect.response.packet.js.map +1 -0
  45. package/dist/mqttot/mqttot.connection.d.ts +56 -0
  46. package/dist/mqttot/mqttot.connection.js +56 -0
  47. package/dist/mqttot/mqttot.connection.js.map +1 -0
  48. package/dist/realtime/commands/commands.d.ts +15 -0
  49. package/dist/realtime/commands/commands.js +21 -0
  50. package/dist/realtime/commands/commands.js.map +1 -0
  51. package/dist/realtime/commands/direct.commands.d.ts +67 -0
  52. package/dist/realtime/commands/direct.commands.js +179 -0
  53. package/dist/realtime/commands/direct.commands.js.map +1 -0
  54. package/dist/realtime/commands/index.d.ts +2 -0
  55. package/dist/{reconnect-strategy → realtime/commands}/index.js +2 -2
  56. package/dist/realtime/commands/index.js.map +1 -0
  57. package/dist/realtime/index.d.ts +6 -0
  58. package/dist/realtime/index.js +23 -0
  59. package/dist/realtime/index.js.map +1 -0
  60. package/dist/realtime/messages/app-presence.event.d.ts +9 -0
  61. package/dist/realtime/messages/app-presence.event.js +3 -0
  62. package/dist/realtime/messages/app-presence.event.js.map +1 -0
  63. package/dist/realtime/messages/index.d.ts +3 -0
  64. package/dist/realtime/messages/index.js +20 -0
  65. package/dist/realtime/messages/index.js.map +1 -0
  66. package/dist/realtime/messages/message-sync.message.d.ts +222 -0
  67. package/dist/realtime/messages/message-sync.message.js +43 -0
  68. package/dist/realtime/messages/message-sync.message.js.map +1 -0
  69. package/dist/realtime/messages/realtime-sub.direct.data.d.ts +11 -0
  70. package/dist/realtime/messages/realtime-sub.direct.data.js +3 -0
  71. package/dist/realtime/messages/realtime-sub.direct.data.js.map +1 -0
  72. package/dist/realtime/messages/thread-update.message.d.ts +68 -0
  73. package/dist/realtime/messages/thread-update.message.js +3 -0
  74. package/dist/realtime/messages/thread-update.message.js.map +1 -0
  75. package/dist/realtime/mixins/index.d.ts +3 -0
  76. package/dist/realtime/mixins/index.js +20 -0
  77. package/dist/realtime/mixins/index.js.map +1 -0
  78. package/dist/realtime/mixins/message-sync.mixin.d.ts +8 -0
  79. package/dist/realtime/mixins/message-sync.mixin.js +77 -0
  80. package/dist/realtime/mixins/message-sync.mixin.js.map +1 -0
  81. package/dist/realtime/mixins/mixin.d.ts +19 -0
  82. package/dist/realtime/mixins/mixin.js +41 -0
  83. package/dist/realtime/mixins/mixin.js.map +1 -0
  84. package/dist/realtime/mixins/realtime-sub.mixin.d.ts +8 -0
  85. package/dist/realtime/mixins/realtime-sub.mixin.js +60 -0
  86. package/dist/realtime/mixins/realtime-sub.mixin.js.map +1 -0
  87. package/dist/realtime/parsers/graphql.parser.d.ts +14 -0
  88. package/dist/realtime/parsers/graphql.parser.js +22 -0
  89. package/dist/realtime/parsers/graphql.parser.js.map +1 -0
  90. package/dist/realtime/parsers/index.d.ts +6 -0
  91. package/dist/realtime/parsers/index.js +23 -0
  92. package/dist/realtime/parsers/index.js.map +1 -0
  93. package/dist/realtime/parsers/iris.parser.d.ts +16 -0
  94. package/dist/realtime/parsers/iris.parser.js +10 -0
  95. package/dist/realtime/parsers/iris.parser.js.map +1 -0
  96. package/dist/realtime/parsers/json.parser.d.ts +5 -0
  97. package/dist/realtime/parsers/json.parser.js +10 -0
  98. package/dist/realtime/parsers/json.parser.js.map +1 -0
  99. package/dist/realtime/parsers/parser.d.ts +8 -0
  100. package/dist/{flow/packet-flow.js → realtime/parsers/parser.js} +1 -1
  101. package/dist/realtime/parsers/parser.js.map +1 -0
  102. package/dist/realtime/parsers/region-hint.parser.d.ts +11 -0
  103. package/dist/realtime/parsers/region-hint.parser.js +15 -0
  104. package/dist/realtime/parsers/region-hint.parser.js.map +1 -0
  105. package/dist/realtime/parsers/skywalker.parser.d.ts +11 -0
  106. package/dist/realtime/parsers/skywalker.parser.js +15 -0
  107. package/dist/realtime/parsers/skywalker.parser.js.map +1 -0
  108. package/dist/realtime/realtime.client.d.ts +54 -0
  109. package/dist/realtime/realtime.client.events.d.ts +35 -0
  110. package/dist/realtime/realtime.client.events.js +3 -0
  111. package/dist/realtime/realtime.client.events.js.map +1 -0
  112. package/dist/realtime/realtime.client.js +197 -0
  113. package/dist/realtime/realtime.client.js.map +1 -0
  114. package/dist/realtime/subscriptions/graphql.subscription.d.ts +47 -0
  115. package/dist/realtime/subscriptions/graphql.subscription.js +99 -0
  116. package/dist/realtime/subscriptions/graphql.subscription.js.map +1 -0
  117. package/dist/realtime/subscriptions/index.d.ts +2 -0
  118. package/dist/{flow → realtime/subscriptions}/index.js +2 -3
  119. package/dist/realtime/subscriptions/index.js.map +1 -0
  120. package/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
  121. package/dist/realtime/subscriptions/skywalker.subscription.js +13 -0
  122. package/dist/realtime/subscriptions/skywalker.subscription.js.map +1 -0
  123. package/dist/shared.d.ts +21 -0
  124. package/dist/shared.js +86 -0
  125. package/dist/shared.js.map +1 -0
  126. package/dist/thrift/index.d.ts +3 -0
  127. package/dist/thrift/index.js +20 -0
  128. package/dist/thrift/index.js.map +1 -0
  129. package/dist/thrift/thrift.d.ts +59 -0
  130. package/dist/thrift/thrift.js +101 -0
  131. package/dist/thrift/thrift.js.map +1 -0
  132. package/dist/thrift/thrift.reading.d.ts +40 -0
  133. package/dist/thrift/thrift.reading.js +327 -0
  134. package/dist/thrift/thrift.reading.js.map +1 -0
  135. package/dist/thrift/thrift.writing.d.ts +43 -0
  136. package/dist/thrift/thrift.writing.js +342 -0
  137. package/dist/thrift/thrift.writing.js.map +1 -0
  138. package/dist/topic.d.ts +7 -0
  139. package/dist/{mqtt.message.js → topic.js} +1 -1
  140. package/dist/topic.js.map +1 -0
  141. package/package.json +35 -44
  142. package/dist/errors/abort.error.d.ts +0 -3
  143. package/dist/errors/abort.error.js +0 -8
  144. package/dist/errors/abort.error.js.map +0 -1
  145. package/dist/errors/connect.error.d.ts +0 -5
  146. package/dist/errors/connect.error.js +0 -12
  147. package/dist/errors/connect.error.js.map +0 -1
  148. package/dist/errors/end-of-stream.error.d.ts +0 -3
  149. package/dist/errors/end-of-stream.error.js +0 -8
  150. package/dist/errors/end-of-stream.error.js.map +0 -1
  151. package/dist/errors/flow-stopped.error.d.ts +0 -3
  152. package/dist/errors/flow-stopped.error.js +0 -8
  153. package/dist/errors/flow-stopped.error.js.map +0 -1
  154. package/dist/errors/illegal-state.error.d.ts +0 -3
  155. package/dist/errors/illegal-state.error.js +0 -8
  156. package/dist/errors/illegal-state.error.js.map +0 -1
  157. package/dist/errors/malformed-packet.error.d.ts +0 -3
  158. package/dist/errors/malformed-packet.error.js +0 -8
  159. package/dist/errors/malformed-packet.error.js.map +0 -1
  160. package/dist/errors/subscribe.error.d.ts +0 -3
  161. package/dist/errors/subscribe.error.js +0 -8
  162. package/dist/errors/subscribe.error.js.map +0 -1
  163. package/dist/errors/unexpected-packet.error.d.ts +0 -3
  164. package/dist/errors/unexpected-packet.error.js +0 -8
  165. package/dist/errors/unexpected-packet.error.js.map +0 -1
  166. package/dist/flow/incoming.flows.d.ts +0 -6
  167. package/dist/flow/incoming.flows.js +0 -39
  168. package/dist/flow/incoming.flows.js.map +0 -1
  169. package/dist/flow/index.d.ts +0 -3
  170. package/dist/flow/index.js.map +0 -1
  171. package/dist/flow/outgoing.flows.d.ts +0 -12
  172. package/dist/flow/outgoing.flows.js +0 -115
  173. package/dist/flow/outgoing.flows.js.map +0 -1
  174. package/dist/flow/packet-flow.d.ts +0 -17
  175. package/dist/flow/packet-flow.js.map +0 -1
  176. package/dist/mqtt.base-client.d.ts +0 -54
  177. package/dist/mqtt.base-client.js +0 -102
  178. package/dist/mqtt.base-client.js.map +0 -1
  179. package/dist/mqtt.client.d.ts +0 -75
  180. package/dist/mqtt.client.js +0 -417
  181. package/dist/mqtt.client.js.map +0 -1
  182. package/dist/mqtt.constants.d.ts +0 -34
  183. package/dist/mqtt.constants.js +0 -26
  184. package/dist/mqtt.constants.js.map +0 -1
  185. package/dist/mqtt.listener.d.ts +0 -21
  186. package/dist/mqtt.listener.js +0 -29
  187. package/dist/mqtt.listener.js.map +0 -1
  188. package/dist/mqtt.message.d.ts +0 -14
  189. package/dist/mqtt.message.js.map +0 -1
  190. package/dist/mqtt.packet.d.ts +0 -9
  191. package/dist/mqtt.packet.js +0 -15
  192. package/dist/mqtt.packet.js.map +0 -1
  193. package/dist/mqtt.parser.d.ts +0 -21
  194. package/dist/mqtt.parser.js +0 -71
  195. package/dist/mqtt.parser.js.map +0 -1
  196. package/dist/mqtt.types.d.ts +0 -52
  197. package/dist/mqtt.types.js.map +0 -1
  198. package/dist/mqtt.utilities.d.ts +0 -32
  199. package/dist/mqtt.utilities.js +0 -139
  200. package/dist/mqtt.utilities.js.map +0 -1
  201. package/dist/packet-stream.d.ts +0 -37
  202. package/dist/packet-stream.js +0 -150
  203. package/dist/packet-stream.js.map +0 -1
  204. package/dist/packets/connect.request.packet.d.ts +0 -22
  205. package/dist/packets/connect.request.packet.js +0 -41
  206. package/dist/packets/connect.request.packet.js.map +0 -1
  207. package/dist/packets/connect.response.packet.d.ts +0 -18
  208. package/dist/packets/connect.response.packet.js +0 -43
  209. package/dist/packets/connect.response.packet.js.map +0 -1
  210. package/dist/packets/disconnect.request.packet.d.ts +0 -2
  211. package/dist/packets/disconnect.request.packet.js +0 -7
  212. package/dist/packets/disconnect.request.packet.js.map +0 -1
  213. package/dist/packets/index.d.ts +0 -16
  214. package/dist/packets/index.js +0 -33
  215. package/dist/packets/index.js.map +0 -1
  216. package/dist/packets/packet-reader.d.ts +0 -31
  217. package/dist/packets/packet-reader.js +0 -27
  218. package/dist/packets/packet-reader.js.map +0 -1
  219. package/dist/packets/packet-writer.d.ts +0 -48
  220. package/dist/packets/packet-writer.js +0 -58
  221. package/dist/packets/packet-writer.js.map +0 -1
  222. package/dist/packets/ping.request.packet.d.ts +0 -5
  223. package/dist/packets/ping.request.packet.js +0 -17
  224. package/dist/packets/ping.request.packet.js.map +0 -1
  225. package/dist/packets/ping.response.packet.d.ts +0 -5
  226. package/dist/packets/ping.response.packet.js +0 -17
  227. package/dist/packets/ping.response.packet.js.map +0 -1
  228. package/dist/packets/publish.ack.packet.d.ts +0 -8
  229. package/dist/packets/publish.ack.packet.js +0 -19
  230. package/dist/packets/publish.ack.packet.js.map +0 -1
  231. package/dist/packets/publish.complete.packet.d.ts +0 -8
  232. package/dist/packets/publish.complete.packet.js +0 -19
  233. package/dist/packets/publish.complete.packet.js.map +0 -1
  234. package/dist/packets/publish.received.packet.d.ts +0 -8
  235. package/dist/packets/publish.received.packet.js +0 -19
  236. package/dist/packets/publish.received.packet.js.map +0 -1
  237. package/dist/packets/publish.release.packet.d.ts +0 -8
  238. package/dist/packets/publish.release.packet.js +0 -19
  239. package/dist/packets/publish.release.packet.js.map +0 -1
  240. package/dist/packets/publish.request.packet.d.ts +0 -21
  241. package/dist/packets/publish.request.packet.js +0 -55
  242. package/dist/packets/publish.request.packet.js.map +0 -1
  243. package/dist/packets/subscribe.request.packet.d.ts +0 -10
  244. package/dist/packets/subscribe.request.packet.js +0 -15
  245. package/dist/packets/subscribe.request.packet.js.map +0 -1
  246. package/dist/packets/subscribe.response.packet.d.ts +0 -14
  247. package/dist/packets/subscribe.response.packet.js +0 -35
  248. package/dist/packets/subscribe.response.packet.js.map +0 -1
  249. package/dist/packets/unsubscribe.request.packet.d.ts +0 -7
  250. package/dist/packets/unsubscribe.request.packet.js +0 -13
  251. package/dist/packets/unsubscribe.request.packet.js.map +0 -1
  252. package/dist/packets/unsubscribe.response.packet.d.ts +0 -5
  253. package/dist/packets/unsubscribe.response.packet.js +0 -14
  254. package/dist/packets/unsubscribe.response.packet.js.map +0 -1
  255. package/dist/reconnect-strategy/index.d.ts +0 -2
  256. package/dist/reconnect-strategy/index.js.map +0 -1
  257. package/dist/reconnect-strategy/mqtts.reconnect-strategy.d.ts +0 -14
  258. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.d.ts +0 -24
  259. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js +0 -56
  260. package/dist/reconnect-strategy/mqtts.reconnect-strategy.default.js.map +0 -1
  261. package/dist/reconnect-strategy/mqtts.reconnect-strategy.js.map +0 -1
  262. package/dist/transport/index.d.ts +0 -5
  263. package/dist/transport/index.js.map +0 -1
  264. package/dist/transport/socks-tls.transport.d.ts +0 -13
  265. package/dist/transport/socks-tls.transport.js +0 -54
  266. package/dist/transport/socks-tls.transport.js.map +0 -1
  267. package/dist/transport/tcp.transport.d.ts +0 -12
  268. package/dist/transport/tcp.transport.js +0 -26
  269. package/dist/transport/tcp.transport.js.map +0 -1
  270. package/dist/transport/tls.transport.d.ts +0 -13
  271. package/dist/transport/tls.transport.js +0 -44
  272. package/dist/transport/tls.transport.js.map +0 -1
  273. package/dist/transport/transport.d.ts +0 -19
  274. package/dist/transport/transport.js +0 -16
  275. package/dist/transport/transport.js.map +0 -1
  276. package/dist/transport/websocket.transport.d.ts +0 -15
  277. package/dist/transport/websocket.transport.js +0 -40
  278. package/dist/transport/websocket.transport.js.map +0 -1
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNotificationFromJson = createNotificationFromJson;
4
+ const shared_1 = require("../shared");
5
+ const querystring = require("querystring");
6
+ const URL = require("url");
7
+ function createNotificationFromJson(json) {
8
+ const data = JSON.parse(json);
9
+ const notification = Object.defineProperty({}, 'description', {
10
+ enumerable: false,
11
+ value: data,
12
+ });
13
+ if ((0, shared_1.notUndefined)(data.t)) {
14
+ notification.title = data.t;
15
+ }
16
+ if ((0, shared_1.notUndefined)(data.m)) {
17
+ notification.message = data.m;
18
+ }
19
+ if ((0, shared_1.notUndefined)(data.tt)) {
20
+ notification.tickerText = data.tt;
21
+ }
22
+ if ((0, shared_1.notUndefined)(data.ig)) {
23
+ notification.igAction = data.ig;
24
+ const url = URL.parse(data.ig);
25
+ if (url.pathname) {
26
+ notification.actionPath = url.pathname;
27
+ }
28
+ if (url.query) {
29
+ notification.actionParams = querystring.decode(url.query);
30
+ }
31
+ }
32
+ if ((0, shared_1.notUndefined)(data.collapse_key)) {
33
+ notification.collapseKey = data.collapse_key;
34
+ }
35
+ if ((0, shared_1.notUndefined)(data.i)) {
36
+ notification.optionalImage = data.i;
37
+ }
38
+ if ((0, shared_1.notUndefined)(data.a)) {
39
+ notification.optionalAvatarUrl = data.a;
40
+ }
41
+ if ((0, shared_1.notUndefined)(data.sound)) {
42
+ notification.sound = data.sound;
43
+ }
44
+ if ((0, shared_1.notUndefined)(data.pi)) {
45
+ notification.pushId = data.pi;
46
+ }
47
+ if ((0, shared_1.notUndefined)(data.c)) {
48
+ notification.pushCategory = data.c;
49
+ }
50
+ if ((0, shared_1.notUndefined)(data.u)) {
51
+ notification.intendedRecipientUserId = data.u;
52
+ }
53
+ if ((0, shared_1.notUndefined)(data.s) && data.s !== 'None') {
54
+ notification.sourceUserId = data.s;
55
+ }
56
+ if ((0, shared_1.notUndefined)(data.igo)) {
57
+ notification.igActionOverride = data.igo;
58
+ }
59
+ if ((0, shared_1.notUndefined)(data.bc)) {
60
+ const badgeCount = {};
61
+ const parsed = JSON.parse(data.bc);
62
+ if ((0, shared_1.notUndefined)(parsed.di)) {
63
+ badgeCount.direct = parsed.di;
64
+ }
65
+ if ((0, shared_1.notUndefined)(parsed.ds)) {
66
+ badgeCount.ds = parsed.ds;
67
+ }
68
+ if ((0, shared_1.notUndefined)(parsed.ac)) {
69
+ badgeCount.activities = parsed.ac;
70
+ }
71
+ notification.badgeCount = badgeCount;
72
+ }
73
+ if ((0, shared_1.notUndefined)(data.ia)) {
74
+ notification.inAppActors = data.ia;
75
+ }
76
+ return notification;
77
+ }
78
+ //# sourceMappingURL=fbns.utilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fbns.utilities.js","sourceRoot":"","sources":["../../src/fbns/fbns.utilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './fbns.client';
2
+ export * from './fbns.device-auth';
3
+ export * from './fbns.types';
4
+ export * from './fbns.utilities';
@@ -14,9 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./transport"), exports);
18
- __exportStar(require("./tls.transport"), exports);
19
- __exportStar(require("./tcp.transport"), exports);
20
- __exportStar(require("./websocket.transport"), exports);
21
- __exportStar(require("./socks-tls.transport"), exports);
17
+ __exportStar(require("./fbns.client"), exports);
18
+ __exportStar(require("./fbns.device-auth"), exports);
19
+ __exportStar(require("./fbns.types"), exports);
20
+ __exportStar(require("./fbns.utilities"), exports);
22
21
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fbns/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,qDAAmC;AACnC,+CAA6B;AAC7B,mDAAiC"}
package/dist/index.d.ts CHANGED
@@ -1,13 +1,6 @@
1
+ export * from './extend';
2
+ export * from './realtime';
3
+ export * from './fbns';
4
+ export * from './thrift';
5
+ export * from './mqttot';
1
6
  export * from './errors';
2
- export * from './flow';
3
- export * from './packets';
4
- export * from './reconnect-strategy';
5
- export * from './transport';
6
- export * from './mqtt.client';
7
- export * from './mqtt.constants';
8
- export * from './mqtt.message';
9
- export * from './mqtt.packet';
10
- export * from './mqtt.parser';
11
- export * from './mqtt.types';
12
- export * from './packet-stream';
13
- export * from './mqtt.utilities';
package/dist/index.js CHANGED
@@ -14,17 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./extend"), exports);
18
+ __exportStar(require("./realtime"), exports);
19
+ __exportStar(require("./fbns"), exports);
20
+ __exportStar(require("./thrift"), exports);
21
+ __exportStar(require("./mqttot"), exports);
17
22
  __exportStar(require("./errors"), exports);
18
- __exportStar(require("./flow"), exports);
19
- __exportStar(require("./packets"), exports);
20
- __exportStar(require("./reconnect-strategy"), exports);
21
- __exportStar(require("./transport"), exports);
22
- __exportStar(require("./mqtt.client"), exports);
23
- __exportStar(require("./mqtt.constants"), exports);
24
- __exportStar(require("./mqtt.message"), exports);
25
- __exportStar(require("./mqtt.packet"), exports);
26
- __exportStar(require("./mqtt.parser"), exports);
27
- __exportStar(require("./mqtt.types"), exports);
28
- __exportStar(require("./packet-stream"), exports);
29
- __exportStar(require("./mqtt.utilities"), exports);
30
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,yCAAuB;AACvB,4CAA0B;AAC1B,uDAAqC;AACrC,8CAA4B;AAC5B,gDAA8B;AAC9B,mDAAiC;AACjC,iDAA+B;AAC/B,gDAA8B;AAC9B,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC;AAChC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AAEzB,6CAA2B;AAC3B,yCAAuB;AAEvB,2CAAyB;AACzB,2CAAyB;AACzB,2CAAyB"}
@@ -0,0 +1,4 @@
1
+ export * from './mqttot.client';
2
+ export * from './mqttot.connect.request.packet';
3
+ export * from './mqttot.connect.response.packet';
4
+ export * from './mqttot.connection';
@@ -0,0 +1,21 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./mqttot.client"), exports);
18
+ __exportStar(require("./mqttot.connect.request.packet"), exports);
19
+ __exportStar(require("./mqttot.connect.response.packet"), exports);
20
+ __exportStar(require("./mqttot.connection"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mqttot/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,kEAAgD;AAChD,mEAAiD;AACjD,sDAAoC"}
@@ -0,0 +1,37 @@
1
+ import { MQTToTConnectPacketOptions } from './mqttot.connect.request.packet';
2
+ import { ConnectRequestOptions, DefaultPacketReadResultMap, DefaultPacketWriteOptions, MqttClient, MqttMessage, MqttMessageOutgoing, PacketFlowFunc, PacketType } from 'obmqtt';
3
+ import { MQTToTConnectResponsePacket } from './mqttot.connect.response.packet';
4
+ import { SocksProxy } from 'socks';
5
+ import { ConnectionOptions } from 'tls';
6
+ type MQTToTReadMap = Omit<DefaultPacketReadResultMap, PacketType.ConnAck> & {
7
+ [PacketType.ConnAck]: MQTToTConnectResponsePacket;
8
+ };
9
+ type MQTToTWriteMap = Omit<DefaultPacketWriteOptions, PacketType.Connect> & {
10
+ [PacketType.Connect]: MQTToTConnectPacketOptions;
11
+ };
12
+ export declare class MQTToTClient extends MqttClient<MQTToTReadMap, MQTToTWriteMap> {
13
+ protected connectPayloadProvider: () => Promise<Buffer>;
14
+ protected connectPayload?: Buffer;
15
+ protected requirePayload: boolean;
16
+ protected mqttotDebug: (msg: string) => void;
17
+ constructor(options: {
18
+ url: string;
19
+ payloadProvider: () => Promise<Buffer>;
20
+ enableTrace?: boolean;
21
+ autoReconnect: boolean;
22
+ requirePayload: boolean;
23
+ socksOptions?: SocksProxy;
24
+ additionalOptions?: ConnectionOptions;
25
+ });
26
+ protected registerListeners(): void;
27
+ connect(options?: ConnectRequestOptions): Promise<any>;
28
+ protected getConnectFlow(): PacketFlowFunc<MQTToTReadMap, MQTToTWriteMap, any>;
29
+ /**
30
+ * Compresses the payload
31
+ * @param {MqttMessage} message
32
+ * @returns {Promise<MqttMessageOutgoing>}
33
+ */
34
+ mqttotPublish(message: MqttMessage): Promise<MqttMessageOutgoing>;
35
+ }
36
+ export declare function mqttotConnectFlow(payload: Buffer, requirePayload: boolean): PacketFlowFunc<MQTToTReadMap, MQTToTWriteMap, MQTToTConnectResponsePacket>;
37
+ export {};
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MQTToTClient = void 0;
4
+ exports.mqttotConnectFlow = mqttotConnectFlow;
5
+ const shared_1 = require("../shared");
6
+ const mqttot_connect_request_packet_1 = require("./mqttot.connect.request.packet");
7
+ const obmqtt_1 = require("obmqtt");
8
+ const errors_1 = require("../errors");
9
+ const mqttot_connect_response_packet_1 = require("./mqttot.connect.response.packet");
10
+ class MQTToTClient extends obmqtt_1.MqttClient {
11
+ constructor(options) {
12
+ super({
13
+ autoReconnect: options.autoReconnect,
14
+ readMap: {
15
+ ...obmqtt_1.DefaultPacketReadMap,
16
+ [obmqtt_1.PacketType.ConnAck]: mqttot_connect_response_packet_1.readConnectResponsePacket,
17
+ },
18
+ writeMap: {
19
+ ...obmqtt_1.DefaultPacketWriteMap,
20
+ [obmqtt_1.PacketType.Connect]: mqttot_connect_request_packet_1.writeConnectRequestPacket,
21
+ },
22
+ transport: options.socksOptions
23
+ ? new obmqtt_1.SocksTlsTransport({
24
+ host: options.url,
25
+ port: 443,
26
+ proxyOptions: options.socksOptions,
27
+ additionalOptions: options.additionalOptions,
28
+ })
29
+ : new obmqtt_1.TlsTransport({
30
+ host: options.url,
31
+ port: 443,
32
+ additionalOptions: options.additionalOptions,
33
+ }),
34
+ });
35
+ this.mqttotDebug = (msg, ...args) => (0, shared_1.debugChannel)('mqttot')(`${options.url}: ${msg}`, ...args);
36
+ this.connectPayloadProvider = options.payloadProvider;
37
+ this.mqttotDebug(`Creating client`);
38
+ this.registerListeners();
39
+ this.requirePayload = options.requirePayload;
40
+ }
41
+ registerListeners() {
42
+ const printErrorOrWarning = (type) => (e) => {
43
+ if (typeof e === 'string') {
44
+ this.mqttotDebug(`${type}: ${e}`);
45
+ }
46
+ else {
47
+ this.mqttotDebug(`${type}: ${e.message}\n\tStack: ${e.stack}`);
48
+ }
49
+ };
50
+ this.on('error', printErrorOrWarning('Error'));
51
+ this.on('warning', printErrorOrWarning('Warning'));
52
+ this.on('disconnect', e => this.mqttotDebug(`Disconnected. ${e}`));
53
+ }
54
+ async connect(options) {
55
+ this.connectPayload = await this.connectPayloadProvider();
56
+ return super.connect(options);
57
+ }
58
+ getConnectFlow() {
59
+ if (!this.connectPayload) {
60
+ throw new obmqtt_1.IllegalStateError('Called getConnectFlow() before calling connect()');
61
+ }
62
+ return mqttotConnectFlow(this.connectPayload, this.requirePayload);
63
+ }
64
+ /**
65
+ * Compresses the payload
66
+ * @param {MqttMessage} message
67
+ * @returns {Promise<MqttMessageOutgoing>}
68
+ */
69
+ async mqttotPublish(message) {
70
+ this.mqttotDebug(`Publishing ${message.payload.byteLength}bytes to topic ${message.topic}`);
71
+ return await this.publish({
72
+ topic: message.topic,
73
+ payload: await (0, shared_1.compressDeflate)(message.payload),
74
+ qosLevel: message.qosLevel,
75
+ });
76
+ }
77
+ }
78
+ exports.MQTToTClient = MQTToTClient;
79
+ function mqttotConnectFlow(payload, requirePayload) {
80
+ return (success, error) => ({
81
+ start: () => ({
82
+ type: obmqtt_1.PacketType.Connect,
83
+ options: {
84
+ payload,
85
+ keepAlive: 60,
86
+ },
87
+ }),
88
+ accept: obmqtt_1.isConnAck,
89
+ next: (packet) => {
90
+ if (packet.isSuccess) {
91
+ if (packet.payload?.length || !requirePayload)
92
+ success(packet);
93
+ else
94
+ error(new errors_1.EmptyPacketError(`CONNACK: no payload (payloadExpected): ${packet.payload}`));
95
+ }
96
+ else
97
+ error(new errors_1.ConnectionFailedError(`CONNACK returnCode: ${packet.returnCode} errorName: ${packet.errorName}`));
98
+ },
99
+ });
100
+ }
101
+ //# sourceMappingURL=mqttot.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqttot.client.js","sourceRoot":"","sources":["../../src/mqttot/mqttot.client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { PacketStream, PacketWriteResult } from 'obmqtt';
2
+ export interface MQTToTConnectPacketOptions {
3
+ keepAlive: number;
4
+ payload: Buffer;
5
+ }
6
+ export declare function writeConnectRequestPacket(stream: PacketStream, options: MQTToTConnectPacketOptions): PacketWriteResult;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writeConnectRequestPacket = writeConnectRequestPacket;
4
+ function writeConnectRequestPacket(stream, options) {
5
+ stream.writeString('MQTToT').writeByte(3).writeByte(194).writeWord(options.keepAlive).write(options.payload);
6
+ return {};
7
+ }
8
+ //# sourceMappingURL=mqttot.connect.request.packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqttot.connect.request.packet.js","sourceRoot":"","sources":["../../src/mqttot/mqttot.connect.request.packet.ts"],"names":[],"mappings":";;AAMA,8DAMC;AAND,SAAgB,yBAAyB,CACtC,MAAoB,EACpB,OAAmC;IAEnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7G,OAAO,EAAE,CAAC;AACb,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ConnectResponsePacket, PacketStream, ConnectReturnCode } from 'obmqtt';
2
+ export declare class MQTToTConnectResponsePacket extends ConnectResponsePacket {
3
+ readonly payload: Buffer;
4
+ constructor(ackFlags: number, returnCode: ConnectReturnCode, payload: Buffer);
5
+ }
6
+ export declare function readConnectResponsePacket(stream: PacketStream, remaining: number): MQTToTConnectResponsePacket;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MQTToTConnectResponsePacket = void 0;
4
+ exports.readConnectResponsePacket = readConnectResponsePacket;
5
+ const obmqtt_1 = require("obmqtt");
6
+ class MQTToTConnectResponsePacket extends obmqtt_1.ConnectResponsePacket {
7
+ constructor(ackFlags, returnCode, payload) {
8
+ super(ackFlags, returnCode);
9
+ this.payload = payload;
10
+ }
11
+ }
12
+ exports.MQTToTConnectResponsePacket = MQTToTConnectResponsePacket;
13
+ function readConnectResponsePacket(stream, remaining) {
14
+ const ack = stream.readByte();
15
+ const returnCode = stream.readByte();
16
+ if (ack > 1) {
17
+ throw new Error('Invalid ack');
18
+ }
19
+ else if (returnCode > 5) {
20
+ throw new Error('Invalid return code');
21
+ }
22
+ return new MQTToTConnectResponsePacket(ack, returnCode, remaining > 2 ? stream.readStringAsBuffer() : Buffer.alloc(0));
23
+ }
24
+ //# sourceMappingURL=mqttot.connect.response.packet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqttot.connect.response.packet.js","sourceRoot":"","sources":["../../src/mqttot/mqttot.connect.response.packet.ts"],"names":[],"mappings":";;;AAYA,8DAaC;AAzBD,mCAAgF;AAEhF,MAAa,2BAA4B,SAAQ,8BAAqB;IACnE,YACG,QAAgB,EAChB,UAA6B,EACb,OAAe;QAE/B,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAFZ,YAAO,GAAP,OAAO,CAAQ;IAGlC,CAAC;CACH;AARD,kEAQC;AAED,SAAgB,yBAAyB,CAAC,MAAoB,EAAE,SAAiB;IAC9E,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;SAAM,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,IAAI,2BAA2B,CACnC,GAAG,EACH,UAA+B,EAC/B,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAC/D,CAAC;AACL,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { Int64, ThriftPacketDescriptor } from '../thrift';
2
+ export type MQTToTConnectionData = Partial<{
3
+ clientIdentifier: string;
4
+ willTopic: string;
5
+ willMessage: string;
6
+ clientInfo: MQTToTConnectionClientInfo;
7
+ password: string;
8
+ unknown: number;
9
+ appSpecificInfo: MQTToTConnectionAppSpecificInfo;
10
+ }>;
11
+ export type MQTToTConnectionAppSpecificInfo = Partial<{
12
+ app_version: string;
13
+ 'X-IG-Capabilities': string;
14
+ everclear_subscriptions: string;
15
+ 'User-Agent': string;
16
+ 'Accept-Language': string;
17
+ platform: string;
18
+ ig_mqtt_route: string;
19
+ pubsub_msg_type_blacklist: string;
20
+ auth_cache_enabled: string;
21
+ }>;
22
+ export type MQTToTConnectionClientInfo = Partial<{
23
+ userId: Int64;
24
+ userAgent: string;
25
+ clientCapabilities: Int64;
26
+ endpointCapabilities: Int64;
27
+ publishFormat: number;
28
+ noAutomaticForeground: boolean;
29
+ makeUserAvailableInForeground: boolean;
30
+ deviceId: string;
31
+ isInitiallyForeground: boolean;
32
+ networkType: number;
33
+ networkSubtype: number;
34
+ clientMqttSessionId: Int64;
35
+ clientIpAddress: string;
36
+ subscribeTopics: number[];
37
+ clientType: string;
38
+ appId: Int64;
39
+ overrideNectarLogging: boolean;
40
+ connectTokenHash: string;
41
+ regionPreference: string;
42
+ deviceSecret: string;
43
+ clientStack: number;
44
+ fbnsConnectionKey: number;
45
+ fbnsConnectionSecret: string;
46
+ fbnsDeviceId: string;
47
+ fbnsDeviceSecret: string;
48
+ anotherUnknown: Int64;
49
+ }>;
50
+ export declare class MQTToTConnection {
51
+ fbnsConnectionData: MQTToTConnectionData;
52
+ static thriftConfig: ThriftPacketDescriptor[];
53
+ constructor(connectionData: MQTToTConnectionData);
54
+ toThrift(): Buffer;
55
+ toString(): string;
56
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MQTToTConnection = void 0;
4
+ const thrift_1 = require("../thrift");
5
+ class MQTToTConnection {
6
+ constructor(connectionData) {
7
+ this.fbnsConnectionData = connectionData;
8
+ }
9
+ toThrift() {
10
+ return (0, thrift_1.thriftWriteFromObject)(this.fbnsConnectionData, MQTToTConnection.thriftConfig);
11
+ }
12
+ toString() {
13
+ return this.toThrift().toString();
14
+ }
15
+ }
16
+ exports.MQTToTConnection = MQTToTConnection;
17
+ MQTToTConnection.thriftConfig = [
18
+ thrift_1.ThriftDescriptors.binary('clientIdentifier', 1),
19
+ thrift_1.ThriftDescriptors.binary('willTopic', 2),
20
+ thrift_1.ThriftDescriptors.binary('willMessage', 3),
21
+ thrift_1.ThriftDescriptors.struct('clientInfo', 4, [
22
+ thrift_1.ThriftDescriptors.int64('userId', 1),
23
+ thrift_1.ThriftDescriptors.binary('userAgent', 2),
24
+ thrift_1.ThriftDescriptors.int64('clientCapabilities', 3),
25
+ thrift_1.ThriftDescriptors.int64('endpointCapabilities', 4),
26
+ thrift_1.ThriftDescriptors.int32('publishFormat', 5),
27
+ thrift_1.ThriftDescriptors.boolean('noAutomaticForeground', 6),
28
+ thrift_1.ThriftDescriptors.boolean('makeUserAvailableInForeground', 7),
29
+ thrift_1.ThriftDescriptors.binary('deviceId', 8),
30
+ thrift_1.ThriftDescriptors.boolean('isInitiallyForeground', 9),
31
+ thrift_1.ThriftDescriptors.int32('networkType', 10),
32
+ thrift_1.ThriftDescriptors.int32('networkSubtype', 11),
33
+ thrift_1.ThriftDescriptors.int64('clientMqttSessionId', 12),
34
+ thrift_1.ThriftDescriptors.binary('clientIpAddress', 13),
35
+ thrift_1.ThriftDescriptors.listOfInt32('subscribeTopics', 14),
36
+ thrift_1.ThriftDescriptors.binary('clientType', 15),
37
+ thrift_1.ThriftDescriptors.int64('appId', 16),
38
+ thrift_1.ThriftDescriptors.boolean('overrideNectarLogging', 17),
39
+ thrift_1.ThriftDescriptors.binary('connectTokenHash', 18),
40
+ thrift_1.ThriftDescriptors.binary('regionPreference', 19),
41
+ thrift_1.ThriftDescriptors.binary('deviceSecret', 20),
42
+ thrift_1.ThriftDescriptors.byte('clientStack', 21),
43
+ thrift_1.ThriftDescriptors.int64('fbnsConnectionKey', 22),
44
+ thrift_1.ThriftDescriptors.binary('fbnsConnectionSecret', 23),
45
+ thrift_1.ThriftDescriptors.binary('fbnsDeviceId', 24),
46
+ thrift_1.ThriftDescriptors.binary('fbnsDeviceSecret', 25),
47
+ thrift_1.ThriftDescriptors.int64('anotherUnknown', 26),
48
+ ]),
49
+ thrift_1.ThriftDescriptors.binary('password', 5),
50
+ // polyfill
51
+ thrift_1.ThriftDescriptors.int16('unknown', 5),
52
+ thrift_1.ThriftDescriptors.listOfBinary('getDiffsRequests', 6),
53
+ thrift_1.ThriftDescriptors.binary('zeroRatingTokenHash', 9),
54
+ thrift_1.ThriftDescriptors.mapBinaryBinary('appSpecificInfo', 10),
55
+ ];
56
+ //# sourceMappingURL=mqttot.connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mqttot.connection.js","sourceRoot":"","sources":["../../src/mqttot/mqttot.connection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Topic } from '../../topic';
2
+ import { MQTToTClient } from '../../mqttot';
3
+ import { MqttMessageOutgoing } from 'obmqtt';
4
+ export declare class Commands {
5
+ private client;
6
+ constructor(client: MQTToTClient);
7
+ private publishToTopic;
8
+ updateSubscriptions(options: {
9
+ topic: Topic;
10
+ data: {
11
+ sub?: string[];
12
+ unsub?: string[];
13
+ } | any;
14
+ }): Promise<MqttMessageOutgoing>;
15
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Commands = void 0;
4
+ const shared_1 = require("../../shared");
5
+ class Commands {
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async publishToTopic(topic, compressedData, qos) {
10
+ return this.client.publish({
11
+ topic,
12
+ payload: compressedData instanceof Buffer ? compressedData : Buffer.from(compressedData),
13
+ qosLevel: qos,
14
+ });
15
+ }
16
+ async updateSubscriptions(options) {
17
+ return this.publishToTopic(options.topic.id, await (0, shared_1.compressDeflate)(JSON.stringify(options.data)), 1);
18
+ }
19
+ }
20
+ exports.Commands = Commands;
21
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/realtime/commands/commands.ts"],"names":[],"mappings":";;;AACA,yCAA+C;AAI/C,MAAa,QAAQ;IAClB,YAA2B,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE3C,KAAK,CAAC,cAAc,CACzB,KAAa,EACb,cAA+B,EAC/B,GAAU;QAEV,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACxB,KAAK;YACL,OAAO,EAAE,cAAc,YAAY,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;YACxF,QAAQ,EAAE,GAAG;SACf,CAAC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,OAGhC;QACE,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,IAAA,wBAAe,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxG,CAAC;CACH;AArBD,4BAqBC"}
@@ -0,0 +1,67 @@
1
+ import { MQTToTClient } from '../../mqttot';
2
+ import { MessageSyncMessageTypes } from '../messages';
3
+ import { ThriftPacketDescriptor } from '../../thrift';
4
+ import { MqttMessageOutgoing } from 'obmqtt';
5
+ interface ItemBaseType {
6
+ threadId: string;
7
+ clientContext?: string;
8
+ }
9
+ export interface ForegroundState {
10
+ inForegroundApp?: boolean;
11
+ inForegroundDevice?: boolean;
12
+ keepAliveTimeout?: number;
13
+ subscribeTopics?: string[];
14
+ subscribeGenericTopics?: string[];
15
+ unsubscribeTopics?: string[];
16
+ unsubscribeGenericTopics?: string[];
17
+ requestId?: bigint;
18
+ }
19
+ export declare class DirectCommands {
20
+ private directDebug;
21
+ private client;
22
+ private chance;
23
+ foregroundStateConfig: ThriftPacketDescriptor[];
24
+ constructor(client: MQTToTClient);
25
+ sendForegroundState(state: ForegroundState): Promise<MqttMessageOutgoing>;
26
+ private sendCommand;
27
+ private sendItem;
28
+ sendHashtag({ text, threadId, hashtag, clientContext, }: {
29
+ text?: string;
30
+ hashtag: string;
31
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
32
+ sendLike({ threadId, clientContext }: ItemBaseType): Promise<MqttMessageOutgoing>;
33
+ sendLocation({ text, locationId, threadId, clientContext, }: {
34
+ text?: string;
35
+ locationId: string;
36
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
37
+ sendMedia({ text, mediaId, threadId, clientContext, }: {
38
+ text?: string;
39
+ mediaId: string;
40
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
41
+ sendProfile({ text, userId, threadId, clientContext, }: {
42
+ text?: string;
43
+ userId: string;
44
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
45
+ sendReaction({ itemId, reactionType, clientContext, threadId, reactionStatus, targetItemType, emoji, }: {
46
+ itemId: string;
47
+ reactionType?: 'like' | string;
48
+ reactionStatus?: 'created' | 'deleted';
49
+ targetItemType?: MessageSyncMessageTypes;
50
+ emoji?: string;
51
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
52
+ sendUserStory({ text, storyId, threadId, clientContext, }: {
53
+ text?: string;
54
+ storyId: string;
55
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
56
+ sendText({ text, clientContext, threadId }: {
57
+ text: string;
58
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
59
+ markAsSeen({ threadId, itemId }: {
60
+ threadId: string;
61
+ itemId: string;
62
+ }): Promise<MqttMessageOutgoing>;
63
+ indicateActivity({ threadId, isActive, clientContext }: {
64
+ isActive?: boolean;
65
+ } & ItemBaseType): Promise<MqttMessageOutgoing>;
66
+ }
67
+ export {};