nodejs-insta-private-api-mqt 1.3.84 → 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.
- package/dist/dist/constants/constants.d.ts +1 -0
- package/dist/dist/constants/index.d.ts +25 -0
- package/dist/dist/core/client.d.ts +106 -0
- package/dist/dist/core/nav-chain.d.ts +77 -0
- package/dist/dist/core/repository.d.ts +3 -0
- package/dist/dist/core/request.d.ts +76 -0
- package/dist/dist/core/state.d.ts +605 -0
- package/dist/dist/core/utils.d.ts +129 -0
- package/dist/dist/downloadMedia.d.ts +106 -0
- package/{dist-ts → dist}/dist/downloadMedia.js +19 -20
- package/dist/dist/errors/index.d.ts +18 -0
- package/dist/dist/extend.d.ts +20 -0
- package/dist/dist/fbns/fbns.client.d.ts +43 -0
- package/dist/dist/fbns/fbns.client.events.d.ts +0 -0
- package/{dist-ts → dist}/dist/fbns/fbns.client.js +4 -5
- package/dist/dist/fbns/fbns.device-auth.d.ts +9 -0
- package/{src-ts/dist/fbns/fbns.device-auth.ts → dist/dist/fbns/fbns.device-auth.js} +6 -3
- package/dist/dist/fbns/fbns.types.d.ts +0 -0
- package/dist/dist/fbns/fbns.utilities.d.ts +4 -0
- package/dist/dist/fbns/index.d.ts +2 -0
- package/dist/dist/index.d.ts +49 -0
- package/dist/dist/mqtt-shim.d.ts +1 -0
- package/dist/dist/mqttot/index.d.ts +2 -0
- package/dist/dist/mqttot/mqttot.client.d.ts +77 -0
- package/{dist-ts → dist}/dist/mqttot/mqttot.client.js +10 -10
- package/dist/dist/mqttot/mqttot.connect.request.packet.d.ts +1 -0
- package/dist/dist/mqttot/mqttot.connect.response.packet.d.ts +5 -0
- package/dist/dist/mqttot/mqttot.connection.d.ts +6 -0
- package/dist/dist/realtime/commands/commands.d.ts +19 -0
- package/dist/dist/realtime/commands/direct.commands.d.ts +142 -0
- package/dist/dist/realtime/commands/enhanced.direct.commands.d.ts +425 -0
- package/{dist-ts → dist}/dist/realtime/commands/enhanced.direct.commands.js +8 -10
- package/dist/dist/realtime/commands/index.d.ts +2 -0
- package/dist/dist/realtime/delta-sync.manager.d.ts +82 -0
- package/{dist-ts → dist}/dist/realtime/delta-sync.manager.js +7 -10
- package/dist/dist/realtime/features/dm-sender.d.ts +20 -0
- package/{src-ts/dist/realtime/features/dm-sender.ts → dist/dist/realtime/features/dm-sender.js} +6 -3
- package/dist/dist/realtime/features/error-handler.d.ts +33 -0
- package/{dist-ts → dist}/dist/realtime/features/error-handler.js +4 -4
- package/dist/dist/realtime/features/gap-handler.d.ts +19 -0
- package/dist/dist/realtime/features/persistent-logger.d.ts +28 -0
- package/{dist-ts → dist}/dist/realtime/features/persistent-logger.js +3 -3
- package/dist/dist/realtime/features/presence.manager.d.ts +24 -0
- package/{src-ts/dist/realtime/features/presence.manager.ts → dist/dist/realtime/features/presence.manager.js} +2 -1
- package/dist/dist/realtime/features/session-health-monitor.d.ts +93 -0
- package/{src-ts/dist/realtime/features/session-health-monitor.ts → dist/dist/realtime/features/session-health-monitor.js} +45 -65
- package/dist/dist/realtime/index.d.ts +9 -0
- package/dist/dist/realtime/messages/app-presence.event.d.ts +0 -0
- package/dist/dist/realtime/messages/index.d.ts +2 -0
- package/dist/dist/realtime/messages/message-sync.message.d.ts +1 -0
- package/dist/dist/realtime/messages/realtime-sub.direct.data.d.ts +0 -0
- package/dist/dist/realtime/messages/thread-update.message.d.ts +0 -0
- package/dist/dist/realtime/mixins/index.d.ts +2 -0
- package/dist/dist/realtime/mixins/message-sync.mixin.d.ts +38 -0
- package/{dist-ts → dist}/dist/realtime/mixins/message-sync.mixin.js +16 -18
- package/dist/dist/realtime/mixins/mixin.d.ts +4 -0
- package/dist/dist/realtime/mixins/presence-typing.mixin.d.ts +9 -0
- package/dist/dist/realtime/mixins/realtime-sub.mixin.d.ts +37 -0
- package/{dist-ts → dist}/dist/realtime/mixins/realtime-sub.mixin.js +4 -5
- package/dist/dist/realtime/parsers/graphql-parser.d.ts +18 -0
- package/dist/dist/realtime/parsers/graphql.parser.d.ts +10 -0
- package/{src-ts/dist/realtime/parsers/graphql.parser.ts → dist/dist/realtime/parsers/graphql.parser.js} +0 -1
- package/dist/dist/realtime/parsers/index.d.ts +2 -0
- package/dist/dist/realtime/parsers/iris-parser.d.ts +18 -0
- package/dist/dist/realtime/parsers/iris.parser.d.ts +3 -0
- package/dist/dist/realtime/parsers/json-parser.d.ts +18 -0
- package/dist/dist/realtime/parsers/json.parser.d.ts +6 -0
- package/dist/dist/realtime/parsers/parser.d.ts +0 -0
- package/dist/dist/realtime/parsers/region-hint-parser.d.ts +18 -0
- package/dist/dist/realtime/parsers/region-hint.parser.d.ts +4 -0
- package/dist/dist/realtime/parsers/skywalker-parser.d.ts +18 -0
- package/dist/dist/realtime/parsers/skywalker.parser.d.ts +7 -0
- package/dist/dist/realtime/parsers-advanced.d.ts +93 -0
- package/{dist-ts → dist}/dist/realtime/parsers-advanced.js +5 -8
- package/dist/dist/realtime/proto-parser.d.ts +27 -0
- package/{dist-ts → dist}/dist/realtime/proto-parser.js +1 -2
- package/dist/dist/realtime/protocols/iris.handshake.d.ts +41 -0
- package/dist/dist/realtime/protocols/proto-definitions.d.ts +0 -0
- package/dist/dist/realtime/protocols/skywalker.protocol.d.ts +20 -0
- package/{src-ts/dist/realtime/protocols/skywalker.protocol.ts → dist/dist/realtime/protocols/skywalker.protocol.js} +8 -5
- package/dist/dist/realtime/realtime.client.d.ts +169 -0
- package/dist/dist/realtime/realtime.client.events.d.ts +0 -0
- package/{dist-ts → dist}/dist/realtime/realtime.client.js +75 -86
- package/dist/dist/realtime/realtime.service.d.ts +109 -0
- package/dist/dist/realtime/reconnect.manager.d.ts +15 -0
- package/dist/dist/realtime/session.manager.d.ts +25 -0
- package/dist/dist/realtime/subscriptions/graphql.subscription.d.ts +4 -0
- package/dist/dist/realtime/subscriptions/index.d.ts +2 -0
- package/dist/dist/realtime/subscriptions/skywalker.subscription.d.ts +4 -0
- package/dist/dist/realtime/topic-map.d.ts +97 -0
- package/dist/dist/realtime/topic.d.ts +71 -0
- package/dist/dist/repositories/account.repository.d.ts +72 -0
- package/{dist-ts → dist}/dist/repositories/account.repository.js +4 -6
- package/dist/dist/repositories/bloks.repository.d.ts +6 -0
- package/dist/dist/repositories/captcha.repository.d.ts +6 -0
- package/dist/dist/repositories/challenge.repository.d.ts +12 -0
- package/{dist-ts → dist}/dist/repositories/challenge.repository.js +1 -2
- package/dist/dist/repositories/clip.repository.d.ts +10 -0
- package/dist/dist/repositories/close-friends.repository.d.ts +8 -0
- package/dist/dist/repositories/collection.repository.d.ts +8 -0
- package/dist/dist/repositories/direct-thread.repository.d.ts +88 -0
- package/{dist-ts → dist}/dist/repositories/direct-thread.repository.js +7 -9
- package/dist/dist/repositories/direct.repository.d.ts +22 -0
- package/{dist-ts → dist}/dist/repositories/direct.repository.js +4 -5
- package/dist/dist/repositories/explore.repository.d.ts +7 -0
- package/dist/dist/repositories/fbsearch.repository.d.ts +14 -0
- package/dist/dist/repositories/feed.repository.d.ts +19 -0
- package/dist/dist/repositories/friendship.repository.d.ts +26 -0
- package/dist/dist/repositories/fundraiser.repository.d.ts +6 -0
- package/dist/dist/repositories/hashtag.repository.d.ts +11 -0
- package/dist/dist/repositories/highlights.repository.d.ts +11 -0
- package/dist/dist/repositories/insights.repository.d.ts +8 -0
- package/dist/dist/repositories/location.repository.d.ts +9 -0
- package/dist/dist/repositories/media.repository.d.ts +41 -0
- package/{dist-ts → dist}/dist/repositories/media.repository.js +1 -2
- package/dist/dist/repositories/multiple-accounts.repository.d.ts +7 -0
- package/dist/dist/repositories/news.repository.d.ts +6 -0
- package/dist/dist/repositories/note.repository.d.ts +8 -0
- package/dist/dist/repositories/notification.repository.d.ts +33 -0
- package/{dist-ts → dist}/dist/repositories/notification.repository.js +1 -1
- package/dist/dist/repositories/share.repository.d.ts +12 -0
- package/dist/dist/repositories/signup.repository.d.ts +19 -0
- package/dist/dist/repositories/story.repository.d.ts +23 -0
- package/{dist-ts → dist}/dist/repositories/story.repository.js +1 -2
- package/dist/dist/repositories/timeline.repository.d.ts +7 -0
- package/dist/dist/repositories/totp.repository.d.ts +14 -0
- package/dist/dist/repositories/track.repository.d.ts +7 -0
- package/{dist-ts → dist}/dist/repositories/track.repository.js +1 -2
- package/dist/dist/repositories/upload.repository.d.ts +30 -0
- package/{dist-ts → dist}/dist/repositories/upload.repository.js +4 -5
- package/dist/dist/repositories/user.repository.d.ts +52 -0
- package/dist/dist/sendmedia/index.d.ts +12 -0
- package/dist/dist/sendmedia/sendFile.d.ts +8 -0
- package/dist/dist/sendmedia/sendPhoto.d.ts +26 -0
- package/dist/dist/sendmedia/sendRavenPhoto.d.ts +14 -0
- package/{dist-ts → dist}/dist/sendmedia/sendRavenPhoto.js +4 -5
- package/dist/dist/sendmedia/sendRavenVideo.d.ts +15 -0
- package/{dist-ts → dist}/dist/sendmedia/sendRavenVideo.js +4 -5
- package/dist/dist/sendmedia/uploadPhoto.d.ts +8 -0
- package/dist/dist/sendmedia/uploadfFile.d.ts +13 -0
- package/{dist-ts → dist}/dist/sendmedia/uploadfFile.js +3 -4
- package/dist/dist/services/live.service.d.ts +13 -0
- package/dist/dist/services/search.service.d.ts +11 -0
- package/dist/dist/shared/index.d.ts +4 -0
- package/{src-ts/dist/shared/index.ts → dist/dist/shared/index.js} +14 -13
- package/dist/dist/shared/shared.d.ts +15 -0
- package/dist/dist/thrift/index.d.ts +2 -0
- package/dist/dist/thrift/thrift.d.ts +11 -0
- package/dist/dist/thrift/thrift.reading.d.ts +49 -0
- package/{dist-ts → dist}/dist/thrift/thrift.reading.js +3 -5
- package/dist/dist/thrift/thrift.writing.d.ts +49 -0
- package/{dist-ts → dist}/dist/thrift/thrift.writing.js +2 -4
- package/dist/dist/types/index.d.ts +28 -0
- package/dist/dist/useMultiFileAuthState.d.ts +267 -0
- package/{dist-ts → dist}/dist/useMultiFileAuthState.js +47 -61
- package/dist/dist/utils/helper-1.d.ts +0 -0
- package/dist/dist/utils/helper-10.d.ts +0 -0
- package/dist/dist/utils/helper-11.d.ts +0 -0
- package/dist/dist/utils/helper-12.d.ts +0 -0
- package/dist/dist/utils/helper-13.d.ts +0 -0
- package/dist/dist/utils/helper-14.d.ts +0 -0
- package/dist/dist/utils/helper-15.d.ts +0 -0
- package/dist/dist/utils/helper-16.d.ts +0 -0
- package/dist/dist/utils/helper-17.d.ts +0 -0
- package/dist/dist/utils/helper-18.d.ts +0 -0
- package/dist/dist/utils/helper-19.d.ts +0 -0
- package/dist/dist/utils/helper-2.d.ts +0 -0
- package/dist/dist/utils/helper-20.d.ts +0 -0
- package/dist/dist/utils/helper-21.d.ts +0 -0
- package/dist/dist/utils/helper-22.d.ts +0 -0
- package/dist/dist/utils/helper-23.d.ts +0 -0
- package/dist/dist/utils/helper-24.d.ts +0 -0
- package/dist/dist/utils/helper-25.d.ts +0 -0
- package/dist/dist/utils/helper-26.d.ts +0 -0
- package/dist/dist/utils/helper-27.d.ts +0 -0
- package/dist/dist/utils/helper-28.d.ts +0 -0
- package/dist/dist/utils/helper-29.d.ts +0 -0
- package/dist/dist/utils/helper-3.d.ts +0 -0
- package/dist/dist/utils/helper-30.d.ts +0 -0
- package/dist/dist/utils/helper-4.d.ts +0 -0
- package/dist/dist/utils/helper-5.d.ts +0 -0
- package/dist/dist/utils/helper-6.d.ts +0 -0
- package/dist/dist/utils/helper-7.d.ts +0 -0
- package/dist/dist/utils/helper-8.d.ts +0 -0
- package/dist/dist/utils/helper-9.d.ts +0 -0
- package/dist/dist/utils/index.d.ts +56 -0
- package/{dist-ts → dist}/dist/utils/index.js +1 -2
- package/dist/dist/utils/insta-mqtt-helper.d.ts +30 -0
- package/dist/examples/listen-to-messages.d.ts +4 -0
- package/{dist-ts → dist}/examples/listen-to-messages.js +1 -2
- package/package.json +41 -38
- package/dist-ts/dist/fbns/fbns.device-auth.js +0 -59
- package/dist-ts/dist/realtime/features/dm-sender.js +0 -94
- package/dist-ts/dist/realtime/features/presence.manager.js +0 -68
- package/dist-ts/dist/realtime/features/session-health-monitor.js +0 -327
- package/dist-ts/dist/realtime/parsers/graphql.parser.js +0 -22
- package/dist-ts/dist/realtime/protocols/skywalker.protocol.js +0 -96
- package/dist-ts/dist/shared/index.js +0 -98
- package/examples/listen-to-messages.js +0 -86
- package/src-ts/dist/constants/constants.ts +0 -342
- package/src-ts/dist/constants/index.ts +0 -58
- package/src-ts/dist/core/client.ts +0 -419
- package/src-ts/dist/core/nav-chain.ts +0 -282
- package/src-ts/dist/core/repository.ts +0 -7
- package/src-ts/dist/core/request.ts +0 -395
- package/src-ts/dist/core/state.ts +0 -1484
- package/src-ts/dist/core/utils.ts +0 -786
- package/src-ts/dist/downloadMedia.ts +0 -381
- package/src-ts/dist/errors/index.ts +0 -38
- package/src-ts/dist/extend.ts +0 -167
- package/src-ts/dist/fbns/fbns.client.events.ts +0 -3
- package/src-ts/dist/fbns/fbns.client.ts +0 -252
- package/src-ts/dist/fbns/fbns.types.ts +0 -3
- package/src-ts/dist/fbns/fbns.utilities.ts +0 -79
- package/src-ts/dist/fbns/index.ts +0 -21
- package/src-ts/dist/index.ts +0 -139
- package/src-ts/dist/mqtt-shim.ts +0 -15
- package/src-ts/dist/mqttot/index.ts +0 -21
- package/src-ts/dist/mqttot/mqttot.client.ts +0 -318
- package/src-ts/dist/mqttot/mqttot.connect.request.packet.ts +0 -9
- package/src-ts/dist/mqttot/mqttot.connect.response.packet.ts +0 -24
- package/src-ts/dist/mqttot/mqttot.connection.ts +0 -77
- package/src-ts/dist/realtime/commands/commands.ts +0 -71
- package/src-ts/dist/realtime/commands/direct.commands.ts +0 -417
- package/src-ts/dist/realtime/commands/enhanced.direct.commands.ts +0 -1731
- package/src-ts/dist/realtime/commands/index.ts +0 -20
- package/src-ts/dist/realtime/delta-sync.manager.ts +0 -293
- package/src-ts/dist/realtime/features/error-handler.ts +0 -185
- package/src-ts/dist/realtime/features/gap-handler.ts +0 -61
- package/src-ts/dist/realtime/features/persistent-logger.ts +0 -186
- package/src-ts/dist/realtime/index.ts +0 -30
- package/src-ts/dist/realtime/messages/app-presence.event.ts +0 -3
- package/src-ts/dist/realtime/messages/index.ts +0 -20
- package/src-ts/dist/realtime/messages/message-sync.message.ts +0 -43
- package/src-ts/dist/realtime/messages/realtime-sub.direct.data.ts +0 -3
- package/src-ts/dist/realtime/messages/thread-update.message.ts +0 -3
- package/src-ts/dist/realtime/mixins/index.ts +0 -20
- package/src-ts/dist/realtime/mixins/message-sync.mixin.ts +0 -596
- package/src-ts/dist/realtime/mixins/mixin.ts +0 -41
- package/src-ts/dist/realtime/mixins/presence-typing.mixin.ts +0 -33
- package/src-ts/dist/realtime/mixins/realtime-sub.mixin.ts +0 -181
- package/src-ts/dist/realtime/parsers/graphql-parser.ts +0 -43
- package/src-ts/dist/realtime/parsers/index.ts +0 -23
- package/src-ts/dist/realtime/parsers/iris-parser.ts +0 -43
- package/src-ts/dist/realtime/parsers/iris.parser.ts +0 -10
- package/src-ts/dist/realtime/parsers/json-parser.ts +0 -43
- package/src-ts/dist/realtime/parsers/json.parser.ts +0 -10
- package/src-ts/dist/realtime/parsers/parser.ts +0 -3
- package/src-ts/dist/realtime/parsers/region-hint-parser.ts +0 -43
- package/src-ts/dist/realtime/parsers/region-hint.parser.ts +0 -15
- package/src-ts/dist/realtime/parsers/skywalker-parser.ts +0 -43
- package/src-ts/dist/realtime/parsers/skywalker.parser.ts +0 -15
- package/src-ts/dist/realtime/parsers-advanced.ts +0 -158
- package/src-ts/dist/realtime/proto-parser.ts +0 -195
- package/src-ts/dist/realtime/protocols/iris.handshake.ts +0 -74
- package/src-ts/dist/realtime/protocols/proto-definitions.ts +0 -80
- package/src-ts/dist/realtime/realtime.client.events.ts +0 -3
- package/src-ts/dist/realtime/realtime.client.ts +0 -1996
- package/src-ts/dist/realtime/realtime.service.ts +0 -462
- package/src-ts/dist/realtime/reconnect.manager.ts +0 -88
- package/src-ts/dist/realtime/session.manager.ts +0 -121
- package/src-ts/dist/realtime/subscriptions/graphql.subscription.ts +0 -99
- package/src-ts/dist/realtime/subscriptions/index.ts +0 -19
- package/src-ts/dist/realtime/subscriptions/skywalker.subscription.ts +0 -13
- package/src-ts/dist/realtime/topic-map.ts +0 -71
- package/src-ts/dist/realtime/topic.ts +0 -80
- package/src-ts/dist/repositories/account.repository.ts +0 -1384
- package/src-ts/dist/repositories/bloks.repository.ts +0 -70
- package/src-ts/dist/repositories/captcha.repository.ts +0 -44
- package/src-ts/dist/repositories/challenge.repository.ts +0 -120
- package/src-ts/dist/repositories/clip.repository.ts +0 -165
- package/src-ts/dist/repositories/close-friends.repository.ts +0 -46
- package/src-ts/dist/repositories/collection.repository.ts +0 -68
- package/src-ts/dist/repositories/direct-thread.repository.ts +0 -446
- package/src-ts/dist/repositories/direct.repository.ts +0 -266
- package/src-ts/dist/repositories/explore.repository.ts +0 -70
- package/src-ts/dist/repositories/fbsearch.repository.ts +0 -140
- package/src-ts/dist/repositories/feed.repository.ts +0 -245
- package/src-ts/dist/repositories/friendship.repository.ts +0 -296
- package/src-ts/dist/repositories/fundraiser.repository.ts +0 -49
- package/src-ts/dist/repositories/hashtag.repository.ts +0 -99
- package/src-ts/dist/repositories/highlights.repository.ts +0 -121
- package/src-ts/dist/repositories/insights.repository.ts +0 -82
- package/src-ts/dist/repositories/location.repository.ts +0 -84
- package/src-ts/dist/repositories/media.repository.ts +0 -395
- package/src-ts/dist/repositories/multiple-accounts.repository.ts +0 -41
- package/src-ts/dist/repositories/news.repository.ts +0 -35
- package/src-ts/dist/repositories/note.repository.ts +0 -57
- package/src-ts/dist/repositories/notification.repository.ts +0 -79
- package/src-ts/dist/repositories/share.repository.ts +0 -35
- package/src-ts/dist/repositories/signup.repository.ts +0 -218
- package/src-ts/dist/repositories/story.repository.ts +0 -290
- package/src-ts/dist/repositories/timeline.repository.ts +0 -60
- package/src-ts/dist/repositories/totp.repository.ts +0 -139
- package/src-ts/dist/repositories/track.repository.ts +0 -53
- package/src-ts/dist/repositories/upload.repository.ts +0 -204
- package/src-ts/dist/repositories/user.repository.ts +0 -360
- package/src-ts/dist/sendmedia/index.ts +0 -27
- package/src-ts/dist/sendmedia/sendFile.ts +0 -72
- package/src-ts/dist/sendmedia/sendPhoto.ts +0 -142
- package/src-ts/dist/sendmedia/sendRavenPhoto.ts +0 -153
- package/src-ts/dist/sendmedia/sendRavenVideo.ts +0 -158
- package/src-ts/dist/sendmedia/uploadPhoto.ts +0 -107
- package/src-ts/dist/sendmedia/uploadfFile.ts +0 -130
- package/src-ts/dist/services/live.service.ts +0 -139
- package/src-ts/dist/services/search.service.ts +0 -115
- package/src-ts/dist/shared/shared.ts +0 -86
- package/src-ts/dist/thrift/index.ts +0 -20
- package/src-ts/dist/thrift/thrift.reading.ts +0 -368
- package/src-ts/dist/thrift/thrift.ts +0 -111
- package/src-ts/dist/thrift/thrift.writing.ts +0 -396
- package/src-ts/dist/types/index.ts +0 -285
- package/src-ts/dist/useMultiFileAuthState.ts +0 -1800
- package/src-ts/dist/utils/helper-1.ts +0 -1
- package/src-ts/dist/utils/helper-10.ts +0 -1
- package/src-ts/dist/utils/helper-11.ts +0 -1
- package/src-ts/dist/utils/helper-12.ts +0 -1
- package/src-ts/dist/utils/helper-13.ts +0 -1
- package/src-ts/dist/utils/helper-14.ts +0 -1
- package/src-ts/dist/utils/helper-15.ts +0 -1
- package/src-ts/dist/utils/helper-16.ts +0 -1
- package/src-ts/dist/utils/helper-17.ts +0 -1
- package/src-ts/dist/utils/helper-18.ts +0 -1
- package/src-ts/dist/utils/helper-19.ts +0 -1
- package/src-ts/dist/utils/helper-2.ts +0 -1
- package/src-ts/dist/utils/helper-20.ts +0 -1
- package/src-ts/dist/utils/helper-21.ts +0 -1
- package/src-ts/dist/utils/helper-22.ts +0 -1
- package/src-ts/dist/utils/helper-23.ts +0 -1
- package/src-ts/dist/utils/helper-24.ts +0 -1
- package/src-ts/dist/utils/helper-25.ts +0 -1
- package/src-ts/dist/utils/helper-26.ts +0 -1
- package/src-ts/dist/utils/helper-27.ts +0 -1
- package/src-ts/dist/utils/helper-28.ts +0 -1
- package/src-ts/dist/utils/helper-29.ts +0 -1
- package/src-ts/dist/utils/helper-3.ts +0 -1
- package/src-ts/dist/utils/helper-30.ts +0 -1
- package/src-ts/dist/utils/helper-4.ts +0 -1
- package/src-ts/dist/utils/helper-5.ts +0 -1
- package/src-ts/dist/utils/helper-6.ts +0 -1
- package/src-ts/dist/utils/helper-7.ts +0 -1
- package/src-ts/dist/utils/helper-8.ts +0 -1
- package/src-ts/dist/utils/helper-9.ts +0 -1
- package/src-ts/dist/utils/index.ts +0 -280
- package/src-ts/dist/utils/insta-mqtt-helper.ts +0 -128
- package/src-ts/examples/listen-to-messages.ts +0 -86
- /package/{dist-ts → dist}/dist/constants/constants.js +0 -0
- /package/{dist-ts → dist}/dist/constants/index.js +0 -0
- /package/{dist-ts → dist}/dist/core/client.js +0 -0
- /package/{dist-ts → dist}/dist/core/nav-chain.js +0 -0
- /package/{dist-ts → dist}/dist/core/repository.js +0 -0
- /package/{dist-ts → dist}/dist/core/request.js +0 -0
- /package/{dist-ts → dist}/dist/core/state.js +0 -0
- /package/{dist-ts → dist}/dist/core/utils.js +0 -0
- /package/{dist-ts → dist}/dist/errors/index.js +0 -0
- /package/{dist-ts → dist}/dist/extend.js +0 -0
- /package/{dist-ts → dist}/dist/fbns/fbns.client.events.js +0 -0
- /package/{dist-ts → dist}/dist/fbns/fbns.types.js +0 -0
- /package/{dist-ts → dist}/dist/fbns/fbns.utilities.js +0 -0
- /package/{dist-ts → dist}/dist/fbns/index.js +0 -0
- /package/{dist-ts → dist}/dist/index.js +0 -0
- /package/{dist-ts → dist}/dist/mqtt-shim.js +0 -0
- /package/{dist-ts → dist}/dist/mqttot/index.js +0 -0
- /package/{dist-ts → dist}/dist/mqttot/mqttot.connect.request.packet.js +0 -0
- /package/{dist-ts → dist}/dist/mqttot/mqttot.connect.response.packet.js +0 -0
- /package/{dist-ts → dist}/dist/mqttot/mqttot.connection.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/commands/commands.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/commands/direct.commands.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/commands/index.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/features/gap-handler.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/index.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/messages/app-presence.event.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/messages/index.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/messages/message-sync.message.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/messages/realtime-sub.direct.data.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/messages/thread-update.message.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/mixins/index.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/mixins/mixin.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/mixins/presence-typing.mixin.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/graphql-parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/index.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/iris-parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/iris.parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/json-parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/json.parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/region-hint-parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/region-hint.parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/skywalker-parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/parsers/skywalker.parser.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/protocols/iris.handshake.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/protocols/proto-definitions.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/realtime.client.events.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/realtime.service.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/reconnect.manager.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/session.manager.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/subscriptions/graphql.subscription.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/subscriptions/index.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/subscriptions/skywalker.subscription.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/topic-map.js +0 -0
- /package/{dist-ts → dist}/dist/realtime/topic.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/bloks.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/captcha.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/clip.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/close-friends.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/collection.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/explore.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/fbsearch.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/feed.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/friendship.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/fundraiser.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/hashtag.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/highlights.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/insights.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/location.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/multiple-accounts.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/news.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/note.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/share.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/signup.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/timeline.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/totp.repository.js +0 -0
- /package/{dist-ts → dist}/dist/repositories/user.repository.js +0 -0
- /package/{dist-ts → dist}/dist/sendmedia/index.js +0 -0
- /package/{dist-ts → dist}/dist/sendmedia/sendFile.js +0 -0
- /package/{dist-ts → dist}/dist/sendmedia/sendPhoto.js +0 -0
- /package/{dist-ts → dist}/dist/sendmedia/uploadPhoto.js +0 -0
- /package/{dist-ts → dist}/dist/services/live.service.js +0 -0
- /package/{dist-ts → dist}/dist/services/search.service.js +0 -0
- /package/{dist-ts → dist}/dist/shared/shared.js +0 -0
- /package/{dist-ts → dist}/dist/thrift/index.js +0 -0
- /package/{dist-ts → dist}/dist/thrift/thrift.js +0 -0
- /package/{dist-ts → dist}/dist/types/index.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-1.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-10.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-11.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-12.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-13.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-14.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-15.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-16.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-17.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-18.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-19.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-2.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-20.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-21.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-22.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-23.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-24.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-25.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-26.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-27.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-28.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-29.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-3.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-30.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-4.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-5.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-6.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-7.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-8.js +0 -0
- /package/{dist-ts → dist}/dist/utils/helper-9.js +0 -0
- /package/{dist-ts → dist}/dist/utils/insta-mqtt-helper.js +0 -0
|
@@ -95,7 +95,6 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
95
95
|
}
|
|
96
96
|
// sanitize state to avoid nulls for key fields (useful to ensure instant non-null)
|
|
97
97
|
_sanitizeForSave(key, data) {
|
|
98
|
-
var _a, _b, _c, _d;
|
|
99
98
|
try {
|
|
100
99
|
if (!data)
|
|
101
100
|
return data;
|
|
@@ -134,9 +133,9 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
134
133
|
data.updatedAt = new Date().toISOString();
|
|
135
134
|
}
|
|
136
135
|
if (key === 'mqttCapabilities') {
|
|
137
|
-
data.supportsTyping = Boolean(
|
|
138
|
-
data.supportsReactions = Boolean(
|
|
139
|
-
data.supportsVoice = Boolean(
|
|
136
|
+
data.supportsTyping = Boolean(data.supportsTyping ?? true);
|
|
137
|
+
data.supportsReactions = Boolean(data.supportsReactions ?? true);
|
|
138
|
+
data.supportsVoice = Boolean(data.supportsVoice ?? false);
|
|
140
139
|
data.protocolVersion = data.protocolVersion || 3;
|
|
141
140
|
data.collectedAt = data.collectedAt || new Date().toISOString();
|
|
142
141
|
}
|
|
@@ -158,7 +157,7 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
158
157
|
return [];
|
|
159
158
|
}
|
|
160
159
|
if (key === 'mqttSubscriptionHealth') {
|
|
161
|
-
data.expected = data.expected || (
|
|
160
|
+
data.expected = data.expected || (this.getMqttTopics()?.topics || ['ig_sub_direct']);
|
|
162
161
|
data.active = data.active || data.expected.slice();
|
|
163
162
|
data.lastCheck = data.lastCheck || new Date().toISOString();
|
|
164
163
|
data.needsResubscribe = data.needsResubscribe || false;
|
|
@@ -253,7 +252,6 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
253
252
|
}
|
|
254
253
|
}
|
|
255
254
|
async loadAll() {
|
|
256
|
-
var _a, _b;
|
|
257
255
|
this._ensureFolder();
|
|
258
256
|
this._ensureBackupFolder();
|
|
259
257
|
const loadPromises = Object.keys(FILE_NAMES).map(async (key) => {
|
|
@@ -283,7 +281,7 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
283
281
|
if (!this.data.mqttOutbox)
|
|
284
282
|
this.data.mqttOutbox = [];
|
|
285
283
|
if (!this.data.mqttSubscriptionHealth)
|
|
286
|
-
this.data.mqttSubscriptionHealth = { expected: (
|
|
284
|
+
this.data.mqttSubscriptionHealth = { expected: (this.data.mqttTopics?.topics || ['ig_sub_direct']), active: (this.data.mqttTopics?.topics || ['ig_sub_direct']).slice(), lastCheck: new Date().toISOString(), needsResubscribe: false };
|
|
287
285
|
if (!this.data.mqttTraffic)
|
|
288
286
|
this.data.mqttTraffic = { messagesInPerMin: 0, messagesOutPerMin: 0, lastReset: new Date().toISOString() };
|
|
289
287
|
if (!this.data.mqttRisk)
|
|
@@ -557,17 +555,15 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
557
555
|
}
|
|
558
556
|
// mark pong received and update latency
|
|
559
557
|
markPong() {
|
|
560
|
-
var _a, _b;
|
|
561
558
|
const now = Date.now();
|
|
562
|
-
const lastPing =
|
|
559
|
+
const lastPing = this.data.mqttHealth?.lastPingAt ? new Date(this.data.mqttHealth.lastPingAt).getTime() : null;
|
|
563
560
|
const latency = lastPing ? (now - lastPing) : 0;
|
|
564
|
-
const missed = Math.max(0, (
|
|
561
|
+
const missed = Math.max(0, (this.data.mqttHealth?.missedPings || 0) - 1);
|
|
565
562
|
this._updateMqttHealth({ lastPongAt: new Date().toISOString(), latencyMs: latency, missedPings: missed });
|
|
566
563
|
}
|
|
567
564
|
// increment missed ping
|
|
568
565
|
markMissedPing() {
|
|
569
|
-
|
|
570
|
-
const missed = (((_a = this.data.mqttHealth) === null || _a === void 0 ? void 0 : _a.missedPings) || 0) + 1;
|
|
566
|
+
const missed = (this.data.mqttHealth?.missedPings || 0) + 1;
|
|
571
567
|
this._updateMqttHealth({ missedPings: missed });
|
|
572
568
|
}
|
|
573
569
|
// message deduplication: return true if duplicate
|
|
@@ -673,16 +669,15 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
673
669
|
}
|
|
674
670
|
// subscription watchdog: check and attempt resubscribe
|
|
675
671
|
async checkSubscriptions(realtimeClient) {
|
|
676
|
-
var _a, _b, _c, _d;
|
|
677
672
|
try {
|
|
678
|
-
const expected =
|
|
673
|
+
const expected = this.data.mqttSubscriptionHealth?.expected || (this.data.mqttTopics?.topics || []);
|
|
679
674
|
let active = [];
|
|
680
675
|
// try to read from client
|
|
681
|
-
if (
|
|
676
|
+
if (realtimeClient?.connection?.subscribedTopics)
|
|
682
677
|
active = realtimeClient.connection.subscribedTopics;
|
|
683
|
-
else if (realtimeClient
|
|
678
|
+
else if (realtimeClient?._subscribedTopics)
|
|
684
679
|
active = realtimeClient._subscribedTopics;
|
|
685
|
-
else if (Array.isArray(
|
|
680
|
+
else if (Array.isArray(this.data.mqttTopics?.topics))
|
|
686
681
|
active = this.data.mqttTopics.topics;
|
|
687
682
|
const needs = expected.filter(t => !active.includes(t));
|
|
688
683
|
this.data.mqttSubscriptionHealth = {
|
|
@@ -742,11 +737,10 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
742
737
|
}
|
|
743
738
|
// compute simple risk score from reconnects, errors, traffic
|
|
744
739
|
_computeRiskScore() {
|
|
745
|
-
var _a, _b, _c;
|
|
746
740
|
try {
|
|
747
|
-
const reconnects =
|
|
748
|
-
const errors =
|
|
749
|
-
const outPerMin =
|
|
741
|
+
const reconnects = this.data.usageStats?.reconnects || 0;
|
|
742
|
+
const errors = this.data.usageStats?.errors || 0;
|
|
743
|
+
const outPerMin = this.data.mqttTraffic?.messagesOutPerMin || 0;
|
|
750
744
|
// simple heuristic
|
|
751
745
|
let score = 0;
|
|
752
746
|
score += Math.min(1, reconnects / 10) * 0.4;
|
|
@@ -819,7 +813,6 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
819
813
|
}
|
|
820
814
|
// warm-restore: apply saved options into realtimeClient before connect to speed startup
|
|
821
815
|
warmRestoreClient(realtimeClient) {
|
|
822
|
-
var _a;
|
|
823
816
|
try {
|
|
824
817
|
const opts = this.getMqttConnectOptions();
|
|
825
818
|
if (!opts)
|
|
@@ -832,7 +825,7 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
832
825
|
realtimeClient.initOptions = opts;
|
|
833
826
|
}
|
|
834
827
|
// also set connection clientInfo if supported
|
|
835
|
-
if (realtimeClient.connection && realtimeClient.connection.clientInfo &&
|
|
828
|
+
if (realtimeClient.connection && realtimeClient.connection.clientInfo && this.data.mqttSession?.mqttSessionId) {
|
|
836
829
|
realtimeClient.connection.clientInfo.clientMqttSessionId = this.data.mqttSession.mqttSessionId;
|
|
837
830
|
}
|
|
838
831
|
this.emit('warm-restore', { options: opts });
|
|
@@ -875,10 +868,9 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
875
868
|
}
|
|
876
869
|
// after ping, schedule missed ping detection
|
|
877
870
|
setTimeout(() => {
|
|
878
|
-
var _a, _b;
|
|
879
871
|
// if lastPongAt older than lastPingAt, consider missed
|
|
880
|
-
const lastPing = new Date(
|
|
881
|
-
const lastPong = new Date(
|
|
872
|
+
const lastPing = new Date(this.data.mqttHealth?.lastPingAt || 0).getTime();
|
|
873
|
+
const lastPong = new Date(this.data.mqttHealth?.lastPongAt || 0).getTime();
|
|
882
874
|
if (lastPing && (!lastPong || lastPong < lastPing)) {
|
|
883
875
|
this.markMissedPing();
|
|
884
876
|
}
|
|
@@ -925,8 +917,8 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
925
917
|
};
|
|
926
918
|
const onError = (err) => {
|
|
927
919
|
this.incrementStat('errors', 1);
|
|
928
|
-
this._scheduleReconnect(realtimeClient,
|
|
929
|
-
this.emit('realtime-error', { error:
|
|
920
|
+
this._scheduleReconnect(realtimeClient, err?.message || 'error');
|
|
921
|
+
this.emit('realtime-error', { error: err?.message || String(err) });
|
|
930
922
|
};
|
|
931
923
|
const onMessage = async (topic, payload, packet) => {
|
|
932
924
|
// generic message handler: try to extract id for dedupe
|
|
@@ -1109,9 +1101,8 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
1109
1101
|
}
|
|
1110
1102
|
}
|
|
1111
1103
|
verifyDeviceFingerprint(deviceObj) {
|
|
1112
|
-
var _a;
|
|
1113
1104
|
try {
|
|
1114
|
-
const stored =
|
|
1105
|
+
const stored = this.data.device?.fingerprintHash || null;
|
|
1115
1106
|
if (!stored)
|
|
1116
1107
|
return true; // no lock present
|
|
1117
1108
|
const hash = this.computeDeviceFingerprint(deviceObj || this.data.device);
|
|
@@ -1156,15 +1147,14 @@ class MultiFileAuthState extends EventEmitter {
|
|
|
1156
1147
|
}
|
|
1157
1148
|
// --- Health check ---
|
|
1158
1149
|
getHealth() {
|
|
1159
|
-
var _a, _b, _c;
|
|
1160
1150
|
return {
|
|
1161
1151
|
validSession: this.hasValidSession(),
|
|
1162
1152
|
hasCookies: !!this.data.cookies,
|
|
1163
1153
|
hasMqtt: this.hasMqttSession(),
|
|
1164
|
-
lastLogin: (this.data.loginHistory &&
|
|
1154
|
+
lastLogin: (this.data.loginHistory && this.data.loginHistory[0]?.date) || null,
|
|
1165
1155
|
usageStats: this.getUsageStats(),
|
|
1166
|
-
accountStatus:
|
|
1167
|
-
deviceLocked: !!
|
|
1156
|
+
accountStatus: this.data.creds?.accountStatus || 'ok',
|
|
1157
|
+
deviceLocked: !!this.data.device?.locked,
|
|
1168
1158
|
mqttHealth: this.getMqttHealth(),
|
|
1169
1159
|
mqttRisk: this.getMqttRisk()
|
|
1170
1160
|
};
|
|
@@ -1190,7 +1180,6 @@ async function trySerializeCookieJar(igState) {
|
|
|
1190
1180
|
}
|
|
1191
1181
|
// Helper: try to read a cookie value from a tough-cookie Jar or equivalent
|
|
1192
1182
|
async function getCookieValueFromJar(cookieJar, name) {
|
|
1193
|
-
var _a, _b, _c, _d, _e;
|
|
1194
1183
|
if (!cookieJar)
|
|
1195
1184
|
return null;
|
|
1196
1185
|
// try getCookieString (tough-cookie)
|
|
@@ -1230,8 +1219,8 @@ async function getCookieValueFromJar(cookieJar, name) {
|
|
|
1230
1219
|
if (Array.isArray(cookies)) {
|
|
1231
1220
|
for (const c of cookies) {
|
|
1232
1221
|
// cookie object shapes vary: check common keys
|
|
1233
|
-
const key =
|
|
1234
|
-
const val =
|
|
1222
|
+
const key = c.key ?? c.name ?? c.name;
|
|
1223
|
+
const val = c.value ?? c.value ?? c.value;
|
|
1235
1224
|
if (key === name)
|
|
1236
1225
|
return val;
|
|
1237
1226
|
}
|
|
@@ -1251,7 +1240,7 @@ async function getCookieValueFromJar(cookieJar, name) {
|
|
|
1251
1240
|
if (cookieJar && typeof cookieJar === 'object' && cookieJar.cookies && Array.isArray(cookieJar.cookies)) {
|
|
1252
1241
|
const found = cookieJar.cookies.find(c => (c.key === name || c.name === name || c.name === name));
|
|
1253
1242
|
if (found)
|
|
1254
|
-
return
|
|
1243
|
+
return found.value ?? found.value;
|
|
1255
1244
|
}
|
|
1256
1245
|
}
|
|
1257
1246
|
catch (e) {
|
|
@@ -1280,7 +1269,6 @@ async function extractCookieFields(igState) {
|
|
|
1280
1269
|
return out;
|
|
1281
1270
|
}
|
|
1282
1271
|
async function extractStateData(igState) {
|
|
1283
|
-
var _a;
|
|
1284
1272
|
// Basic creds (existing)
|
|
1285
1273
|
const creds = {
|
|
1286
1274
|
authorization: igState.authorization || null,
|
|
@@ -1351,7 +1339,7 @@ async function extractStateData(igState) {
|
|
|
1351
1339
|
const csrfFromCookies = cookieFields.csrfTokenCookie || null;
|
|
1352
1340
|
const midFromCookies = cookieFields.midCookie || igState.mid || null;
|
|
1353
1341
|
// username if exposed on state
|
|
1354
|
-
const usernameFromState = igState.username || igState.userName ||
|
|
1342
|
+
const usernameFromState = igState.username || igState.userName || igState.user?.username || null;
|
|
1355
1343
|
// rankToken: if userId + uuid available, form `${userId}_${uuid}`
|
|
1356
1344
|
let rankToken = null;
|
|
1357
1345
|
try {
|
|
@@ -1529,7 +1517,6 @@ async function useMultiFileAuthState(folder) {
|
|
|
1529
1517
|
console.log('[useMultiFileAuthState] Credentials saved to', folder);
|
|
1530
1518
|
};
|
|
1531
1519
|
const saveMqttSession = async (realtimeClient) => {
|
|
1532
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9;
|
|
1533
1520
|
if (!realtimeClient) {
|
|
1534
1521
|
console.warn('[useMultiFileAuthState] No realtimeClient provided');
|
|
1535
1522
|
return;
|
|
@@ -1548,7 +1535,7 @@ async function useMultiFileAuthState(folder) {
|
|
|
1548
1535
|
mqttSession.sessionId = (typeof realtimeClient.extractSessionIdFromJWT === 'function') ? realtimeClient.extractSessionIdFromJWT() : null;
|
|
1549
1536
|
}
|
|
1550
1537
|
if (realtimeClient.connection) {
|
|
1551
|
-
mqttSession.mqttSessionId =
|
|
1538
|
+
mqttSession.mqttSessionId = realtimeClient.connection?.clientInfo?.clientMqttSessionId?.toString() || null;
|
|
1552
1539
|
}
|
|
1553
1540
|
}
|
|
1554
1541
|
catch (e) {
|
|
@@ -1556,13 +1543,13 @@ async function useMultiFileAuthState(folder) {
|
|
|
1556
1543
|
}
|
|
1557
1544
|
// subscriptions
|
|
1558
1545
|
const subscriptions = {
|
|
1559
|
-
graphQlSubs:
|
|
1560
|
-
skywalkerSubs:
|
|
1546
|
+
graphQlSubs: realtimeClient.initOptions?.graphQlSubs || [],
|
|
1547
|
+
skywalkerSubs: realtimeClient.initOptions?.skywalkerSubs || [],
|
|
1561
1548
|
subscribedAt: new Date().toISOString()
|
|
1562
1549
|
};
|
|
1563
1550
|
// seq ids (iris)
|
|
1564
1551
|
const seqIds = {};
|
|
1565
|
-
if (
|
|
1552
|
+
if (realtimeClient.initOptions?.irisData) {
|
|
1566
1553
|
seqIds.seq_id = realtimeClient.initOptions.irisData.seq_id || null;
|
|
1567
1554
|
seqIds.snapshot_at_ms = realtimeClient.initOptions.irisData.snapshot_at_ms || null;
|
|
1568
1555
|
}
|
|
@@ -1571,16 +1558,16 @@ async function useMultiFileAuthState(folder) {
|
|
|
1571
1558
|
const irisState = {};
|
|
1572
1559
|
try {
|
|
1573
1560
|
// try to glean from various possible places on realtimeClient
|
|
1574
|
-
irisState.subscription_id =
|
|
1575
|
-
irisState.user_id =
|
|
1576
|
-
irisState.device_id =
|
|
1561
|
+
irisState.subscription_id = realtimeClient.initOptions?.irisData?.subscription_id || realtimeClient.iris?.subscriptionId || realtimeClient.irisState?.subscription_id || null;
|
|
1562
|
+
irisState.user_id = realtimeClient.ig?.state?.cookieUserId || realtimeClient.ig?.state?.userId || irisState.user_id || null;
|
|
1563
|
+
irisState.device_id = realtimeClient.connection?.clientInfo?.deviceId || realtimeClient.initOptions?.deviceId || null;
|
|
1577
1564
|
irisState.created_at = new Date().toISOString();
|
|
1578
1565
|
}
|
|
1579
1566
|
catch (e) { }
|
|
1580
1567
|
// mqttTopics: topics observed/subscribed
|
|
1581
1568
|
const mqttTopics = {};
|
|
1582
1569
|
try {
|
|
1583
|
-
mqttTopics.topics =
|
|
1570
|
+
mqttTopics.topics = realtimeClient.connection?.subscribedTopics || realtimeClient._subscribedTopics || realtimeClient.subscribedTopics || [];
|
|
1584
1571
|
mqttTopics.updatedAt = new Date().toISOString();
|
|
1585
1572
|
}
|
|
1586
1573
|
catch (e) {
|
|
@@ -1590,18 +1577,18 @@ async function useMultiFileAuthState(folder) {
|
|
|
1590
1577
|
// mqttCapabilities: features supported / protocol version
|
|
1591
1578
|
const mqttCapabilities = {};
|
|
1592
1579
|
try {
|
|
1593
|
-
mqttCapabilities.supportsTyping = Boolean(
|
|
1594
|
-
mqttCapabilities.supportsReactions = Boolean(
|
|
1595
|
-
mqttCapabilities.supportsVoice = Boolean(
|
|
1596
|
-
mqttCapabilities.protocolVersion =
|
|
1580
|
+
mqttCapabilities.supportsTyping = Boolean(realtimeClient.initOptions?.supportsTyping ?? realtimeClient.capabilities?.supportsTyping);
|
|
1581
|
+
mqttCapabilities.supportsReactions = Boolean(realtimeClient.initOptions?.supportsReactions ?? realtimeClient.capabilities?.supportsReactions);
|
|
1582
|
+
mqttCapabilities.supportsVoice = Boolean(realtimeClient.initOptions?.supportsVoice ?? realtimeClient.capabilities?.supportsVoice);
|
|
1583
|
+
mqttCapabilities.protocolVersion = realtimeClient.connection?.protocolVersion || realtimeClient.initOptions?.protocolVersion || null;
|
|
1597
1584
|
mqttCapabilities.collectedAt = new Date().toISOString();
|
|
1598
1585
|
}
|
|
1599
1586
|
catch (e) { }
|
|
1600
1587
|
// mqttAuth: if realtimeClient keeps an auth token / jwt for mqtt, store (but be careful: short lived)
|
|
1601
1588
|
const mqttAuth = {};
|
|
1602
1589
|
try {
|
|
1603
|
-
mqttAuth.jwt =
|
|
1604
|
-
mqttAuth.expiresAt =
|
|
1590
|
+
mqttAuth.jwt = realtimeClient.connection?.authToken || realtimeClient.mqttAuth?.jwt || realtimeClient.initOptions?.mqttJwt || null;
|
|
1591
|
+
mqttAuth.expiresAt = realtimeClient.connection?.authExpiresAt || realtimeClient.mqttAuth?.expiresAt || null;
|
|
1605
1592
|
mqttAuth.collectedAt = new Date().toISOString();
|
|
1606
1593
|
}
|
|
1607
1594
|
catch (e) { }
|
|
@@ -1641,16 +1628,15 @@ async function useMultiFileAuthState(folder) {
|
|
|
1641
1628
|
return true;
|
|
1642
1629
|
};
|
|
1643
1630
|
const getMqttConnectOptions = () => {
|
|
1644
|
-
var _a, _b, _c, _d;
|
|
1645
1631
|
if (!authState.hasMqttSession()) {
|
|
1646
1632
|
// still return a warm default to help warm-restore
|
|
1647
1633
|
const defaultTopics = ['ig_sub_direct', 'ig_sub_direct_v2_message_sync'];
|
|
1648
1634
|
return {
|
|
1649
1635
|
graphQlSubs: defaultTopics,
|
|
1650
1636
|
skywalkerSubs: ['presence_subscribe', 'typing_subscribe'],
|
|
1651
|
-
irisData: { seq_id:
|
|
1652
|
-
mqttAuthToken:
|
|
1653
|
-
mqttAuthExpiresAt:
|
|
1637
|
+
irisData: { seq_id: authState.getSeqIds()?.seq_id || 0, snapshot_at_ms: authState.getSeqIds()?.snapshot_at_ms || Date.now() },
|
|
1638
|
+
mqttAuthToken: authState.getMqttAuth()?.jwt || null,
|
|
1639
|
+
mqttAuthExpiresAt: authState.getMqttAuth()?.expiresAt || null
|
|
1654
1640
|
};
|
|
1655
1641
|
}
|
|
1656
1642
|
const subs = authState.getSubscriptions() || {};
|
|
@@ -1663,8 +1649,8 @@ async function useMultiFileAuthState(folder) {
|
|
|
1663
1649
|
seq_id: seqIds.seq_id,
|
|
1664
1650
|
snapshot_at_ms: seqIds.snapshot_at_ms
|
|
1665
1651
|
} : { seq_id: 0, snapshot_at_ms: Date.now() },
|
|
1666
|
-
mqttAuthToken:
|
|
1667
|
-
mqttAuthExpiresAt:
|
|
1652
|
+
mqttAuthToken: mqttAuth?.jwt || null,
|
|
1653
|
+
mqttAuthExpiresAt: mqttAuth?.expiresAt || null
|
|
1668
1654
|
};
|
|
1669
1655
|
};
|
|
1670
1656
|
const clearSession = async () => {
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
declare const crypto: any;
|
|
2
|
+
declare const random: any;
|
|
3
|
+
declare class Utils {
|
|
4
|
+
static generateUUID(): string;
|
|
5
|
+
static generateRandomString(length: any): string;
|
|
6
|
+
static generateDeviceId(): string;
|
|
7
|
+
static generatePhoneId(): string;
|
|
8
|
+
static generateAdId(): string;
|
|
9
|
+
static sleep(ms: any): Promise<unknown>;
|
|
10
|
+
static randomDelay(min?: number, max?: number): Promise<unknown>;
|
|
11
|
+
static md5(data: any): any;
|
|
12
|
+
static sha256(data: any): any;
|
|
13
|
+
static hmacSha256(data: any, key: any): any;
|
|
14
|
+
static base64Encode(data: any): string;
|
|
15
|
+
static base64Decode(data: any): string;
|
|
16
|
+
static getCurrentTimestamp(): number;
|
|
17
|
+
static getTimestampMs(): number;
|
|
18
|
+
static formatUserAgent(appVersion: any, deviceString: any, language: any, appVersionCode: any): string;
|
|
19
|
+
static formatWebUserAgent(devicePayload: any, build: any, appUserAgent: any): string;
|
|
20
|
+
static parseUserId(userIdOrUsername: any): any;
|
|
21
|
+
static isValidEmail(email: any): boolean;
|
|
22
|
+
static isValidUsername(username: any): boolean;
|
|
23
|
+
static sanitizeCaption(caption: any): any;
|
|
24
|
+
static chunkArray(array: any, chunkSize: any): any[];
|
|
25
|
+
static retryOperation(operation: any, maxRetries?: number, delay?: number): Promise<unknown>;
|
|
26
|
+
static validateFileSize(filePath: any, maxSizeBytes: any): boolean;
|
|
27
|
+
static getFileExtension(filePath: any): any;
|
|
28
|
+
static isImageFile(filePath: any): boolean;
|
|
29
|
+
static isVideoFile(filePath: any): boolean;
|
|
30
|
+
static humanizeError(error: any): any;
|
|
31
|
+
static rateLimitDelay(retryAfter?: any): any;
|
|
32
|
+
static createUserAgentFromDevice(device: any): string;
|
|
33
|
+
static generateSecureRandomString(length: any): string;
|
|
34
|
+
static fileHash(filePath: any, algorithm?: string): any;
|
|
35
|
+
static prettyBytes(bytes: any): string;
|
|
36
|
+
static retryWithBackoff(operation: any, maxRetries?: number, baseDelay?: number): Promise<any>;
|
|
37
|
+
static logError(error: any, context?: string): void;
|
|
38
|
+
static debugLog(message: any): void;
|
|
39
|
+
static generateAndroidDevice(): {
|
|
40
|
+
android_release: string;
|
|
41
|
+
model: string;
|
|
42
|
+
manufacturer: string;
|
|
43
|
+
dpi: number;
|
|
44
|
+
resolution: string;
|
|
45
|
+
device: string;
|
|
46
|
+
cpu: string;
|
|
47
|
+
android_version: string;
|
|
48
|
+
};
|
|
49
|
+
static generateHeaders(userAgent: any): {
|
|
50
|
+
'User-Agent': any;
|
|
51
|
+
Accept: string;
|
|
52
|
+
'Accept-Language': string;
|
|
53
|
+
'X-Requested-With': string;
|
|
54
|
+
Connection: string;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -203,11 +203,10 @@ class Utils {
|
|
|
203
203
|
}
|
|
204
204
|
}
|
|
205
205
|
static logError(error, context = '') {
|
|
206
|
-
var _a;
|
|
207
206
|
console.error(`[${new Date().toISOString()}] ❌ ${context}:`, {
|
|
208
207
|
name: error.name,
|
|
209
208
|
message: error.message,
|
|
210
|
-
stack:
|
|
209
|
+
stack: error.stack?.split('\n').slice(0, 3).join('\n')
|
|
211
210
|
});
|
|
212
211
|
}
|
|
213
212
|
static debugLog(message) {
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
declare var __importDefault: any;
|
|
2
|
+
declare const async_hooks_1: any;
|
|
3
|
+
declare const async_mutex_1: any;
|
|
4
|
+
declare const p_queue_1: any;
|
|
5
|
+
declare const defaultLogger: {
|
|
6
|
+
trace: (obj: any, msg: any) => void;
|
|
7
|
+
debug: (obj: any, msg: any) => void;
|
|
8
|
+
info: (obj: any, msg: any) => void;
|
|
9
|
+
warn: (obj: any, msg: any) => void;
|
|
10
|
+
error: (obj: any, msg: any) => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Adds transaction capability and sequential processing to the Instagram Realtime Client
|
|
14
|
+
* ensuring messages are sent in order (e.g. "Salut" before "Ce faci").
|
|
15
|
+
*
|
|
16
|
+
* @param client The RealtimeClient instance from nodejs-insta-private-api-mqt
|
|
17
|
+
* @param logger Optional logger
|
|
18
|
+
* @returns The wrapped client with transaction capabilities
|
|
19
|
+
*/
|
|
20
|
+
declare const addTransactionCapability: (client: any, logger?: {
|
|
21
|
+
trace: (obj: any, msg: any) => void;
|
|
22
|
+
debug: (obj: any, msg: any) => void;
|
|
23
|
+
info: (obj: any, msg: any) => void;
|
|
24
|
+
warn: (obj: any, msg: any) => void;
|
|
25
|
+
error: (obj: any, msg: any) => void;
|
|
26
|
+
}) => {
|
|
27
|
+
client: any;
|
|
28
|
+
transaction: (work: any) => Promise<any>;
|
|
29
|
+
isInTransaction: () => boolean;
|
|
30
|
+
};
|
|
@@ -38,14 +38,13 @@ async function main() {
|
|
|
38
38
|
realtime.on('receive', (topic, messages) => {
|
|
39
39
|
if (Array.isArray(messages)) {
|
|
40
40
|
messages.forEach(msg => {
|
|
41
|
-
var _a;
|
|
42
41
|
if (msg.body) {
|
|
43
42
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━');
|
|
44
43
|
console.log(`From: ${msg.from_user_id}`);
|
|
45
44
|
console.log(`Message: ${msg.body}`);
|
|
46
45
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━\n');
|
|
47
46
|
}
|
|
48
|
-
if (
|
|
47
|
+
if (msg.message_data?.body) {
|
|
49
48
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━');
|
|
50
49
|
console.log(`From: ${msg.from_user_id}`);
|
|
51
50
|
console.log(`Message: ${msg.message_data.body}`);
|