nodejs-insta-private-api-mqt 1.3.85 → 1.3.86

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 (464) hide show
  1. package/dist/dist/constants/constants.d.ts +1 -0
  2. package/dist/dist/constants/index.d.ts +25 -0
  3. package/dist/dist/core/client.d.ts +106 -0
  4. package/dist/dist/core/nav-chain.d.ts +77 -0
  5. package/dist/dist/core/repository.d.ts +3 -0
  6. package/dist/dist/core/request.d.ts +76 -0
  7. package/dist/dist/core/state.d.ts +605 -0
  8. package/dist/dist/core/utils.d.ts +129 -0
  9. package/dist/dist/downloadMedia.d.ts +106 -0
  10. package/{dist-ts → dist}/dist/downloadMedia.js +19 -20
  11. package/dist/dist/errors/index.d.ts +18 -0
  12. package/dist/dist/extend.d.ts +20 -0
  13. package/dist/dist/fbns/fbns.client.d.ts +43 -0
  14. package/dist/dist/fbns/fbns.client.events.d.ts +0 -0
  15. package/{dist-ts → dist}/dist/fbns/fbns.client.js +4 -5
  16. package/dist/dist/fbns/fbns.device-auth.d.ts +9 -0
  17. package/{src-ts/dist/fbns/fbns.device-auth.ts → dist/dist/fbns/fbns.device-auth.js} +6 -3
  18. package/dist/dist/fbns/fbns.types.d.ts +0 -0
  19. package/dist/dist/fbns/fbns.utilities.d.ts +4 -0
  20. package/dist/dist/fbns/index.d.ts +2 -0
  21. package/dist/dist/index.d.ts +49 -0
  22. package/dist/dist/mqtt-shim.d.ts +1 -0
  23. package/dist/dist/mqttot/index.d.ts +2 -0
  24. package/dist/dist/mqttot/mqttot.client.d.ts +77 -0
  25. package/{dist-ts → dist}/dist/mqttot/mqttot.client.js +10 -10
  26. package/dist/dist/mqttot/mqttot.connect.request.packet.d.ts +1 -0
  27. package/dist/dist/mqttot/mqttot.connect.response.packet.d.ts +5 -0
  28. package/dist/dist/mqttot/mqttot.connection.d.ts +6 -0
  29. package/dist/dist/realtime/commands/commands.d.ts +19 -0
  30. package/dist/dist/realtime/commands/direct.commands.d.ts +142 -0
  31. package/dist/dist/realtime/commands/enhanced.direct.commands.d.ts +425 -0
  32. package/{dist-ts → dist}/dist/realtime/commands/enhanced.direct.commands.js +8 -10
  33. package/dist/dist/realtime/commands/index.d.ts +2 -0
  34. package/dist/dist/realtime/delta-sync.manager.d.ts +82 -0
  35. package/{dist-ts → dist}/dist/realtime/delta-sync.manager.js +7 -10
  36. package/dist/dist/realtime/features/dm-sender.d.ts +20 -0
  37. package/{src-ts/dist/realtime/features/dm-sender.ts → dist/dist/realtime/features/dm-sender.js} +6 -3
  38. package/dist/dist/realtime/features/error-handler.d.ts +33 -0
  39. package/{dist-ts → dist}/dist/realtime/features/error-handler.js +4 -4
  40. package/dist/dist/realtime/features/gap-handler.d.ts +19 -0
  41. package/dist/dist/realtime/features/persistent-logger.d.ts +28 -0
  42. package/{dist-ts → dist}/dist/realtime/features/persistent-logger.js +3 -3
  43. package/dist/dist/realtime/features/presence.manager.d.ts +24 -0
  44. package/{src-ts/dist/realtime/features/presence.manager.ts → dist/dist/realtime/features/presence.manager.js} +2 -1
  45. package/dist/dist/realtime/features/session-health-monitor.d.ts +93 -0
  46. package/{src-ts/dist/realtime/features/session-health-monitor.ts → dist/dist/realtime/features/session-health-monitor.js} +45 -65
  47. package/dist/dist/realtime/index.d.ts +9 -0
  48. package/dist/dist/realtime/messages/app-presence.event.d.ts +0 -0
  49. package/dist/dist/realtime/messages/index.d.ts +2 -0
  50. package/dist/dist/realtime/messages/message-sync.message.d.ts +1 -0
  51. package/dist/dist/realtime/messages/realtime-sub.direct.data.d.ts +0 -0
  52. package/dist/dist/realtime/messages/thread-update.message.d.ts +0 -0
  53. package/dist/dist/realtime/mixins/index.d.ts +2 -0
  54. package/dist/dist/realtime/mixins/message-sync.mixin.d.ts +38 -0
  55. package/{dist-ts → dist}/dist/realtime/mixins/message-sync.mixin.js +16 -18
  56. package/dist/dist/realtime/mixins/mixin.d.ts +4 -0
  57. package/dist/dist/realtime/mixins/presence-typing.mixin.d.ts +9 -0
  58. package/dist/dist/realtime/mixins/realtime-sub.mixin.d.ts +37 -0
  59. package/{dist-ts → dist}/dist/realtime/mixins/realtime-sub.mixin.js +4 -5
  60. package/dist/dist/realtime/parsers/graphql-parser.d.ts +18 -0
  61. package/dist/dist/realtime/parsers/graphql.parser.d.ts +10 -0
  62. package/{src-ts/dist/realtime/parsers/graphql.parser.ts → dist/dist/realtime/parsers/graphql.parser.js} +0 -1
  63. package/dist/dist/realtime/parsers/index.d.ts +2 -0
  64. package/dist/dist/realtime/parsers/iris-parser.d.ts +18 -0
  65. package/dist/dist/realtime/parsers/iris.parser.d.ts +3 -0
  66. package/dist/dist/realtime/parsers/json-parser.d.ts +18 -0
  67. package/dist/dist/realtime/parsers/json.parser.d.ts +6 -0
  68. package/dist/dist/realtime/parsers/parser.d.ts +0 -0
  69. package/dist/dist/realtime/parsers/region-hint-parser.d.ts +18 -0
  70. package/dist/dist/realtime/parsers/region-hint.parser.d.ts +4 -0
  71. package/dist/dist/realtime/parsers/skywalker-parser.d.ts +18 -0
  72. package/dist/dist/realtime/parsers/skywalker.parser.d.ts +7 -0
  73. package/dist/dist/realtime/parsers-advanced.d.ts +93 -0
  74. package/{dist-ts → dist}/dist/realtime/parsers-advanced.js +5 -8
  75. package/dist/dist/realtime/proto-parser.d.ts +27 -0
  76. package/{dist-ts → dist}/dist/realtime/proto-parser.js +1 -2
  77. package/dist/dist/realtime/protocols/iris.handshake.d.ts +41 -0
  78. package/dist/dist/realtime/protocols/proto-definitions.d.ts +0 -0
  79. package/dist/dist/realtime/protocols/skywalker.protocol.d.ts +20 -0
  80. package/{src-ts/dist/realtime/protocols/skywalker.protocol.ts → dist/dist/realtime/protocols/skywalker.protocol.js} +8 -5
  81. package/dist/dist/realtime/realtime.client.d.ts +169 -0
  82. package/dist/dist/realtime/realtime.client.events.d.ts +0 -0
  83. package/{dist-ts → dist}/dist/realtime/realtime.client.js +75 -86
  84. package/dist/dist/realtime/realtime.service.d.ts +109 -0
  85. package/dist/dist/realtime/reconnect.manager.d.ts +15 -0
  86. package/dist/dist/realtime/session.manager.d.ts +25 -0
  87. package/dist/dist/realtime/subscriptions/graphql.subscription.d.ts +4 -0
  88. package/dist/dist/realtime/subscriptions/index.d.ts +2 -0
  89. package/dist/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
  90. package/dist/dist/realtime/topic-map.d.ts +97 -0
  91. package/dist/dist/realtime/topic.d.ts +71 -0
  92. package/dist/dist/repositories/account.repository.d.ts +72 -0
  93. package/{dist-ts → dist}/dist/repositories/account.repository.js +4 -6
  94. package/dist/dist/repositories/bloks.repository.d.ts +6 -0
  95. package/dist/dist/repositories/captcha.repository.d.ts +6 -0
  96. package/dist/dist/repositories/challenge.repository.d.ts +12 -0
  97. package/{dist-ts → dist}/dist/repositories/challenge.repository.js +1 -2
  98. package/dist/dist/repositories/clip.repository.d.ts +10 -0
  99. package/dist/dist/repositories/close-friends.repository.d.ts +8 -0
  100. package/dist/dist/repositories/collection.repository.d.ts +8 -0
  101. package/dist/dist/repositories/direct-thread.repository.d.ts +88 -0
  102. package/{dist-ts → dist}/dist/repositories/direct-thread.repository.js +7 -9
  103. package/dist/dist/repositories/direct.repository.d.ts +22 -0
  104. package/{dist-ts → dist}/dist/repositories/direct.repository.js +4 -5
  105. package/dist/dist/repositories/explore.repository.d.ts +7 -0
  106. package/dist/dist/repositories/fbsearch.repository.d.ts +14 -0
  107. package/dist/dist/repositories/feed.repository.d.ts +19 -0
  108. package/dist/dist/repositories/friendship.repository.d.ts +26 -0
  109. package/dist/dist/repositories/fundraiser.repository.d.ts +6 -0
  110. package/dist/dist/repositories/hashtag.repository.d.ts +11 -0
  111. package/dist/dist/repositories/highlights.repository.d.ts +11 -0
  112. package/dist/dist/repositories/insights.repository.d.ts +8 -0
  113. package/dist/dist/repositories/location.repository.d.ts +9 -0
  114. package/dist/dist/repositories/media.repository.d.ts +41 -0
  115. package/{dist-ts → dist}/dist/repositories/media.repository.js +1 -2
  116. package/dist/dist/repositories/multiple-accounts.repository.d.ts +7 -0
  117. package/dist/dist/repositories/news.repository.d.ts +6 -0
  118. package/dist/dist/repositories/note.repository.d.ts +8 -0
  119. package/dist/dist/repositories/notification.repository.d.ts +33 -0
  120. package/{dist-ts → dist}/dist/repositories/notification.repository.js +1 -1
  121. package/dist/dist/repositories/share.repository.d.ts +12 -0
  122. package/dist/dist/repositories/signup.repository.d.ts +19 -0
  123. package/dist/dist/repositories/story.repository.d.ts +23 -0
  124. package/{dist-ts → dist}/dist/repositories/story.repository.js +1 -2
  125. package/dist/dist/repositories/timeline.repository.d.ts +7 -0
  126. package/dist/dist/repositories/totp.repository.d.ts +14 -0
  127. package/dist/dist/repositories/track.repository.d.ts +7 -0
  128. package/{dist-ts → dist}/dist/repositories/track.repository.js +1 -2
  129. package/dist/dist/repositories/upload.repository.d.ts +30 -0
  130. package/{dist-ts → dist}/dist/repositories/upload.repository.js +4 -5
  131. package/dist/dist/repositories/user.repository.d.ts +52 -0
  132. package/dist/dist/sendmedia/index.d.ts +12 -0
  133. package/dist/dist/sendmedia/sendFile.d.ts +8 -0
  134. package/dist/dist/sendmedia/sendPhoto.d.ts +26 -0
  135. package/dist/dist/sendmedia/sendRavenPhoto.d.ts +14 -0
  136. package/{dist-ts → dist}/dist/sendmedia/sendRavenPhoto.js +4 -5
  137. package/dist/dist/sendmedia/sendRavenVideo.d.ts +15 -0
  138. package/{dist-ts → dist}/dist/sendmedia/sendRavenVideo.js +4 -5
  139. package/dist/dist/sendmedia/uploadPhoto.d.ts +8 -0
  140. package/dist/dist/sendmedia/uploadfFile.d.ts +13 -0
  141. package/{dist-ts → dist}/dist/sendmedia/uploadfFile.js +3 -4
  142. package/dist/dist/services/live.service.d.ts +13 -0
  143. package/dist/dist/services/search.service.d.ts +11 -0
  144. package/dist/dist/shared/index.d.ts +4 -0
  145. package/{src-ts/dist/shared/index.ts → dist/dist/shared/index.js} +14 -13
  146. package/dist/dist/shared/shared.d.ts +15 -0
  147. package/dist/dist/thrift/index.d.ts +2 -0
  148. package/dist/dist/thrift/thrift.d.ts +11 -0
  149. package/dist/dist/thrift/thrift.reading.d.ts +49 -0
  150. package/{dist-ts → dist}/dist/thrift/thrift.reading.js +3 -5
  151. package/dist/dist/thrift/thrift.writing.d.ts +49 -0
  152. package/{dist-ts → dist}/dist/thrift/thrift.writing.js +2 -4
  153. package/dist/dist/types/index.d.ts +28 -0
  154. package/dist/dist/useMultiFileAuthState.d.ts +267 -0
  155. package/{dist-ts → dist}/dist/useMultiFileAuthState.js +47 -61
  156. package/dist/dist/utils/helper-1.d.ts +0 -0
  157. package/dist/dist/utils/helper-10.d.ts +0 -0
  158. package/dist/dist/utils/helper-11.d.ts +0 -0
  159. package/dist/dist/utils/helper-12.d.ts +0 -0
  160. package/dist/dist/utils/helper-13.d.ts +0 -0
  161. package/dist/dist/utils/helper-14.d.ts +0 -0
  162. package/dist/dist/utils/helper-15.d.ts +0 -0
  163. package/dist/dist/utils/helper-16.d.ts +0 -0
  164. package/dist/dist/utils/helper-17.d.ts +0 -0
  165. package/dist/dist/utils/helper-18.d.ts +0 -0
  166. package/dist/dist/utils/helper-19.d.ts +0 -0
  167. package/dist/dist/utils/helper-2.d.ts +0 -0
  168. package/dist/dist/utils/helper-20.d.ts +0 -0
  169. package/dist/dist/utils/helper-21.d.ts +0 -0
  170. package/dist/dist/utils/helper-22.d.ts +0 -0
  171. package/dist/dist/utils/helper-23.d.ts +0 -0
  172. package/dist/dist/utils/helper-24.d.ts +0 -0
  173. package/dist/dist/utils/helper-25.d.ts +0 -0
  174. package/dist/dist/utils/helper-26.d.ts +0 -0
  175. package/dist/dist/utils/helper-27.d.ts +0 -0
  176. package/dist/dist/utils/helper-28.d.ts +0 -0
  177. package/dist/dist/utils/helper-29.d.ts +0 -0
  178. package/dist/dist/utils/helper-3.d.ts +0 -0
  179. package/dist/dist/utils/helper-30.d.ts +0 -0
  180. package/dist/dist/utils/helper-4.d.ts +0 -0
  181. package/dist/dist/utils/helper-5.d.ts +0 -0
  182. package/dist/dist/utils/helper-6.d.ts +0 -0
  183. package/dist/dist/utils/helper-7.d.ts +0 -0
  184. package/dist/dist/utils/helper-8.d.ts +0 -0
  185. package/dist/dist/utils/helper-9.d.ts +0 -0
  186. package/dist/dist/utils/index.d.ts +56 -0
  187. package/{dist-ts → dist}/dist/utils/index.js +1 -2
  188. package/dist/dist/utils/insta-mqtt-helper.d.ts +30 -0
  189. package/dist/examples/listen-to-messages.d.ts +4 -0
  190. package/{dist-ts → dist}/examples/listen-to-messages.js +1 -2
  191. package/package.json +37 -42
  192. package/dist-ts/dist/fbns/fbns.device-auth.js +0 -59
  193. package/dist-ts/dist/realtime/features/dm-sender.js +0 -94
  194. package/dist-ts/dist/realtime/features/presence.manager.js +0 -68
  195. package/dist-ts/dist/realtime/features/session-health-monitor.js +0 -327
  196. package/dist-ts/dist/realtime/parsers/graphql.parser.js +0 -22
  197. package/dist-ts/dist/realtime/protocols/skywalker.protocol.js +0 -96
  198. package/dist-ts/dist/shared/index.js +0 -98
  199. package/examples/listen-to-messages.js +0 -86
  200. package/src-ts/dist/constants/constants.ts +0 -342
  201. package/src-ts/dist/constants/index.ts +0 -58
  202. package/src-ts/dist/core/client.ts +0 -419
  203. package/src-ts/dist/core/nav-chain.ts +0 -282
  204. package/src-ts/dist/core/repository.ts +0 -7
  205. package/src-ts/dist/core/request.ts +0 -395
  206. package/src-ts/dist/core/state.ts +0 -1484
  207. package/src-ts/dist/core/utils.ts +0 -786
  208. package/src-ts/dist/downloadMedia.ts +0 -381
  209. package/src-ts/dist/errors/index.ts +0 -38
  210. package/src-ts/dist/extend.ts +0 -167
  211. package/src-ts/dist/fbns/fbns.client.events.ts +0 -3
  212. package/src-ts/dist/fbns/fbns.client.ts +0 -252
  213. package/src-ts/dist/fbns/fbns.types.ts +0 -3
  214. package/src-ts/dist/fbns/fbns.utilities.ts +0 -79
  215. package/src-ts/dist/fbns/index.ts +0 -21
  216. package/src-ts/dist/index.ts +0 -139
  217. package/src-ts/dist/mqtt-shim.ts +0 -15
  218. package/src-ts/dist/mqttot/index.ts +0 -21
  219. package/src-ts/dist/mqttot/mqttot.client.ts +0 -318
  220. package/src-ts/dist/mqttot/mqttot.connect.request.packet.ts +0 -9
  221. package/src-ts/dist/mqttot/mqttot.connect.response.packet.ts +0 -24
  222. package/src-ts/dist/mqttot/mqttot.connection.ts +0 -77
  223. package/src-ts/dist/realtime/commands/commands.ts +0 -71
  224. package/src-ts/dist/realtime/commands/direct.commands.ts +0 -417
  225. package/src-ts/dist/realtime/commands/enhanced.direct.commands.ts +0 -1731
  226. package/src-ts/dist/realtime/commands/index.ts +0 -20
  227. package/src-ts/dist/realtime/delta-sync.manager.ts +0 -293
  228. package/src-ts/dist/realtime/features/error-handler.ts +0 -185
  229. package/src-ts/dist/realtime/features/gap-handler.ts +0 -61
  230. package/src-ts/dist/realtime/features/persistent-logger.ts +0 -186
  231. package/src-ts/dist/realtime/index.ts +0 -30
  232. package/src-ts/dist/realtime/messages/app-presence.event.ts +0 -3
  233. package/src-ts/dist/realtime/messages/index.ts +0 -20
  234. package/src-ts/dist/realtime/messages/message-sync.message.ts +0 -43
  235. package/src-ts/dist/realtime/messages/realtime-sub.direct.data.ts +0 -3
  236. package/src-ts/dist/realtime/messages/thread-update.message.ts +0 -3
  237. package/src-ts/dist/realtime/mixins/index.ts +0 -20
  238. package/src-ts/dist/realtime/mixins/message-sync.mixin.ts +0 -596
  239. package/src-ts/dist/realtime/mixins/mixin.ts +0 -41
  240. package/src-ts/dist/realtime/mixins/presence-typing.mixin.ts +0 -33
  241. package/src-ts/dist/realtime/mixins/realtime-sub.mixin.ts +0 -181
  242. package/src-ts/dist/realtime/parsers/graphql-parser.ts +0 -43
  243. package/src-ts/dist/realtime/parsers/index.ts +0 -23
  244. package/src-ts/dist/realtime/parsers/iris-parser.ts +0 -43
  245. package/src-ts/dist/realtime/parsers/iris.parser.ts +0 -10
  246. package/src-ts/dist/realtime/parsers/json-parser.ts +0 -43
  247. package/src-ts/dist/realtime/parsers/json.parser.ts +0 -10
  248. package/src-ts/dist/realtime/parsers/parser.ts +0 -3
  249. package/src-ts/dist/realtime/parsers/region-hint-parser.ts +0 -43
  250. package/src-ts/dist/realtime/parsers/region-hint.parser.ts +0 -15
  251. package/src-ts/dist/realtime/parsers/skywalker-parser.ts +0 -43
  252. package/src-ts/dist/realtime/parsers/skywalker.parser.ts +0 -15
  253. package/src-ts/dist/realtime/parsers-advanced.ts +0 -158
  254. package/src-ts/dist/realtime/proto-parser.ts +0 -195
  255. package/src-ts/dist/realtime/protocols/iris.handshake.ts +0 -74
  256. package/src-ts/dist/realtime/protocols/proto-definitions.ts +0 -80
  257. package/src-ts/dist/realtime/realtime.client.events.ts +0 -3
  258. package/src-ts/dist/realtime/realtime.client.ts +0 -1996
  259. package/src-ts/dist/realtime/realtime.service.ts +0 -462
  260. package/src-ts/dist/realtime/reconnect.manager.ts +0 -88
  261. package/src-ts/dist/realtime/session.manager.ts +0 -121
  262. package/src-ts/dist/realtime/subscriptions/graphql.subscription.ts +0 -99
  263. package/src-ts/dist/realtime/subscriptions/index.ts +0 -19
  264. package/src-ts/dist/realtime/subscriptions/skywalker.subscription.ts +0 -13
  265. package/src-ts/dist/realtime/topic-map.ts +0 -71
  266. package/src-ts/dist/realtime/topic.ts +0 -80
  267. package/src-ts/dist/repositories/account.repository.ts +0 -1384
  268. package/src-ts/dist/repositories/bloks.repository.ts +0 -70
  269. package/src-ts/dist/repositories/captcha.repository.ts +0 -44
  270. package/src-ts/dist/repositories/challenge.repository.ts +0 -120
  271. package/src-ts/dist/repositories/clip.repository.ts +0 -165
  272. package/src-ts/dist/repositories/close-friends.repository.ts +0 -46
  273. package/src-ts/dist/repositories/collection.repository.ts +0 -68
  274. package/src-ts/dist/repositories/direct-thread.repository.ts +0 -446
  275. package/src-ts/dist/repositories/direct.repository.ts +0 -266
  276. package/src-ts/dist/repositories/explore.repository.ts +0 -70
  277. package/src-ts/dist/repositories/fbsearch.repository.ts +0 -140
  278. package/src-ts/dist/repositories/feed.repository.ts +0 -245
  279. package/src-ts/dist/repositories/friendship.repository.ts +0 -296
  280. package/src-ts/dist/repositories/fundraiser.repository.ts +0 -49
  281. package/src-ts/dist/repositories/hashtag.repository.ts +0 -99
  282. package/src-ts/dist/repositories/highlights.repository.ts +0 -121
  283. package/src-ts/dist/repositories/insights.repository.ts +0 -82
  284. package/src-ts/dist/repositories/location.repository.ts +0 -84
  285. package/src-ts/dist/repositories/media.repository.ts +0 -395
  286. package/src-ts/dist/repositories/multiple-accounts.repository.ts +0 -41
  287. package/src-ts/dist/repositories/news.repository.ts +0 -35
  288. package/src-ts/dist/repositories/note.repository.ts +0 -57
  289. package/src-ts/dist/repositories/notification.repository.ts +0 -79
  290. package/src-ts/dist/repositories/share.repository.ts +0 -35
  291. package/src-ts/dist/repositories/signup.repository.ts +0 -218
  292. package/src-ts/dist/repositories/story.repository.ts +0 -290
  293. package/src-ts/dist/repositories/timeline.repository.ts +0 -60
  294. package/src-ts/dist/repositories/totp.repository.ts +0 -139
  295. package/src-ts/dist/repositories/track.repository.ts +0 -53
  296. package/src-ts/dist/repositories/upload.repository.ts +0 -204
  297. package/src-ts/dist/repositories/user.repository.ts +0 -360
  298. package/src-ts/dist/sendmedia/index.ts +0 -27
  299. package/src-ts/dist/sendmedia/sendFile.ts +0 -72
  300. package/src-ts/dist/sendmedia/sendPhoto.ts +0 -142
  301. package/src-ts/dist/sendmedia/sendRavenPhoto.ts +0 -153
  302. package/src-ts/dist/sendmedia/sendRavenVideo.ts +0 -158
  303. package/src-ts/dist/sendmedia/uploadPhoto.ts +0 -107
  304. package/src-ts/dist/sendmedia/uploadfFile.ts +0 -130
  305. package/src-ts/dist/services/live.service.ts +0 -139
  306. package/src-ts/dist/services/search.service.ts +0 -115
  307. package/src-ts/dist/shared/shared.ts +0 -86
  308. package/src-ts/dist/thrift/index.ts +0 -20
  309. package/src-ts/dist/thrift/thrift.reading.ts +0 -368
  310. package/src-ts/dist/thrift/thrift.ts +0 -111
  311. package/src-ts/dist/thrift/thrift.writing.ts +0 -396
  312. package/src-ts/dist/types/index.ts +0 -285
  313. package/src-ts/dist/useMultiFileAuthState.ts +0 -1800
  314. package/src-ts/dist/utils/helper-1.ts +0 -1
  315. package/src-ts/dist/utils/helper-10.ts +0 -1
  316. package/src-ts/dist/utils/helper-11.ts +0 -1
  317. package/src-ts/dist/utils/helper-12.ts +0 -1
  318. package/src-ts/dist/utils/helper-13.ts +0 -1
  319. package/src-ts/dist/utils/helper-14.ts +0 -1
  320. package/src-ts/dist/utils/helper-15.ts +0 -1
  321. package/src-ts/dist/utils/helper-16.ts +0 -1
  322. package/src-ts/dist/utils/helper-17.ts +0 -1
  323. package/src-ts/dist/utils/helper-18.ts +0 -1
  324. package/src-ts/dist/utils/helper-19.ts +0 -1
  325. package/src-ts/dist/utils/helper-2.ts +0 -1
  326. package/src-ts/dist/utils/helper-20.ts +0 -1
  327. package/src-ts/dist/utils/helper-21.ts +0 -1
  328. package/src-ts/dist/utils/helper-22.ts +0 -1
  329. package/src-ts/dist/utils/helper-23.ts +0 -1
  330. package/src-ts/dist/utils/helper-24.ts +0 -1
  331. package/src-ts/dist/utils/helper-25.ts +0 -1
  332. package/src-ts/dist/utils/helper-26.ts +0 -1
  333. package/src-ts/dist/utils/helper-27.ts +0 -1
  334. package/src-ts/dist/utils/helper-28.ts +0 -1
  335. package/src-ts/dist/utils/helper-29.ts +0 -1
  336. package/src-ts/dist/utils/helper-3.ts +0 -1
  337. package/src-ts/dist/utils/helper-30.ts +0 -1
  338. package/src-ts/dist/utils/helper-4.ts +0 -1
  339. package/src-ts/dist/utils/helper-5.ts +0 -1
  340. package/src-ts/dist/utils/helper-6.ts +0 -1
  341. package/src-ts/dist/utils/helper-7.ts +0 -1
  342. package/src-ts/dist/utils/helper-8.ts +0 -1
  343. package/src-ts/dist/utils/helper-9.ts +0 -1
  344. package/src-ts/dist/utils/index.ts +0 -280
  345. package/src-ts/dist/utils/insta-mqtt-helper.ts +0 -128
  346. package/src-ts/examples/listen-to-messages.ts +0 -86
  347. /package/{dist-ts → dist}/dist/constants/constants.js +0 -0
  348. /package/{dist-ts → dist}/dist/constants/index.js +0 -0
  349. /package/{dist-ts → dist}/dist/core/client.js +0 -0
  350. /package/{dist-ts → dist}/dist/core/nav-chain.js +0 -0
  351. /package/{dist-ts → dist}/dist/core/repository.js +0 -0
  352. /package/{dist-ts → dist}/dist/core/request.js +0 -0
  353. /package/{dist-ts → dist}/dist/core/state.js +0 -0
  354. /package/{dist-ts → dist}/dist/core/utils.js +0 -0
  355. /package/{dist-ts → dist}/dist/errors/index.js +0 -0
  356. /package/{dist-ts → dist}/dist/extend.js +0 -0
  357. /package/{dist-ts → dist}/dist/fbns/fbns.client.events.js +0 -0
  358. /package/{dist-ts → dist}/dist/fbns/fbns.types.js +0 -0
  359. /package/{dist-ts → dist}/dist/fbns/fbns.utilities.js +0 -0
  360. /package/{dist-ts → dist}/dist/fbns/index.js +0 -0
  361. /package/{dist-ts → dist}/dist/index.js +0 -0
  362. /package/{dist-ts → dist}/dist/mqtt-shim.js +0 -0
  363. /package/{dist-ts → dist}/dist/mqttot/index.js +0 -0
  364. /package/{dist-ts → dist}/dist/mqttot/mqttot.connect.request.packet.js +0 -0
  365. /package/{dist-ts → dist}/dist/mqttot/mqttot.connect.response.packet.js +0 -0
  366. /package/{dist-ts → dist}/dist/mqttot/mqttot.connection.js +0 -0
  367. /package/{dist-ts → dist}/dist/realtime/commands/commands.js +0 -0
  368. /package/{dist-ts → dist}/dist/realtime/commands/direct.commands.js +0 -0
  369. /package/{dist-ts → dist}/dist/realtime/commands/index.js +0 -0
  370. /package/{dist-ts → dist}/dist/realtime/features/gap-handler.js +0 -0
  371. /package/{dist-ts → dist}/dist/realtime/index.js +0 -0
  372. /package/{dist-ts → dist}/dist/realtime/messages/app-presence.event.js +0 -0
  373. /package/{dist-ts → dist}/dist/realtime/messages/index.js +0 -0
  374. /package/{dist-ts → dist}/dist/realtime/messages/message-sync.message.js +0 -0
  375. /package/{dist-ts → dist}/dist/realtime/messages/realtime-sub.direct.data.js +0 -0
  376. /package/{dist-ts → dist}/dist/realtime/messages/thread-update.message.js +0 -0
  377. /package/{dist-ts → dist}/dist/realtime/mixins/index.js +0 -0
  378. /package/{dist-ts → dist}/dist/realtime/mixins/mixin.js +0 -0
  379. /package/{dist-ts → dist}/dist/realtime/mixins/presence-typing.mixin.js +0 -0
  380. /package/{dist-ts → dist}/dist/realtime/parsers/graphql-parser.js +0 -0
  381. /package/{dist-ts → dist}/dist/realtime/parsers/index.js +0 -0
  382. /package/{dist-ts → dist}/dist/realtime/parsers/iris-parser.js +0 -0
  383. /package/{dist-ts → dist}/dist/realtime/parsers/iris.parser.js +0 -0
  384. /package/{dist-ts → dist}/dist/realtime/parsers/json-parser.js +0 -0
  385. /package/{dist-ts → dist}/dist/realtime/parsers/json.parser.js +0 -0
  386. /package/{dist-ts → dist}/dist/realtime/parsers/parser.js +0 -0
  387. /package/{dist-ts → dist}/dist/realtime/parsers/region-hint-parser.js +0 -0
  388. /package/{dist-ts → dist}/dist/realtime/parsers/region-hint.parser.js +0 -0
  389. /package/{dist-ts → dist}/dist/realtime/parsers/skywalker-parser.js +0 -0
  390. /package/{dist-ts → dist}/dist/realtime/parsers/skywalker.parser.js +0 -0
  391. /package/{dist-ts → dist}/dist/realtime/protocols/iris.handshake.js +0 -0
  392. /package/{dist-ts → dist}/dist/realtime/protocols/proto-definitions.js +0 -0
  393. /package/{dist-ts → dist}/dist/realtime/realtime.client.events.js +0 -0
  394. /package/{dist-ts → dist}/dist/realtime/realtime.service.js +0 -0
  395. /package/{dist-ts → dist}/dist/realtime/reconnect.manager.js +0 -0
  396. /package/{dist-ts → dist}/dist/realtime/session.manager.js +0 -0
  397. /package/{dist-ts → dist}/dist/realtime/subscriptions/graphql.subscription.js +0 -0
  398. /package/{dist-ts → dist}/dist/realtime/subscriptions/index.js +0 -0
  399. /package/{dist-ts → dist}/dist/realtime/subscriptions/skywalker.subscription.js +0 -0
  400. /package/{dist-ts → dist}/dist/realtime/topic-map.js +0 -0
  401. /package/{dist-ts → dist}/dist/realtime/topic.js +0 -0
  402. /package/{dist-ts → dist}/dist/repositories/bloks.repository.js +0 -0
  403. /package/{dist-ts → dist}/dist/repositories/captcha.repository.js +0 -0
  404. /package/{dist-ts → dist}/dist/repositories/clip.repository.js +0 -0
  405. /package/{dist-ts → dist}/dist/repositories/close-friends.repository.js +0 -0
  406. /package/{dist-ts → dist}/dist/repositories/collection.repository.js +0 -0
  407. /package/{dist-ts → dist}/dist/repositories/explore.repository.js +0 -0
  408. /package/{dist-ts → dist}/dist/repositories/fbsearch.repository.js +0 -0
  409. /package/{dist-ts → dist}/dist/repositories/feed.repository.js +0 -0
  410. /package/{dist-ts → dist}/dist/repositories/friendship.repository.js +0 -0
  411. /package/{dist-ts → dist}/dist/repositories/fundraiser.repository.js +0 -0
  412. /package/{dist-ts → dist}/dist/repositories/hashtag.repository.js +0 -0
  413. /package/{dist-ts → dist}/dist/repositories/highlights.repository.js +0 -0
  414. /package/{dist-ts → dist}/dist/repositories/insights.repository.js +0 -0
  415. /package/{dist-ts → dist}/dist/repositories/location.repository.js +0 -0
  416. /package/{dist-ts → dist}/dist/repositories/multiple-accounts.repository.js +0 -0
  417. /package/{dist-ts → dist}/dist/repositories/news.repository.js +0 -0
  418. /package/{dist-ts → dist}/dist/repositories/note.repository.js +0 -0
  419. /package/{dist-ts → dist}/dist/repositories/share.repository.js +0 -0
  420. /package/{dist-ts → dist}/dist/repositories/signup.repository.js +0 -0
  421. /package/{dist-ts → dist}/dist/repositories/timeline.repository.js +0 -0
  422. /package/{dist-ts → dist}/dist/repositories/totp.repository.js +0 -0
  423. /package/{dist-ts → dist}/dist/repositories/user.repository.js +0 -0
  424. /package/{dist-ts → dist}/dist/sendmedia/index.js +0 -0
  425. /package/{dist-ts → dist}/dist/sendmedia/sendFile.js +0 -0
  426. /package/{dist-ts → dist}/dist/sendmedia/sendPhoto.js +0 -0
  427. /package/{dist-ts → dist}/dist/sendmedia/uploadPhoto.js +0 -0
  428. /package/{dist-ts → dist}/dist/services/live.service.js +0 -0
  429. /package/{dist-ts → dist}/dist/services/search.service.js +0 -0
  430. /package/{dist-ts → dist}/dist/shared/shared.js +0 -0
  431. /package/{dist-ts → dist}/dist/thrift/index.js +0 -0
  432. /package/{dist-ts → dist}/dist/thrift/thrift.js +0 -0
  433. /package/{dist-ts → dist}/dist/types/index.js +0 -0
  434. /package/{dist-ts → dist}/dist/utils/helper-1.js +0 -0
  435. /package/{dist-ts → dist}/dist/utils/helper-10.js +0 -0
  436. /package/{dist-ts → dist}/dist/utils/helper-11.js +0 -0
  437. /package/{dist-ts → dist}/dist/utils/helper-12.js +0 -0
  438. /package/{dist-ts → dist}/dist/utils/helper-13.js +0 -0
  439. /package/{dist-ts → dist}/dist/utils/helper-14.js +0 -0
  440. /package/{dist-ts → dist}/dist/utils/helper-15.js +0 -0
  441. /package/{dist-ts → dist}/dist/utils/helper-16.js +0 -0
  442. /package/{dist-ts → dist}/dist/utils/helper-17.js +0 -0
  443. /package/{dist-ts → dist}/dist/utils/helper-18.js +0 -0
  444. /package/{dist-ts → dist}/dist/utils/helper-19.js +0 -0
  445. /package/{dist-ts → dist}/dist/utils/helper-2.js +0 -0
  446. /package/{dist-ts → dist}/dist/utils/helper-20.js +0 -0
  447. /package/{dist-ts → dist}/dist/utils/helper-21.js +0 -0
  448. /package/{dist-ts → dist}/dist/utils/helper-22.js +0 -0
  449. /package/{dist-ts → dist}/dist/utils/helper-23.js +0 -0
  450. /package/{dist-ts → dist}/dist/utils/helper-24.js +0 -0
  451. /package/{dist-ts → dist}/dist/utils/helper-25.js +0 -0
  452. /package/{dist-ts → dist}/dist/utils/helper-26.js +0 -0
  453. /package/{dist-ts → dist}/dist/utils/helper-27.js +0 -0
  454. /package/{dist-ts → dist}/dist/utils/helper-28.js +0 -0
  455. /package/{dist-ts → dist}/dist/utils/helper-29.js +0 -0
  456. /package/{dist-ts → dist}/dist/utils/helper-3.js +0 -0
  457. /package/{dist-ts → dist}/dist/utils/helper-30.js +0 -0
  458. /package/{dist-ts → dist}/dist/utils/helper-4.js +0 -0
  459. /package/{dist-ts → dist}/dist/utils/helper-5.js +0 -0
  460. /package/{dist-ts → dist}/dist/utils/helper-6.js +0 -0
  461. /package/{dist-ts → dist}/dist/utils/helper-7.js +0 -0
  462. /package/{dist-ts → dist}/dist/utils/helper-8.js +0 -0
  463. /package/{dist-ts → dist}/dist/utils/helper-9.js +0 -0
  464. /package/{dist-ts → dist}/dist/utils/insta-mqtt-helper.js +0 -0
@@ -1,153 +0,0 @@
1
- const { v4: uuidv4 } = require('uuid');
2
- const axios = require('axios');
3
-
4
- function buildRavenPhotoRuploadParams(uploadId) {
5
- return {
6
- retry_context: JSON.stringify({ num_step_auto_retry: 0, num_reupload: 0, num_step_manual_retry: 0 }),
7
- media_type: '1',
8
- upload_id: uploadId.toString(),
9
- image_compression: JSON.stringify({ lib_name: 'moz', lib_version: '3.1.m', quality: '95' }),
10
- xsharing_user_ids: JSON.stringify([]),
11
- direct_v2: '1',
12
- is_optimistic_upload: 'false',
13
- };
14
- }
15
-
16
- async function sendRavenPhoto(session, photoBuffer, options = {}) {
17
- const {
18
- threadId,
19
- viewMode = 'replayable',
20
- mimeType = 'image/jpeg',
21
- } = options;
22
-
23
- if (!photoBuffer || !Buffer.isBuffer(photoBuffer) || photoBuffer.length === 0) {
24
- throw new Error('sendRavenPhoto: photoBuffer must be a non-empty Buffer.');
25
- }
26
- if (!threadId) {
27
- throw new Error('sendRavenPhoto: threadId is required.');
28
- }
29
-
30
- const uploadId = Date.now().toString();
31
- const randomSuffix = Math.floor(Math.random() * (9999999999 - 1000000000) + 1000000000);
32
- const name = `${uploadId}_0_${randomSuffix}`;
33
- const waterfallId = uuidv4();
34
- const ruploadParams = buildRavenPhotoRuploadParams(uploadId);
35
-
36
- const defaultHeaders = session.request.getDefaultHeaders();
37
-
38
- const messengerUploadHeaders = {
39
- ...defaultHeaders,
40
- 'X_FB_PHOTO_WATERFALL_ID': waterfallId,
41
- 'X-Entity-Type': mimeType,
42
- 'Offset': '0',
43
- 'X-Instagram-Rupload-Params': JSON.stringify(ruploadParams),
44
- 'X-Entity-Name': name,
45
- 'X-Entity-Length': String(photoBuffer.length),
46
- 'Content-Type': 'application/octet-stream',
47
- 'Content-Length': String(photoBuffer.length),
48
- 'ephemeral_media_view_mode': viewMode === 'replayable' ? '1' : '0',
49
- 'ig_raven_metadata': '{}',
50
- 'image_type': 'FILE_ATTACHMENT',
51
- 'Host': 'rupload.facebook.com',
52
- };
53
-
54
- const uploadResp = await axios({
55
- url: `https://rupload.facebook.com/messenger_image/${name}`,
56
- method: 'POST',
57
- headers: messengerUploadHeaders,
58
- data: photoBuffer,
59
- maxBodyLength: Infinity,
60
- maxContentLength: Infinity,
61
- transformRequest: [(d) => d],
62
- });
63
-
64
- const uploadParsed = uploadResp.data;
65
- const serverUploadId = (uploadParsed.upload_id || uploadId).toString();
66
- const attachmentFbid = uploadParsed.media_id
67
- || (uploadParsed.media && uploadParsed.media.pk)
68
- || (uploadParsed.media && uploadParsed.media.id)
69
- || null;
70
-
71
- const clientContext = BigInt(Math.floor(Math.random() * 2**62)).toString();
72
- const compositionId = uuidv4();
73
- const cameraSessionId = uuidv4();
74
- const now = Math.floor(Date.now() / 1000);
75
-
76
- const form = {
77
- allow_multi_configures: '1',
78
- recipient_users: '[]',
79
- view_mode: viewMode,
80
- is_shh_mode: '0',
81
- camera_entry_point: '3',
82
- thread_ids: JSON.stringify([String(threadId)]),
83
- reshare_mode: 'allow_reshare',
84
- original_media_type: '1',
85
- send_attribution: 'direct_thread_camera',
86
- client_context: clientContext,
87
- camera_session_id: cameraSessionId,
88
- include_e2ee_mentioned_user_list: '1',
89
- hide_from_profile_grid: 'false',
90
- scene_capture_type: '',
91
- timezone_offset: String(new Date().getTimezoneOffset() * -60),
92
- client_shared_at: String(now),
93
- configure_mode: '2',
94
- source_type: '4',
95
- camera_position: 'unknown',
96
- _uid: String(session.state.cookieUserId || session.state.igUserId),
97
- device_id: session.state.deviceId,
98
- composition_id: compositionId,
99
- mutation_token: clientContext,
100
- _uuid: session.state.uuid,
101
- creation_tool_info: '[]',
102
- creation_surface: 'camera',
103
- capture_type: 'normal',
104
- audience: 'default',
105
- upload_id: serverUploadId,
106
- client_timestamp: String(now),
107
- sampled: 'true',
108
- media_transformation_info: JSON.stringify({
109
- width: '720', height: '1280',
110
- x_transform: '0', y_transform: '0',
111
- zoom: '1.0', rotation: '0.0', background_coverage: '0.0',
112
- }),
113
- edits: JSON.stringify({ filter_type: 0, filter_strength: 0.5, crop_original_size: [720.0, 1280.0] }),
114
- extra: JSON.stringify({ source_width: 720, source_height: 1280 }),
115
- device: JSON.stringify({
116
- manufacturer: session.state.devicePayload?.manufacturer || 'samsung',
117
- model: session.state.devicePayload?.model || 'SM-S938B',
118
- android_version: session.state.devicePayload?.android_version || 35,
119
- android_release: session.state.devicePayload?.android_release || '15',
120
- }),
121
- };
122
-
123
- if (attachmentFbid) {
124
- form.attachment_fbid = String(attachmentFbid);
125
- }
126
-
127
- const signedForm = (session.request && typeof session.request.sign === 'function')
128
- ? session.request.sign(form)
129
- : form;
130
-
131
- const broadcastResponse = await session.request.send({
132
- url: '/api/v1/direct_v2/threads/broadcast/raven_attachment/',
133
- method: 'POST',
134
- form: signedForm,
135
- qs: { use_unified_inbox: true },
136
- });
137
-
138
- const body = broadcastResponse && (broadcastResponse.body || broadcastResponse.data || broadcastResponse);
139
- return typeof body === 'string' ? JSON.parse(body) : body;
140
- }
141
-
142
- async function sendRavenPhotoOnce(session, photoBuffer, options = {}) {
143
- return sendRavenPhoto(session, photoBuffer, { ...options, viewMode: 'once' });
144
- }
145
-
146
- async function sendRavenPhotoReplayable(session, photoBuffer, options = {}) {
147
- return sendRavenPhoto(session, photoBuffer, { ...options, viewMode: 'replayable' });
148
- }
149
-
150
- module.exports = sendRavenPhoto;
151
- module.exports.sendRavenPhoto = sendRavenPhoto;
152
- module.exports.sendRavenPhotoOnce = sendRavenPhotoOnce;
153
- module.exports.sendRavenPhotoReplayable = sendRavenPhotoReplayable;
@@ -1,158 +0,0 @@
1
- const { v4: uuidv4 } = require('uuid');
2
- const axios = require('axios');
3
-
4
- function buildRavenVideoRuploadParams(uploadId, options = {}) {
5
- return {
6
- retry_context: JSON.stringify({ num_step_auto_retry: 0, num_reupload: 0, num_step_manual_retry: 0 }),
7
- media_type: '2',
8
- upload_id: uploadId.toString(),
9
- upload_media_duration_ms: String(Math.round((options.duration || 0) * 1000)),
10
- upload_media_width: String(options.width || 720),
11
- upload_media_height: String(options.height || 1280),
12
- xsharing_user_ids: JSON.stringify([]),
13
- direct_v2: '1',
14
- };
15
- }
16
-
17
- async function sendRavenVideo(session, videoBuffer, options = {}) {
18
- const {
19
- threadId,
20
- viewMode = 'replayable',
21
- duration = 0,
22
- width = 720,
23
- height = 1280,
24
- } = options;
25
-
26
- if (!videoBuffer || !Buffer.isBuffer(videoBuffer) || videoBuffer.length === 0) {
27
- throw new Error('sendRavenVideo: videoBuffer must be a non-empty Buffer.');
28
- }
29
- if (!threadId) {
30
- throw new Error('sendRavenVideo: threadId is required.');
31
- }
32
-
33
- const uploadId = Date.now().toString();
34
- const randomSuffix = Math.floor(Math.random() * (9999999999 - 1000000000) + 1000000000);
35
- const name = `${uploadId}_0_${randomSuffix}`;
36
- const waterfallId = uuidv4();
37
- const ruploadParams = buildRavenVideoRuploadParams(uploadId, { duration, width, height });
38
-
39
- const defaultHeaders = session.request.getDefaultHeaders();
40
-
41
- const messengerUploadHeaders = {
42
- ...defaultHeaders,
43
- 'X_FB_VIDEO_WATERFALL_ID': waterfallId,
44
- 'X-Entity-Type': 'video/mp4',
45
- 'Offset': '0',
46
- 'X-Instagram-Rupload-Params': JSON.stringify(ruploadParams),
47
- 'X-Entity-Name': name,
48
- 'X-Entity-Length': String(videoBuffer.length),
49
- 'Content-Type': 'application/octet-stream',
50
- 'Content-Length': String(videoBuffer.length),
51
- 'ephemeral_media_view_mode': '1',
52
- 'ig_raven_metadata': '{}',
53
- 'video_type': 'FILE_ATTACHMENT',
54
- 'x-fb-congestion-signal': '1',
55
- 'Host': 'rupload.facebook.com',
56
- };
57
-
58
- const uploadResp = await axios({
59
- url: `https://rupload.facebook.com/messenger_video/${name}`,
60
- method: 'POST',
61
- headers: messengerUploadHeaders,
62
- data: videoBuffer,
63
- maxBodyLength: Infinity,
64
- maxContentLength: Infinity,
65
- transformRequest: [(d) => d],
66
- });
67
-
68
- const uploadParsed = uploadResp.data;
69
- const serverUploadId = (uploadParsed.upload_id || uploadId).toString();
70
- const attachmentFbid = uploadParsed.media_id
71
- || (uploadParsed.media && uploadParsed.media.pk)
72
- || (uploadParsed.media && uploadParsed.media.id)
73
- || null;
74
-
75
- const clientContext = BigInt(Math.floor(Math.random() * 2**62)).toString();
76
- const compositionId = uuidv4();
77
- const cameraSessionId = uuidv4();
78
- const now = Math.floor(Date.now() / 1000);
79
-
80
- const form = {
81
- allow_multi_configures: '1',
82
- recipient_users: '[]',
83
- view_mode: viewMode,
84
- is_shh_mode: '0',
85
- camera_entry_point: '3',
86
- thread_ids: JSON.stringify([String(threadId)]),
87
- reshare_mode: 'allow_reshare',
88
- original_media_type: '1',
89
- send_attribution: 'direct_thread_camera',
90
- client_context: clientContext,
91
- camera_session_id: cameraSessionId,
92
- include_e2ee_mentioned_user_list: '1',
93
- hide_from_profile_grid: 'false',
94
- scene_capture_type: '',
95
- timezone_offset: String(new Date().getTimezoneOffset() * -60),
96
- client_shared_at: String(now),
97
- configure_mode: '2',
98
- source_type: '4',
99
- camera_position: 'unknown',
100
- _uid: String(session.state.cookieUserId || session.state.igUserId),
101
- device_id: session.state.deviceId,
102
- composition_id: compositionId,
103
- mutation_token: clientContext,
104
- _uuid: session.state.uuid,
105
- creation_tool_info: '[]',
106
- creation_surface: 'camera',
107
- capture_type: 'normal',
108
- audience: 'default',
109
- upload_id: serverUploadId,
110
- client_timestamp: String(now),
111
- sampled: 'true',
112
- video_result: '',
113
- media_type: '1',
114
- media_transformation_info: JSON.stringify({
115
- width: String(width), height: String(height),
116
- x_transform: '0', y_transform: '0',
117
- zoom: '1.0', rotation: '0.0', background_coverage: '0.0',
118
- }),
119
- extra: JSON.stringify({ source_width: width, source_height: height }),
120
- device: JSON.stringify({
121
- manufacturer: session.state.devicePayload?.manufacturer || 'samsung',
122
- model: session.state.devicePayload?.model || 'SM-S938B',
123
- android_version: session.state.devicePayload?.android_version || 35,
124
- android_release: session.state.devicePayload?.android_release || '15',
125
- }),
126
- };
127
-
128
- if (attachmentFbid) {
129
- form.attachment_fbid = String(attachmentFbid);
130
- }
131
-
132
- const signedForm = (session.request && typeof session.request.sign === 'function')
133
- ? session.request.sign(form)
134
- : form;
135
-
136
- const broadcastResponse = await session.request.send({
137
- url: '/api/v1/direct_v2/threads/broadcast/raven_attachment/',
138
- method: 'POST',
139
- form: signedForm,
140
- qs: { use_unified_inbox: true },
141
- });
142
-
143
- const body = broadcastResponse && (broadcastResponse.body || broadcastResponse.data || broadcastResponse);
144
- return typeof body === 'string' ? JSON.parse(body) : body;
145
- }
146
-
147
- async function sendRavenVideoOnce(session, videoBuffer, options = {}) {
148
- return sendRavenVideo(session, videoBuffer, { ...options, viewMode: 'once' });
149
- }
150
-
151
- async function sendRavenVideoReplayable(session, videoBuffer, options = {}) {
152
- return sendRavenVideo(session, videoBuffer, { ...options, viewMode: 'replayable' });
153
- }
154
-
155
- module.exports = sendRavenVideo;
156
- module.exports.sendRavenVideo = sendRavenVideo;
157
- module.exports.sendRavenVideoOnce = sendRavenVideoOnce;
158
- module.exports.sendRavenVideoReplayable = sendRavenVideoReplayable;
@@ -1,107 +0,0 @@
1
- /**
2
- * uploadPhoto.js - FIXED version based on instagram-private-api
3
- */
4
-
5
- const { v4: uuidv4 } = require('uuid');
6
-
7
- /**
8
- * Validate buffer and mime type
9
- */
10
- function validateImageInput(photoBuffer, mimeType) {
11
- if (!photoBuffer || !Buffer.isBuffer(photoBuffer) || photoBuffer.length === 0) {
12
- throw new Error('uploadPhoto: photoBuffer must be a non-empty Buffer.');
13
- }
14
- const allowed = ['image/jpeg', 'image/jpg', 'image/png'];
15
- if (!allowed.includes(mimeType)) {
16
- throw new Error(`uploadPhoto: mimeType must be one of ${allowed.join(', ')}.`);
17
- }
18
- }
19
-
20
- /**
21
- * Build Instagram rupload params for photo - Matching instagram-private-api
22
- */
23
- function buildRuploadParams(uploadId, mimeType) {
24
- const isJpeg = mimeType === 'image/jpeg' || mimeType === 'image/jpg';
25
- const compression = isJpeg
26
- ? JSON.stringify({ lib_name: 'moz', lib_version: '3.1.m', quality: '80' })
27
- : JSON.stringify({ lib_name: 'png', lib_version: '1.0', quality: '100' });
28
-
29
- return {
30
- retry_context: JSON.stringify({ num_step_auto_retry: 0, num_reupload: 0, num_step_manual_retry: 0 }),
31
- media_type: '1', // String '1' per instagram-private-api
32
- upload_id: uploadId.toString(),
33
- xsharing_user_ids: JSON.stringify([]),
34
- image_compression: compression,
35
- };
36
- }
37
-
38
- /**
39
- * Upload a photo to Instagram's rupload endpoint.
40
- */
41
- async function uploadPhoto(session, photoBuffer, options = {}) {
42
- const {
43
- mimeType = 'image/jpeg',
44
- fileName,
45
- signal,
46
- } = options;
47
-
48
- validateImageInput(photoBuffer, mimeType);
49
-
50
- const uploadId = Date.now().toString();
51
- const name = `${uploadId}_0_${Math.floor(Math.random() * (9999999999 - 1000000000) + 1000000000)}`;
52
- const contentLength = photoBuffer.byteLength;
53
-
54
- const ruploadParams = buildRuploadParams(uploadId, mimeType);
55
-
56
- // Headers expected by Instagram rupload (matched with instagram-private-api)
57
- const headers = {
58
- 'X_FB_PHOTO_WATERFALL_ID': uuidv4(),
59
- 'X-Entity-Type': 'image/jpeg',
60
- 'Offset': '0',
61
- 'X-Instagram-Rupload-Params': JSON.stringify(ruploadParams),
62
- 'X-Entity-Name': name,
63
- 'X-Entity-Length': String(contentLength),
64
- 'Content-Type': 'application/octet-stream',
65
- 'Content-Length': String(contentLength),
66
- 'Accept-Encoding': 'gzip',
67
- };
68
-
69
- // If it's png, maybe we should adjust X-Entity-Type?
70
- // instagram-private-api seems to hardcode 'image/jpeg' in the trace for 'photo' method.
71
- // We'll stick to 'image/jpeg' for X-Entity-Type as per reference unless user provided PNG which might work anyway.
72
-
73
- const url = `/rupload_igphoto/${name}`;
74
-
75
- try {
76
- const response = await session.request.send({
77
- url,
78
- method: 'POST',
79
- headers,
80
- body: photoBuffer,
81
- signal,
82
- });
83
-
84
- if (!response) {
85
- throw new Error('uploadPhoto: Empty response from Instagram rupload endpoint.');
86
- }
87
-
88
- // Try to get upload_id from response
89
- let serverUploadId = null;
90
- if (typeof response === 'object' && response.body) {
91
- try {
92
- const body = typeof response.body === 'string' ? JSON.parse(response.body) : response.body;
93
- serverUploadId = body.upload_id;
94
- } catch (e) {
95
- // ignore parse error
96
- }
97
- }
98
-
99
- return serverUploadId || uploadId;
100
- } catch (err) {
101
- // If error, try to extract message
102
- const msg = err.message || err.toString();
103
- throw new Error(`uploadPhoto: Upload failed — ${msg}`);
104
- }
105
- }
106
-
107
- module.exports = uploadPhoto;
@@ -1,130 +0,0 @@
1
- /**
2
- * uploadfFile.js - FIXED version based on instagram-private-api
3
- */
4
-
5
- const { v4: uuidv4 } = require('uuid');
6
-
7
- const DEFAULT_CHUNK_SIZE = 512 * 1024; // 512KB
8
-
9
- /**
10
- * Validate upload input
11
- */
12
- function validateFileInput(fileBuffer, mimeType) {
13
- if (!fileBuffer || !Buffer.isBuffer(fileBuffer) || fileBuffer.length === 0) {
14
- throw new Error('uploadFile: fileBuffer must be a non-empty Buffer.');
15
- }
16
- if (typeof mimeType !== 'string' || mimeType.length === 0) {
17
- throw new Error('uploadFile: mimeType must be a non-empty string.');
18
- }
19
- }
20
-
21
- /**
22
- * Build rupload params - Matching instagram-private-api
23
- */
24
- function buildRuploadParams(uploadId, mimeType, opts) {
25
- const isVideo = mimeType.startsWith('video/');
26
- const isAudio = mimeType.startsWith('audio/');
27
-
28
- const params = {
29
- retry_context: JSON.stringify({ num_step_auto_retry: 0, num_reupload: 0, num_step_manual_retry: 0 }),
30
- media_type: isVideo ? '2' : '3', // 2 for video, 3 for audio/others?
31
- upload_id: uploadId.toString(),
32
- xsharing_user_ids: JSON.stringify([]),
33
- };
34
-
35
- if (isVideo) {
36
- params.upload_media_duration_ms = opts.duration?.toString() || '0';
37
- params.upload_media_width = opts.width?.toString() || '720';
38
- params.upload_media_height = opts.height?.toString() || '1280';
39
- params.direct_v2 = '1';
40
- }
41
-
42
- return params;
43
- }
44
-
45
- /**
46
- * Upload file via rupload with chunking.
47
- */
48
- async function uploadFile(session, fileBuffer, options = {}) {
49
- const {
50
- mimeType = 'video/mp4',
51
- fileName,
52
- chunkSize = DEFAULT_CHUNK_SIZE,
53
- signal,
54
- } = options;
55
-
56
- validateFileInput(fileBuffer, mimeType);
57
-
58
- const uploadId = Date.now().toString();
59
- const name = `${uploadId}_0_${Math.floor(Math.random() * 9000000000 + 1000000000)}`;
60
- const totalLength = fileBuffer.length;
61
- const waterfallId = uuidv4();
62
-
63
- const ruploadParams = buildRuploadParams(uploadId, mimeType, options);
64
-
65
- const endpoint = mimeType.startsWith('image/')
66
- ? `/rupload_igphoto/${name}`
67
- : `/rupload_igvideo/${name}`;
68
-
69
- // Start upload
70
- let offset = 0;
71
- const size = Math.max(64 * 1024, Math.min(4 * 1024 * 1024, chunkSize));
72
-
73
- try {
74
- while (offset < totalLength) {
75
- const end = Math.min(offset + size, totalLength);
76
- const chunk = fileBuffer.subarray(offset, end);
77
-
78
- const headers = {
79
- 'X-Instagram-Rupload-Params': JSON.stringify(ruploadParams),
80
- 'X_FB_VIDEO_WATERFALL_ID': waterfallId,
81
- 'X-Entity-Type': mimeType,
82
- 'X-Entity-Name': name,
83
- 'X-Entity-Length': String(totalLength),
84
- 'Offset': String(offset),
85
- 'Content-Type': 'application/octet-stream',
86
- 'Content-Length': String(chunk.length),
87
- 'Accept-Encoding': 'gzip',
88
- };
89
-
90
- const res = await session.request.send({
91
- url: endpoint,
92
- method: 'POST',
93
- headers,
94
- body: chunk,
95
- signal,
96
- });
97
-
98
- if (!res) throw new Error(`uploadFile: Empty response at offset ${offset}`);
99
- offset = end;
100
- }
101
-
102
- // Finalize
103
- const confirm = await session.request.send({
104
- url: endpoint,
105
- method: 'POST',
106
- headers: {
107
- 'X-Instagram-Rupload-Params': JSON.stringify(ruploadParams),
108
- 'X_FB_VIDEO_WATERFALL_ID': waterfallId,
109
- 'X-Entity-Type': mimeType,
110
- 'Offset': String(totalLength),
111
- 'Content-Length': '0',
112
- },
113
- signal,
114
- });
115
-
116
- let serverUploadId = null;
117
- if (confirm && confirm.body) {
118
- try {
119
- const body = typeof confirm.body === 'string' ? JSON.parse(confirm.body) : confirm.body;
120
- serverUploadId = body.upload_id;
121
- } catch (e) {}
122
- }
123
-
124
- return serverUploadId || uploadId;
125
- } catch (err) {
126
- throw new Error(`uploadFile: Upload failed — ${err.message}`);
127
- }
128
- }
129
-
130
- module.exports = uploadFile;
@@ -1,139 +0,0 @@
1
- const Repository = require('../core/repository');
2
-
3
- class LiveService extends Repository {
4
- async create(options = {}) {
5
- const {
6
- previewWidth = 720,
7
- previewHeight = 1280,
8
- broadcastMessage = '',
9
- } = options;
10
-
11
- const response = await this.client.request.send({
12
- method: 'POST',
13
- url: '/api/v1/live/create/',
14
- form: this.client.request.sign({
15
- _uuid: this.client.state.uuid,
16
- preview_width: previewWidth,
17
- preview_height: previewHeight,
18
- broadcast_message: broadcastMessage,
19
- }),
20
- });
21
-
22
- return response.body;
23
- }
24
-
25
- async start(broadcastId, shouldSendNotifications = false) {
26
- const response = await this.client.request.send({
27
- method: 'POST',
28
- url: `/api/v1/live/${broadcastId}/start/`,
29
- form: this.client.request.sign({
30
- _uuid: this.client.state.uuid,
31
- should_send_notifications: shouldSendNotifications ? '1' : '0',
32
- }),
33
- });
34
-
35
- return response.body;
36
- }
37
-
38
- async end(broadcastId, endAfterCopyrightWarning = false) {
39
- const response = await this.client.request.send({
40
- method: 'POST',
41
- url: `/api/v1/live/${broadcastId}/end_broadcast/`,
42
- form: this.client.request.sign({
43
- _uuid: this.client.state.uuid,
44
- end_after_copyright_warning: endAfterCopyrightWarning ? '1' : '0',
45
- }),
46
- });
47
-
48
- return response.body;
49
- }
50
-
51
- async info(broadcastId) {
52
- const response = await this.client.request.send({
53
- method: 'GET',
54
- url: `/api/v1/live/${broadcastId}/info/`,
55
- });
56
-
57
- return response.body;
58
- }
59
-
60
- async getViewerList(broadcastId) {
61
- const response = await this.client.request.send({
62
- method: 'GET',
63
- url: `/api/v1/live/${broadcastId}/get_viewer_list/`,
64
- });
65
-
66
- return response.body;
67
- }
68
-
69
- async comment(broadcastId, message) {
70
- const response = await this.client.request.send({
71
- method: 'POST',
72
- url: `/api/v1/live/${broadcastId}/comment/`,
73
- form: this.client.request.sign({
74
- _uuid: this.client.state.uuid,
75
- user_breadcrumb: this.client.request.userBreadcrumb(message.length),
76
- idempotence_token: Date.now(),
77
- comment_text: message,
78
- live_or_vod: '1',
79
- offset: '0',
80
- }),
81
- });
82
-
83
- return response.body;
84
- }
85
-
86
- async like(broadcastId, likeCount = 1) {
87
- const response = await this.client.request.send({
88
- method: 'POST',
89
- url: `/api/v1/live/${broadcastId}/like/`,
90
- form: this.client.request.sign({
91
- _uuid: this.client.state.uuid,
92
- user_like_count: likeCount,
93
- }),
94
- });
95
-
96
- return response.body;
97
- }
98
-
99
- async getHeartbeatAndViewerCount(broadcastId) {
100
- const response = await this.client.request.send({
101
- method: 'POST',
102
- url: `/api/v1/live/${broadcastId}/heartbeat_and_get_viewer_count/`,
103
- form: this.client.request.sign({
104
- _uuid: this.client.state.uuid,
105
- offset_to_video_start: '0',
106
- }),
107
- });
108
-
109
- return response.body;
110
- }
111
-
112
- async muteComment(broadcastId, userId) {
113
- const response = await this.client.request.send({
114
- method: 'POST',
115
- url: `/api/v1/live/${broadcastId}/mute_comment/`,
116
- form: this.client.request.sign({
117
- _uuid: this.client.state.uuid,
118
- user_id: userId,
119
- }),
120
- });
121
-
122
- return response.body;
123
- }
124
-
125
- async unmuteComment(broadcastId, userId) {
126
- const response = await this.client.request.send({
127
- method: 'POST',
128
- url: `/api/v1/live/${broadcastId}/unmute_comment/`,
129
- form: this.client.request.sign({
130
- _uuid: this.client.state.uuid,
131
- user_id: userId,
132
- }),
133
- });
134
-
135
- return response.body;
136
- }
137
- }
138
-
139
- module.exports = LiveService;