zapo-js 0.1.2 → 0.3.0
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/README.md +16 -4
- package/dist/appstate/WaAppStateCrypto.js +50 -42
- package/dist/appstate/WaAppStateSyncClient.js +215 -133
- package/dist/appstate/{store/sqlite.js → encoding.js} +13 -8
- package/dist/appstate/index.js +9 -7
- package/dist/appstate/utils.js +0 -5
- package/dist/auth/WaAuthClient.js +55 -57
- package/dist/auth/credentials-flow.js +195 -0
- package/dist/auth/index.js +1 -6
- package/dist/auth/pairing/WaPairingFlow.js +39 -32
- package/dist/auth/pairing/{WaPairingCodeCrypto.js → pairing-code-crypto.js} +35 -17
- package/dist/client/WaClient.js +338 -174
- package/dist/client/WaClientFactory.js +399 -66
- package/dist/client/connection/WaConnectionManager.js +23 -11
- package/dist/client/coordinators/WaAbPropsCoordinator.js +141 -0
- package/dist/client/coordinators/WaBusinessCoordinator.js +232 -0
- package/dist/client/coordinators/WaEmailCoordinator.js +63 -0
- package/dist/client/coordinators/WaGroupCoordinator.js +11 -7
- package/dist/client/coordinators/WaIncomingNodeCoordinator.js +34 -8
- package/dist/client/coordinators/WaMessageDispatchCoordinator.js +341 -118
- package/dist/client/coordinators/WaOfflineResumeCoordinator.js +114 -0
- package/dist/client/coordinators/WaPassiveTasksCoordinator.js +97 -36
- package/dist/client/coordinators/WaPrivacyCoordinator.js +134 -0
- package/dist/client/coordinators/WaProfileCoordinator.js +214 -0
- package/dist/client/coordinators/WaRetryCoordinator.js +184 -30
- package/dist/client/coordinators/WaStreamControlCoordinator.js +18 -11
- package/dist/client/coordinators/WaTrustedContactTokenCoordinator.js +184 -0
- package/dist/client/dirty.js +41 -21
- package/dist/client/events/abprops.js +43 -0
- package/dist/client/events/devices.js +72 -0
- package/dist/client/events/group.js +3 -11
- package/dist/client/events/identity.js +22 -0
- package/dist/client/events/privacy-token.js +38 -0
- package/dist/client/events/registration.js +42 -0
- package/dist/client/history-sync.js +50 -9
- package/dist/client/incoming.js +74 -7
- package/dist/client/mailbox.js +40 -23
- package/dist/client/media.js +243 -0
- package/dist/client/messages.js +245 -92
- package/dist/client/messaging/fanout.js +21 -11
- package/dist/client/messaging/participants.js +6 -4
- package/dist/client/persistence/WriteBehindPersistence.js +129 -0
- package/dist/client/tokens/cs-token.js +50 -0
- package/dist/client/tokens/tc-token.js +25 -0
- package/dist/crypto/core/index.js +5 -2
- package/dist/crypto/core/keys.js +4 -4
- package/dist/crypto/core/nonce.js +2 -0
- package/dist/crypto/core/primitives.js +0 -8
- package/dist/crypto/core/random.js +24 -8
- package/dist/crypto/core/xeddsa.js +57 -0
- package/dist/crypto/curves/X25519.js +43 -6
- package/dist/crypto/curves/constants.js +2 -1
- package/dist/crypto/index.js +3 -0
- package/dist/crypto/math/constants.js +13 -36
- package/dist/crypto/math/edwards.js +171 -44
- package/dist/crypto/math/fe.js +706 -0
- package/dist/crypto/math/mod.js +10 -3
- package/dist/esm/appstate/WaAppStateCrypto.js +40 -32
- package/dist/esm/appstate/WaAppStateSyncClient.js +206 -124
- package/dist/esm/appstate/{store/sqlite.js → encoding.js} +13 -8
- package/dist/esm/appstate/index.js +2 -2
- package/dist/esm/appstate/{WaAppStateSyncResponseParser.js → response-parser.js} +1 -1
- package/dist/esm/appstate/utils.js +2 -5
- package/dist/esm/auth/WaAuthClient.js +52 -54
- package/dist/esm/auth/credentials-flow.js +190 -0
- package/dist/esm/auth/index.js +0 -2
- package/dist/esm/auth/pairing/WaPairingFlow.js +39 -32
- package/dist/esm/auth/pairing/{WaPairingCodeCrypto.js → pairing-code-crypto.js} +26 -10
- package/dist/esm/client/WaClient.js +339 -175
- package/dist/esm/client/WaClientFactory.js +401 -68
- package/dist/esm/client/connection/WaConnectionManager.js +23 -11
- package/dist/esm/client/coordinators/WaAbPropsCoordinator.js +137 -0
- package/dist/esm/client/coordinators/WaBusinessCoordinator.js +229 -0
- package/dist/esm/client/coordinators/WaEmailCoordinator.js +60 -0
- package/dist/esm/client/coordinators/WaGroupCoordinator.js +11 -7
- package/dist/esm/client/coordinators/WaIncomingNodeCoordinator.js +36 -10
- package/dist/esm/client/coordinators/WaMessageDispatchCoordinator.js +337 -114
- package/dist/esm/client/coordinators/WaOfflineResumeCoordinator.js +110 -0
- package/dist/esm/client/coordinators/WaPassiveTasksCoordinator.js +97 -36
- package/dist/esm/client/coordinators/WaPrivacyCoordinator.js +131 -0
- package/dist/esm/client/coordinators/WaProfileCoordinator.js +211 -0
- package/dist/esm/client/coordinators/WaRetryCoordinator.js +186 -32
- package/dist/esm/client/coordinators/WaStreamControlCoordinator.js +19 -12
- package/dist/esm/client/coordinators/WaTrustedContactTokenCoordinator.js +180 -0
- package/dist/esm/client/dirty.js +41 -21
- package/dist/esm/client/events/abprops.js +40 -0
- package/dist/esm/client/events/devices.js +68 -0
- package/dist/esm/client/events/group.js +3 -11
- package/dist/esm/client/events/identity.js +19 -0
- package/dist/esm/client/events/privacy-token.js +35 -0
- package/dist/esm/client/events/registration.js +39 -0
- package/dist/esm/client/history-sync.js +50 -9
- package/dist/esm/client/incoming.js +74 -8
- package/dist/esm/client/mailbox.js +40 -23
- package/dist/esm/client/media.js +234 -0
- package/dist/esm/client/messages.js +244 -91
- package/dist/esm/client/messaging/fanout.js +22 -12
- package/dist/esm/client/messaging/participants.js +6 -4
- package/dist/esm/client/persistence/WriteBehindPersistence.js +125 -0
- package/dist/esm/client/tokens/cs-token.js +46 -0
- package/dist/esm/client/tokens/tc-token.js +18 -0
- package/dist/esm/crypto/core/index.js +3 -2
- package/dist/esm/crypto/core/keys.js +1 -1
- package/dist/esm/crypto/core/nonce.js +2 -0
- package/dist/esm/crypto/core/primitives.js +0 -7
- package/dist/esm/crypto/core/random.js +23 -7
- package/dist/esm/crypto/core/xeddsa.js +53 -0
- package/dist/esm/crypto/curves/X25519.js +45 -8
- package/dist/esm/crypto/curves/constants.js +1 -0
- package/dist/esm/crypto/index.js +1 -0
- package/dist/esm/crypto/math/constants.js +12 -35
- package/dist/esm/crypto/math/edwards.js +174 -47
- package/dist/esm/crypto/math/fe.js +691 -0
- package/dist/esm/crypto/math/mod.js +10 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/infra/perf/BackgroundQueue.js +478 -0
- package/dist/esm/infra/perf/BoundedTaskQueue.js +3 -1
- package/dist/esm/infra/perf/PromiseDedup.js +20 -0
- package/dist/esm/infra/perf/SharedExclusiveGate.js +109 -0
- package/dist/esm/infra/perf/StoreLock.js +80 -0
- package/dist/esm/media/WaMediaCrypto.js +332 -55
- package/dist/esm/media/WaMediaTransferClient.js +69 -220
- package/dist/esm/media/constants.js +4 -1
- package/dist/esm/media/processor.js +1 -0
- package/dist/esm/message/WaMessageClient.js +26 -19
- package/dist/esm/message/addon-crypto.js +130 -3
- package/dist/esm/message/content.js +206 -14
- package/dist/esm/message/icdc.js +76 -0
- package/dist/esm/message/incoming.js +38 -24
- package/dist/esm/message/phash.js +35 -13
- package/dist/esm/message/reporting-token.js +17 -30
- package/dist/esm/message/use-case-secret.js +1 -1
- package/dist/esm/protocol/abprops.js +159 -0
- package/dist/esm/protocol/appstate.js +9 -40
- package/dist/esm/protocol/browser.js +24 -18
- package/dist/esm/protocol/constants.js +8 -4
- package/dist/esm/protocol/defaults.js +6 -0
- package/dist/esm/protocol/email.js +30 -0
- package/dist/esm/protocol/index.js +1 -2
- package/dist/esm/protocol/jid.js +142 -39
- package/dist/esm/protocol/message.js +61 -1
- package/dist/esm/protocol/nodes.js +8 -2
- package/dist/esm/protocol/notification.js +9 -1
- package/dist/esm/protocol/privacy-token.js +17 -0
- package/dist/esm/protocol/privacy.js +55 -0
- package/dist/esm/protocol/stream.js +26 -1
- package/dist/esm/retry/codec.js +216 -0
- package/dist/esm/retry/constants.js +1 -1
- package/dist/esm/retry/index.js +2 -2
- package/dist/esm/retry/parse.js +50 -30
- package/dist/esm/retry/reason.js +1 -1
- package/dist/esm/retry/replay.js +11 -7
- package/dist/esm/retry/tracker.js +50 -12
- package/dist/esm/signal/api/SignalDeviceSyncApi.js +52 -32
- package/dist/esm/signal/api/SignalDigestSyncApi.js +21 -15
- package/dist/esm/signal/api/SignalIdentitySyncApi.js +30 -15
- package/dist/esm/signal/api/SignalMissingPreKeysSyncApi.js +19 -8
- package/dist/esm/signal/api/SignalRotateKeyApi.js +4 -2
- package/dist/esm/signal/api/SignalSessionSyncApi.js +17 -8
- package/dist/esm/signal/api/result-map.js +10 -0
- package/dist/esm/signal/constants.js +0 -4
- package/dist/esm/signal/crypto/WaAdvSignature.js +5 -45
- package/dist/esm/signal/crypto/constants.js +0 -4
- package/dist/esm/signal/{store/sqlite.js → encoding.js} +40 -29
- package/dist/esm/signal/group/SenderKeyChain.js +3 -3
- package/dist/esm/signal/group/SenderKeyCodec.js +8 -8
- package/dist/esm/signal/group/SenderKeyManager.js +131 -109
- package/dist/esm/signal/index.js +1 -0
- package/dist/esm/signal/registration/keygen.js +8 -5
- package/dist/esm/signal/registration/utils.js +3 -2
- package/dist/esm/signal/session/SignalProtocol.js +158 -81
- package/dist/esm/signal/session/SignalRatchet.js +21 -10
- package/dist/esm/signal/session/SignalSerializer.js +5 -6
- package/dist/esm/signal/session/SignalSession.js +11 -9
- package/dist/esm/signal/session/resolver.js +140 -105
- package/dist/esm/store/contracts/identity.store.js +1 -0
- package/dist/esm/store/contracts/message-secret.store.js +1 -0
- package/dist/esm/store/contracts/pre-key.store.js +1 -0
- package/dist/esm/store/contracts/privacy-token.store.js +1 -0
- package/dist/esm/store/contracts/session.store.js +1 -0
- package/dist/esm/store/createStore.js +143 -193
- package/dist/esm/store/index.js +5 -10
- package/dist/esm/store/locks/appstate.lock.js +26 -0
- package/dist/esm/store/locks/auth.lock.js +15 -0
- package/dist/esm/store/locks/contact.lock.js +20 -0
- package/dist/esm/store/locks/device-list.lock.js +20 -0
- package/dist/esm/store/locks/identity.lock.js +16 -0
- package/dist/esm/store/locks/message-secret.lock.js +17 -0
- package/dist/esm/store/locks/message.lock.js +21 -0
- package/dist/esm/store/locks/participants.lock.js +20 -0
- package/dist/esm/store/locks/pre-key.lock.js +27 -0
- package/dist/esm/store/locks/privacy-token.lock.js +18 -0
- package/dist/esm/store/locks/retry.lock.js +29 -0
- package/dist/esm/store/locks/sender-key.lock.js +52 -0
- package/dist/esm/store/locks/session.lock.js +19 -0
- package/dist/esm/store/locks/signal.lock.js +39 -0
- package/dist/esm/store/locks/thread.lock.js +21 -0
- package/dist/esm/store/noop.store.js +21 -1
- package/dist/esm/store/providers/memory/appstate.store.js +22 -24
- package/dist/esm/store/providers/memory/device-list.store.js +13 -5
- package/dist/esm/store/providers/memory/identity.store.js +31 -0
- package/dist/esm/store/providers/memory/message-secret.store.js +81 -0
- package/dist/esm/store/providers/memory/participants.store.js +3 -0
- package/dist/esm/store/providers/memory/pre-key.store.js +97 -0
- package/dist/esm/store/providers/memory/privacy-token.store.js +43 -0
- package/dist/esm/store/providers/memory/retry.store.js +99 -10
- package/dist/esm/store/providers/memory/sender-key.store.js +6 -1
- package/dist/esm/store/providers/memory/session.store.js +45 -0
- package/dist/esm/store/providers/memory/signal.store.js +1 -147
- package/dist/esm/transport/WaComms.js +7 -4
- package/dist/esm/transport/WaWebSocket.js +9 -7
- package/dist/esm/transport/binary/constants.js +0 -30
- package/dist/esm/transport/binary/decoder.js +4 -4
- package/dist/esm/transport/binary/encoder.js +8 -15
- package/dist/esm/transport/binary/index.js +0 -1
- package/dist/esm/transport/index.js +6 -0
- package/dist/esm/transport/keepalive/WaKeepAlive.js +17 -8
- package/dist/esm/transport/node/WaMobileTcpSocket.js +114 -0
- package/dist/esm/transport/node/WaNodeOrchestrator.js +37 -22
- package/dist/esm/transport/node/builders/abprops.js +20 -0
- package/dist/esm/transport/node/builders/business.js +129 -0
- package/dist/esm/transport/node/builders/device.js +11 -0
- package/dist/esm/transport/node/builders/email.js +65 -0
- package/dist/esm/transport/node/builders/global.js +370 -0
- package/dist/esm/transport/node/builders/message.js +63 -239
- package/dist/esm/transport/node/builders/offline.js +14 -0
- package/dist/esm/transport/node/builders/pairing.js +0 -24
- package/dist/esm/transport/node/builders/prekeys.js +37 -40
- package/dist/esm/transport/node/builders/presence.js +13 -0
- package/dist/esm/transport/node/builders/privacy-token.js +37 -0
- package/dist/esm/transport/node/builders/privacy.js +48 -0
- package/dist/esm/transport/node/builders/profile.js +70 -0
- package/dist/esm/transport/node/builders/retry.js +11 -23
- package/dist/esm/transport/node/builders/usync.js +6 -2
- package/dist/esm/transport/node/helpers.js +43 -1
- package/dist/esm/transport/node/mex/argo-decoder.js +152 -0
- package/dist/esm/transport/node/mex/client.js +83 -0
- package/dist/esm/transport/node/mex/persist-ids.js +10 -0
- package/dist/esm/transport/node/usync.js +3 -33
- package/dist/esm/transport/node/xml.js +35 -14
- package/dist/esm/transport/noise/WaClientPayload.js +24 -19
- package/dist/esm/transport/noise/WaFrameCodec.js +2 -2
- package/dist/esm/transport/noise/WaMobileClientPayload.js +53 -0
- package/dist/esm/transport/noise/WaNoiseCert.js +9 -27
- package/dist/esm/transport/noise/WaNoiseSession.js +76 -34
- package/dist/esm/transport/noise/WaNoiseSocket.js +8 -4
- package/dist/esm/transport/stream/parse.js +8 -4
- package/dist/esm/util/bytes.js +22 -18
- package/dist/esm/util/index.js +5 -0
- package/dist/esm/util/primitives.js +3 -2
- package/dist/index.js +7 -1
- package/dist/infra/perf/BackgroundQueue.js +482 -0
- package/dist/infra/perf/BoundedTaskQueue.js +3 -1
- package/dist/infra/perf/PromiseDedup.js +24 -0
- package/dist/infra/perf/SharedExclusiveGate.js +113 -0
- package/dist/infra/perf/StoreLock.js +84 -0
- package/dist/media/WaMediaCrypto.js +328 -51
- package/dist/media/WaMediaTransferClient.js +72 -253
- package/dist/media/constants.js +5 -2
- package/dist/media/processor.js +2 -0
- package/dist/message/WaMessageClient.js +26 -19
- package/dist/message/addon-crypto.js +131 -0
- package/dist/message/content.js +211 -14
- package/dist/message/icdc.js +81 -0
- package/dist/message/incoming.js +38 -24
- package/dist/message/phash.js +35 -13
- package/dist/message/reporting-token.js +16 -30
- package/dist/message/use-case-secret.js +1 -1
- package/dist/protocol/abprops.js +163 -0
- package/dist/protocol/appstate.js +10 -41
- package/dist/protocol/browser.js +25 -18
- package/dist/protocol/constants.js +33 -2
- package/dist/protocol/defaults.js +6 -0
- package/dist/protocol/email.js +33 -0
- package/dist/protocol/index.js +8 -5
- package/dist/protocol/jid.js +149 -39
- package/dist/protocol/message.js +62 -2
- package/dist/protocol/nodes.js +8 -2
- package/dist/protocol/notification.js +10 -2
- package/dist/protocol/privacy-token.js +20 -0
- package/dist/protocol/privacy.js +58 -0
- package/dist/protocol/stream.js +27 -2
- package/dist/retry/codec.js +220 -0
- package/dist/retry/constants.js +1 -1
- package/dist/retry/index.js +5 -5
- package/dist/retry/parse.js +51 -30
- package/dist/retry/reason.js +1 -1
- package/dist/retry/replay.js +10 -6
- package/dist/retry/tracker.js +50 -12
- package/dist/signal/api/SignalDeviceSyncApi.js +51 -31
- package/dist/signal/api/SignalDigestSyncApi.js +21 -15
- package/dist/signal/api/SignalIdentitySyncApi.js +29 -14
- package/dist/signal/api/SignalMissingPreKeysSyncApi.js +17 -6
- package/dist/signal/api/SignalRotateKeyApi.js +4 -2
- package/dist/signal/api/SignalSessionSyncApi.js +16 -7
- package/dist/signal/api/result-map.js +13 -0
- package/dist/signal/constants.js +1 -5
- package/dist/signal/crypto/WaAdvSignature.js +2 -44
- package/dist/signal/crypto/constants.js +1 -5
- package/dist/signal/{store/sqlite.js → encoding.js} +41 -25
- package/dist/signal/group/SenderKeyChain.js +2 -2
- package/dist/signal/group/SenderKeyCodec.js +8 -8
- package/dist/signal/group/SenderKeyManager.js +130 -108
- package/dist/signal/index.js +13 -1
- package/dist/signal/registration/keygen.js +7 -4
- package/dist/signal/registration/utils.js +3 -2
- package/dist/signal/session/SignalProtocol.js +158 -81
- package/dist/signal/session/SignalRatchet.js +19 -8
- package/dist/signal/session/SignalSerializer.js +5 -6
- package/dist/signal/session/SignalSession.js +11 -9
- package/dist/signal/session/resolver.js +138 -103
- package/dist/store/contracts/identity.store.js +2 -0
- package/dist/store/contracts/message-secret.store.js +2 -0
- package/dist/store/contracts/pre-key.store.js +2 -0
- package/dist/store/contracts/privacy-token.store.js +2 -0
- package/dist/store/contracts/session.store.js +2 -0
- package/dist/store/createStore.js +142 -192
- package/dist/store/index.js +23 -33
- package/dist/store/locks/appstate.lock.js +29 -0
- package/dist/store/locks/auth.lock.js +18 -0
- package/dist/store/locks/contact.lock.js +23 -0
- package/dist/store/locks/device-list.lock.js +23 -0
- package/dist/store/locks/identity.lock.js +19 -0
- package/dist/store/locks/message-secret.lock.js +20 -0
- package/dist/store/locks/message.lock.js +24 -0
- package/dist/store/locks/participants.lock.js +23 -0
- package/dist/store/locks/pre-key.lock.js +30 -0
- package/dist/store/locks/privacy-token.lock.js +21 -0
- package/dist/store/locks/retry.lock.js +32 -0
- package/dist/store/locks/sender-key.lock.js +55 -0
- package/dist/store/locks/session.lock.js +22 -0
- package/dist/store/locks/signal.lock.js +42 -0
- package/dist/store/locks/thread.lock.js +24 -0
- package/dist/store/noop.store.js +22 -2
- package/dist/store/providers/memory/appstate.store.js +22 -24
- package/dist/store/providers/memory/device-list.store.js +13 -5
- package/dist/store/providers/memory/identity.store.js +35 -0
- package/dist/store/providers/memory/message-secret.store.js +85 -0
- package/dist/store/providers/memory/participants.store.js +3 -0
- package/dist/store/providers/memory/pre-key.store.js +101 -0
- package/dist/store/providers/memory/privacy-token.store.js +47 -0
- package/dist/store/providers/memory/retry.store.js +98 -9
- package/dist/store/providers/memory/sender-key.store.js +6 -1
- package/dist/store/providers/memory/session.store.js +49 -0
- package/dist/store/providers/memory/signal.store.js +1 -147
- package/dist/transport/WaComms.js +7 -4
- package/dist/transport/WaWebSocket.js +9 -7
- package/dist/transport/binary/constants.js +1 -31
- package/dist/transport/binary/decoder.js +4 -4
- package/dist/transport/binary/encoder.js +8 -15
- package/dist/transport/binary/index.js +0 -4
- package/dist/transport/index.js +17 -1
- package/dist/transport/keepalive/WaKeepAlive.js +17 -8
- package/dist/transport/node/WaMobileTcpSocket.js +118 -0
- package/dist/transport/node/WaNodeOrchestrator.js +36 -21
- package/dist/transport/node/builders/abprops.js +23 -0
- package/dist/transport/node/builders/business.js +137 -0
- package/dist/transport/node/builders/device.js +14 -0
- package/dist/transport/node/builders/email.js +72 -0
- package/dist/transport/node/builders/global.js +375 -0
- package/dist/transport/node/builders/message.js +64 -245
- package/dist/transport/node/builders/offline.js +17 -0
- package/dist/transport/node/builders/pairing.js +0 -26
- package/dist/transport/node/builders/prekeys.js +36 -39
- package/dist/transport/node/builders/presence.js +16 -0
- package/dist/transport/node/builders/privacy-token.js +42 -0
- package/dist/transport/node/builders/privacy.js +55 -0
- package/dist/transport/node/builders/profile.js +78 -0
- package/dist/transport/node/builders/retry.js +10 -22
- package/dist/transport/node/builders/usync.js +6 -2
- package/dist/transport/node/helpers.js +46 -1
- package/dist/transport/node/mex/argo-decoder.js +189 -0
- package/dist/transport/node/mex/client.js +86 -0
- package/dist/transport/node/mex/persist-ids.js +13 -0
- package/dist/transport/node/usync.js +2 -32
- package/dist/transport/node/xml.js +35 -14
- package/dist/transport/noise/WaClientPayload.js +26 -21
- package/dist/transport/noise/WaFrameCodec.js +1 -1
- package/dist/transport/noise/WaMobileClientPayload.js +56 -0
- package/dist/transport/noise/WaNoiseCert.js +8 -26
- package/dist/transport/noise/WaNoiseSession.js +75 -33
- package/dist/transport/noise/WaNoiseSocket.js +8 -4
- package/dist/transport/stream/parse.js +7 -3
- package/dist/types/appstate/WaAppStateCrypto.d.ts +11 -8
- package/dist/types/appstate/WaAppStateSyncClient.d.ts +6 -2
- package/dist/types/appstate/encoding.d.ts +7 -0
- package/dist/types/appstate/index.d.ts +3 -3
- package/dist/types/appstate/{WaAppStateSyncResponseParser.d.ts → response-parser.d.ts} +1 -1
- package/dist/types/appstate/types.d.ts +1 -1
- package/dist/types/appstate/utils.d.ts +0 -2
- package/dist/types/auth/WaAuthClient.d.ts +9 -3
- package/dist/types/auth/credentials-flow.d.ts +20 -0
- package/dist/types/auth/index.d.ts +0 -2
- package/dist/types/auth/pairing/WaPairingFlow.d.ts +3 -2
- package/dist/types/auth/pairing/{WaPairingCodeCrypto.d.ts → pairing-code-crypto.d.ts} +6 -1
- package/dist/types/auth/types.d.ts +41 -0
- package/dist/types/client/WaClient.d.ts +44 -18
- package/dist/types/client/WaClientFactory.d.ts +22 -8
- package/dist/types/client/connection/WaConnectionManager.d.ts +2 -0
- package/dist/types/client/coordinators/WaAbPropsCoordinator.d.ts +26 -0
- package/dist/types/client/coordinators/WaBusinessCoordinator.d.ts +57 -0
- package/dist/types/client/coordinators/WaEmailCoordinator.d.ts +24 -0
- package/dist/types/client/coordinators/WaIncomingNodeCoordinator.d.ts +9 -2
- package/dist/types/client/coordinators/WaMessageDispatchCoordinator.d.ts +29 -2
- package/dist/types/client/coordinators/WaOfflineResumeCoordinator.d.ts +31 -0
- package/dist/types/client/coordinators/WaPassiveTasksCoordinator.d.ts +16 -1
- package/dist/types/client/coordinators/WaPrivacyCoordinator.d.ts +26 -0
- package/dist/types/client/coordinators/WaProfileCoordinator.d.ts +38 -0
- package/dist/types/client/coordinators/WaRetryCoordinator.d.ts +12 -0
- package/dist/types/client/coordinators/WaStreamControlCoordinator.d.ts +3 -2
- package/dist/types/client/coordinators/WaTrustedContactTokenCoordinator.d.ts +55 -0
- package/dist/types/client/dirty.d.ts +3 -1
- package/dist/types/client/events/abprops.d.ts +14 -0
- package/dist/types/client/events/devices.d.ts +20 -0
- package/dist/types/client/events/identity.d.ts +9 -0
- package/dist/types/client/events/privacy-token.d.ts +7 -0
- package/dist/types/client/events/registration.d.ts +17 -0
- package/dist/types/client/history-sync.d.ts +9 -6
- package/dist/types/client/incoming.d.ts +9 -2
- package/dist/types/client/index.d.ts +1 -1
- package/dist/types/client/mailbox.d.ts +5 -5
- package/dist/types/client/media.d.ts +31 -0
- package/dist/types/client/messages.d.ts +3 -2
- package/dist/types/client/persistence/WriteBehindPersistence.d.ts +34 -0
- package/dist/types/client/tokens/cs-token.d.ts +10 -0
- package/dist/types/client/tokens/tc-token.d.ts +5 -0
- package/dist/types/client/types.d.ts +151 -4
- package/dist/types/crypto/core/index.d.ts +3 -2
- package/dist/types/crypto/core/nonce.d.ts +2 -0
- package/dist/types/crypto/core/primitives.d.ts +1 -2
- package/dist/types/crypto/core/random.d.ts +2 -1
- package/dist/types/crypto/core/xeddsa.d.ts +2 -0
- package/dist/types/crypto/curves/constants.d.ts +1 -0
- package/dist/types/crypto/index.d.ts +2 -0
- package/dist/types/crypto/math/constants.d.ts +4 -2
- package/dist/types/crypto/math/fe.d.ts +30 -0
- package/dist/types/crypto/math/mod.d.ts +0 -2
- package/dist/types/crypto/math/types.d.ts +11 -4
- package/dist/types/index.d.ts +6 -3
- package/dist/types/infra/log/ConsoleLogger.d.ts +1 -1
- package/dist/types/infra/log/PinoLogger.d.ts +1 -1
- package/dist/types/infra/perf/BackgroundQueue.d.ts +58 -0
- package/dist/types/infra/perf/PromiseDedup.d.ts +4 -0
- package/dist/types/infra/perf/SharedExclusiveGate.d.ts +17 -0
- package/dist/types/infra/perf/StoreLock.d.ts +11 -0
- package/dist/types/media/WaMediaCrypto.d.ts +16 -6
- package/dist/types/media/WaMediaTransferClient.d.ts +6 -23
- package/dist/types/media/constants.d.ts +3 -1
- package/dist/types/media/index.d.ts +2 -1
- package/dist/types/media/processor.d.ts +28 -0
- package/dist/types/media/types.d.ts +19 -5
- package/dist/types/message/addon-crypto.d.ts +34 -3
- package/dist/types/message/content.d.ts +11 -1
- package/dist/types/message/icdc.d.ts +13 -0
- package/dist/types/message/reporting-token.d.ts +0 -1
- package/dist/types/message/types.d.ts +42 -11
- package/dist/types/protocol/abprops.d.ts +142 -0
- package/dist/types/protocol/appstate.d.ts +0 -11
- package/dist/types/protocol/browser.d.ts +1 -0
- package/dist/types/protocol/constants.d.ts +12 -4
- package/dist/types/protocol/defaults.d.ts +6 -0
- package/dist/types/protocol/email.d.ts +32 -0
- package/dist/types/protocol/index.d.ts +1 -2
- package/dist/types/protocol/jid.d.ts +20 -2
- package/dist/types/protocol/message.d.ts +60 -0
- package/dist/types/protocol/nodes.d.ts +6 -0
- package/dist/types/protocol/notification.d.ts +8 -0
- package/dist/types/protocol/privacy-token.d.ts +17 -0
- package/dist/types/protocol/privacy.d.ts +75 -0
- package/dist/types/protocol/stream.d.ts +31 -0
- package/dist/types/retry/codec.d.ts +3 -0
- package/dist/types/retry/index.d.ts +3 -3
- package/dist/types/retry/parse.d.ts +5 -2
- package/dist/types/retry/reason.d.ts +1 -1
- package/dist/types/retry/tracker.d.ts +1 -0
- package/dist/types/retry/types.d.ts +6 -1
- package/dist/types/signal/api/SignalDeviceSyncApi.d.ts +2 -1
- package/dist/types/signal/api/SignalDigestSyncApi.d.ts +9 -0
- package/dist/types/signal/api/SignalIdentitySyncApi.d.ts +5 -3
- package/dist/types/signal/api/SignalRotateKeyApi.d.ts +4 -5
- package/dist/types/signal/api/SignalSessionSyncApi.d.ts +8 -6
- package/dist/types/signal/api/result-map.d.ts +1 -0
- package/dist/types/signal/constants.d.ts +0 -3
- package/dist/types/signal/crypto/WaAdvSignature.d.ts +0 -2
- package/dist/types/signal/crypto/constants.d.ts +0 -1
- package/dist/types/signal/{store/sqlite.d.ts → encoding.d.ts} +9 -3
- package/dist/types/signal/group/SenderKeyChain.d.ts +1 -1
- package/dist/types/signal/group/SenderKeyManager.d.ts +17 -7
- package/dist/types/signal/index.d.ts +2 -0
- package/dist/types/signal/registration/utils.d.ts +2 -1
- package/dist/types/signal/session/SignalProtocol.d.ts +21 -6
- package/dist/types/signal/session/SignalSerializer.d.ts +2 -1
- package/dist/types/signal/session/resolver.d.ts +11 -4
- package/dist/types/signal/types.d.ts +16 -4
- package/dist/types/store/contracts/appstate.store.d.ts +1 -1
- package/dist/types/store/contracts/identity.store.d.ts +11 -0
- package/dist/types/store/contracts/message-secret.store.d.ts +16 -0
- package/dist/types/store/contracts/pre-key.store.d.ts +13 -0
- package/dist/types/store/contracts/privacy-token.store.d.ts +16 -0
- package/dist/types/store/contracts/retry.store.d.ts +7 -0
- package/dist/types/store/contracts/session.store.d.ts +14 -0
- package/dist/types/store/contracts/signal.store.d.ts +1 -27
- package/dist/types/store/createStore.d.ts +1 -1
- package/dist/types/store/index.d.ts +12 -12
- package/dist/types/store/locks/appstate.lock.d.ts +3 -0
- package/dist/types/store/locks/auth.lock.d.ts +3 -0
- package/dist/types/store/locks/contact.lock.d.ts +3 -0
- package/dist/types/store/locks/device-list.lock.d.ts +2 -0
- package/dist/types/store/locks/identity.lock.d.ts +3 -0
- package/dist/types/store/locks/message-secret.lock.d.ts +3 -0
- package/dist/types/store/locks/message.lock.d.ts +3 -0
- package/dist/types/store/locks/participants.lock.d.ts +2 -0
- package/dist/types/store/locks/pre-key.lock.d.ts +3 -0
- package/dist/types/store/locks/privacy-token.lock.d.ts +2 -0
- package/dist/types/store/locks/retry.lock.d.ts +2 -0
- package/dist/types/store/locks/sender-key.lock.d.ts +3 -0
- package/dist/types/store/locks/session.lock.d.ts +3 -0
- package/dist/types/store/locks/signal.lock.d.ts +3 -0
- package/dist/types/store/locks/thread.lock.d.ts +3 -0
- package/dist/types/store/noop.store.d.ts +4 -0
- package/dist/types/store/providers/memory/appstate.store.d.ts +1 -1
- package/dist/types/store/providers/memory/identity.store.d.ts +18 -0
- package/dist/types/store/providers/memory/message-secret.store.d.ts +21 -0
- package/dist/types/store/providers/memory/pre-key.store.d.ts +23 -0
- package/dist/types/store/providers/memory/privacy-token.store.d.ts +13 -0
- package/dist/types/store/providers/memory/retry.store.d.ts +15 -1
- package/dist/types/store/providers/memory/session.store.d.ts +21 -0
- package/dist/types/store/providers/memory/signal.store.d.ts +2 -43
- package/dist/types/store/providers/memory/thread.store.d.ts +1 -1
- package/dist/types/store/types.d.ts +69 -61
- package/dist/types/transport/WaWebSocket.d.ts +1 -1
- package/dist/types/transport/binary/constants.d.ts +0 -30
- package/dist/types/transport/binary/index.d.ts +0 -1
- package/dist/types/transport/index.d.ts +8 -1
- package/dist/types/transport/keepalive/WaKeepAlive.d.ts +4 -1
- package/dist/types/transport/node/WaMobileTcpSocket.d.ts +18 -0
- package/dist/types/transport/node/WaNodeOrchestrator.d.ts +9 -6
- package/dist/types/transport/node/builders/abprops.d.ts +5 -0
- package/dist/types/transport/node/builders/business.d.ts +29 -0
- package/dist/types/transport/node/builders/device.d.ts +2 -0
- package/dist/types/transport/node/builders/email.d.ts +11 -0
- package/dist/types/transport/node/builders/global.d.ts +102 -0
- package/dist/types/transport/node/builders/message.d.ts +8 -7
- package/dist/types/transport/node/builders/offline.d.ts +2 -0
- package/dist/types/transport/node/builders/pairing.d.ts +0 -2
- package/dist/types/transport/node/builders/prekeys.d.ts +4 -3
- package/dist/types/transport/node/builders/presence.d.ts +6 -0
- package/dist/types/transport/node/builders/privacy-token.d.ts +9 -0
- package/dist/types/transport/node/builders/privacy.d.ts +7 -0
- package/dist/types/transport/node/builders/profile.d.ts +8 -0
- package/dist/types/transport/node/builders/retry.d.ts +0 -1
- package/dist/types/transport/node/helpers.d.ts +8 -0
- package/dist/types/transport/node/mex/argo-decoder.d.ts +11 -0
- package/dist/types/transport/node/mex/client.d.ts +18 -0
- package/dist/types/transport/node/mex/persist-ids.d.ts +14 -0
- package/dist/types/transport/noise/WaMobileClientPayload.d.ts +29 -0
- package/dist/types/transport/noise/WaNoiseCert.d.ts +7 -1
- package/dist/types/transport/noise/WaNoiseSession.d.ts +4 -2
- package/dist/types/transport/noise/WaNoiseSocket.d.ts +4 -2
- package/dist/types/transport/types.d.ts +8 -0
- package/dist/types/util/bytes.d.ts +1 -1
- package/dist/types/util/index.d.ts +5 -0
- package/dist/types/util/primitives.d.ts +0 -1
- package/dist/util/bytes.js +22 -18
- package/dist/util/index.js +23 -0
- package/dist/util/primitives.js +2 -2
- package/package.json +34 -10
- package/proto/index.js +1 -1
- package/dist/auth/flow/WaAuthCredentialsFlow.js +0 -130
- package/dist/auth/pairing/constants.js +0 -5
- package/dist/client/connection/WaKeyShareCoordinator.js +0 -63
- package/dist/crypto/core/constants.js +0 -4
- package/dist/esm/auth/flow/WaAuthCredentialsFlow.js +0 -125
- package/dist/esm/auth/pairing/constants.js +0 -2
- package/dist/esm/client/connection/WaKeyShareCoordinator.js +0 -59
- package/dist/esm/crypto/core/constants.js +0 -1
- package/dist/esm/retry/outbound.js +0 -82
- package/dist/esm/store/providers/sqlite/BaseSqliteStore.js +0 -37
- package/dist/esm/store/providers/sqlite/appstate.store.js +0 -250
- package/dist/esm/store/providers/sqlite/auth.store.js +0 -176
- package/dist/esm/store/providers/sqlite/connection.js +0 -245
- package/dist/esm/store/providers/sqlite/contact.store.js +0 -74
- package/dist/esm/store/providers/sqlite/device-list.store.js +0 -127
- package/dist/esm/store/providers/sqlite/message.store.js +0 -132
- package/dist/esm/store/providers/sqlite/migrations.js +0 -347
- package/dist/esm/store/providers/sqlite/participants.store.js +0 -77
- package/dist/esm/store/providers/sqlite/retry.store.js +0 -141
- package/dist/esm/store/providers/sqlite/sender-key.store.js +0 -198
- package/dist/esm/store/providers/sqlite/signal.store.js +0 -435
- package/dist/esm/store/providers/sqlite/table-names.js +0 -107
- package/dist/esm/store/providers/sqlite/thread.store.js +0 -85
- package/dist/esm/transport/node/builders/index.js +0 -8
- package/dist/retry/outbound.js +0 -87
- package/dist/store/providers/sqlite/BaseSqliteStore.js +0 -41
- package/dist/store/providers/sqlite/appstate.store.js +0 -254
- package/dist/store/providers/sqlite/auth.store.js +0 -180
- package/dist/store/providers/sqlite/connection.js +0 -281
- package/dist/store/providers/sqlite/contact.store.js +0 -78
- package/dist/store/providers/sqlite/device-list.store.js +0 -131
- package/dist/store/providers/sqlite/message.store.js +0 -136
- package/dist/store/providers/sqlite/migrations.js +0 -350
- package/dist/store/providers/sqlite/participants.store.js +0 -81
- package/dist/store/providers/sqlite/retry.store.js +0 -145
- package/dist/store/providers/sqlite/sender-key.store.js +0 -202
- package/dist/store/providers/sqlite/signal.store.js +0 -439
- package/dist/store/providers/sqlite/table-names.js +0 -113
- package/dist/store/providers/sqlite/thread.store.js +0 -89
- package/dist/transport/node/builders/index.js +0 -42
- package/dist/types/appstate/store/sqlite.d.ts +0 -7
- package/dist/types/auth/flow/WaAuthCredentialsFlow.d.ts +0 -14
- package/dist/types/auth/pairing/constants.d.ts +0 -2
- package/dist/types/client/connection/WaKeyShareCoordinator.d.ts +0 -14
- package/dist/types/crypto/core/constants.d.ts +0 -1
- package/dist/types/retry/outbound.d.ts +0 -4
- package/dist/types/store/providers/sqlite/BaseSqliteStore.d.ts +0 -12
- package/dist/types/store/providers/sqlite/appstate.store.d.ts +0 -17
- package/dist/types/store/providers/sqlite/auth.store.d.ts +0 -10
- package/dist/types/store/providers/sqlite/connection.d.ts +0 -10
- package/dist/types/store/providers/sqlite/contact.store.d.ts +0 -12
- package/dist/types/store/providers/sqlite/device-list.store.d.ts +0 -15
- package/dist/types/store/providers/sqlite/message.store.d.ts +0 -13
- package/dist/types/store/providers/sqlite/migrations.d.ts +0 -3
- package/dist/types/store/providers/sqlite/participants.store.d.ts +0 -12
- package/dist/types/store/providers/sqlite/retry.store.d.ts +0 -15
- package/dist/types/store/providers/sqlite/sender-key.store.d.ts +0 -24
- package/dist/types/store/providers/sqlite/signal.store.d.ts +0 -53
- package/dist/types/store/providers/sqlite/table-names.d.ts +0 -5
- package/dist/types/store/providers/sqlite/thread.store.d.ts +0 -13
- package/dist/types/transport/node/builders/index.d.ts +0 -8
- /package/dist/appstate/{WaAppStateSyncResponseParser.js → response-parser.js} +0 -0
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WA_SQLITE_DEFAULT_TABLE_NAMES = void 0;
|
|
4
|
-
exports.resolveSqliteTableNames = resolveSqliteTableNames;
|
|
5
|
-
exports.serializeSqliteTableNames = serializeSqliteTableNames;
|
|
6
|
-
exports.createSqliteTableNameSqlResolver = createSqliteTableNameSqlResolver;
|
|
7
|
-
const SQLITE_TABLE_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
8
|
-
const WA_SQLITE_TABLE_NAME_ORDER = Object.freeze([
|
|
9
|
-
'wa_migrations',
|
|
10
|
-
'auth_credentials',
|
|
11
|
-
'signal_meta',
|
|
12
|
-
'signal_registration',
|
|
13
|
-
'signal_signed_prekey',
|
|
14
|
-
'signal_prekey',
|
|
15
|
-
'signal_session',
|
|
16
|
-
'signal_identity',
|
|
17
|
-
'sender_keys',
|
|
18
|
-
'sender_key_distribution',
|
|
19
|
-
'appstate_sync_keys',
|
|
20
|
-
'appstate_collection_versions',
|
|
21
|
-
'appstate_collection_index_values',
|
|
22
|
-
'retry_outbound_messages',
|
|
23
|
-
'retry_inbound_counters',
|
|
24
|
-
'mailbox_messages',
|
|
25
|
-
'mailbox_threads',
|
|
26
|
-
'mailbox_contacts',
|
|
27
|
-
'group_participants_cache',
|
|
28
|
-
'device_list_cache'
|
|
29
|
-
]);
|
|
30
|
-
const WA_SQLITE_ALLOWED_TABLE_NAME_SET = new Set(WA_SQLITE_TABLE_NAME_ORDER);
|
|
31
|
-
const WA_SQLITE_ALLOWED_TABLE_NAME_LIST = WA_SQLITE_TABLE_NAME_ORDER.join(', ');
|
|
32
|
-
exports.WA_SQLITE_DEFAULT_TABLE_NAMES = Object.freeze({
|
|
33
|
-
wa_migrations: 'wa_migrations',
|
|
34
|
-
auth_credentials: 'auth_credentials',
|
|
35
|
-
signal_meta: 'signal_meta',
|
|
36
|
-
signal_registration: 'signal_registration',
|
|
37
|
-
signal_signed_prekey: 'signal_signed_prekey',
|
|
38
|
-
signal_prekey: 'signal_prekey',
|
|
39
|
-
signal_session: 'signal_session',
|
|
40
|
-
signal_identity: 'signal_identity',
|
|
41
|
-
sender_keys: 'sender_keys',
|
|
42
|
-
sender_key_distribution: 'sender_key_distribution',
|
|
43
|
-
appstate_sync_keys: 'appstate_sync_keys',
|
|
44
|
-
appstate_collection_versions: 'appstate_collection_versions',
|
|
45
|
-
appstate_collection_index_values: 'appstate_collection_index_values',
|
|
46
|
-
retry_outbound_messages: 'retry_outbound_messages',
|
|
47
|
-
retry_inbound_counters: 'retry_inbound_counters',
|
|
48
|
-
mailbox_messages: 'mailbox_messages',
|
|
49
|
-
mailbox_threads: 'mailbox_threads',
|
|
50
|
-
mailbox_contacts: 'mailbox_contacts',
|
|
51
|
-
group_participants_cache: 'group_participants_cache',
|
|
52
|
-
device_list_cache: 'device_list_cache'
|
|
53
|
-
});
|
|
54
|
-
const DEFAULT_SQLITE_TABLE_NAME_SERIALIZATION = serializeSqliteTableNames(exports.WA_SQLITE_DEFAULT_TABLE_NAMES);
|
|
55
|
-
function normalizeTableName(table, rawValue) {
|
|
56
|
-
const value = rawValue.trim();
|
|
57
|
-
if (value.length === 0) {
|
|
58
|
-
throw new Error(`sqlite tableNames.${table} must be a non-empty string`);
|
|
59
|
-
}
|
|
60
|
-
if (!SQLITE_TABLE_NAME_PATTERN.test(value)) {
|
|
61
|
-
throw new Error(`sqlite tableNames.${table} must match ${SQLITE_TABLE_NAME_PATTERN.toString()}`);
|
|
62
|
-
}
|
|
63
|
-
return value;
|
|
64
|
-
}
|
|
65
|
-
function assertNoDuplicateTableNames(tableNames) {
|
|
66
|
-
const seen = new Set();
|
|
67
|
-
for (const table of WA_SQLITE_TABLE_NAME_ORDER) {
|
|
68
|
-
const mapped = tableNames[table];
|
|
69
|
-
const normalizedMapped = mapped.toLowerCase();
|
|
70
|
-
if (seen.has(normalizedMapped)) {
|
|
71
|
-
throw new Error(`sqlite tableNames contains duplicate target "${mapped}"`);
|
|
72
|
-
}
|
|
73
|
-
seen.add(normalizedMapped);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
function resolveSqliteTableNames(overrides) {
|
|
77
|
-
if (!overrides) {
|
|
78
|
-
return exports.WA_SQLITE_DEFAULT_TABLE_NAMES;
|
|
79
|
-
}
|
|
80
|
-
const entries = Object.entries(overrides);
|
|
81
|
-
if (entries.length === 0) {
|
|
82
|
-
return exports.WA_SQLITE_DEFAULT_TABLE_NAMES;
|
|
83
|
-
}
|
|
84
|
-
const resolved = {
|
|
85
|
-
...exports.WA_SQLITE_DEFAULT_TABLE_NAMES
|
|
86
|
-
};
|
|
87
|
-
for (const [table, rawName] of entries) {
|
|
88
|
-
if (!WA_SQLITE_ALLOWED_TABLE_NAME_SET.has(table)) {
|
|
89
|
-
throw new Error(`unsupported sqlite tableNames key "${table}". Allowed table names: ${WA_SQLITE_ALLOWED_TABLE_NAME_LIST}`);
|
|
90
|
-
}
|
|
91
|
-
if (typeof rawName !== 'string') {
|
|
92
|
-
throw new Error(`sqlite tableNames.${table} must be a string`);
|
|
93
|
-
}
|
|
94
|
-
const tableName = table;
|
|
95
|
-
resolved[tableName] = normalizeTableName(tableName, rawName);
|
|
96
|
-
}
|
|
97
|
-
assertNoDuplicateTableNames(resolved);
|
|
98
|
-
return Object.freeze(resolved);
|
|
99
|
-
}
|
|
100
|
-
function serializeSqliteTableNames(tableNames) {
|
|
101
|
-
return WA_SQLITE_TABLE_NAME_ORDER.map((table) => `${table}=${tableNames[table]}`).join(';');
|
|
102
|
-
}
|
|
103
|
-
function escapeRegexToken(value) {
|
|
104
|
-
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
105
|
-
}
|
|
106
|
-
function createSqliteTableNameSqlResolver(tableNames) {
|
|
107
|
-
const serialized = serializeSqliteTableNames(tableNames);
|
|
108
|
-
if (serialized === DEFAULT_SQLITE_TABLE_NAME_SERIALIZATION) {
|
|
109
|
-
return (sql) => sql;
|
|
110
|
-
}
|
|
111
|
-
const pattern = new RegExp(`\\b(?:${WA_SQLITE_TABLE_NAME_ORDER.map(escapeRegexToken).join('|')})\\b`, 'g');
|
|
112
|
-
return (sql) => sql.replace(pattern, (token) => tableNames[token] ?? token);
|
|
113
|
-
}
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WaThreadSqliteStore = void 0;
|
|
4
|
-
const BaseSqliteStore_1 = require("../../providers/sqlite/BaseSqliteStore");
|
|
5
|
-
const coercion_1 = require("../../../util/coercion");
|
|
6
|
-
const collections_1 = require("../../../util/collections");
|
|
7
|
-
const THREAD_COLUMNS = 'jid, name, unread_count, archived, pinned, mute_end_ms, marked_as_unread, ephemeral_expiration';
|
|
8
|
-
function decodeThreadRow(row) {
|
|
9
|
-
return {
|
|
10
|
-
jid: (0, coercion_1.asString)(row.jid, 'mailbox_threads.jid'),
|
|
11
|
-
name: (0, coercion_1.asOptionalString)(row.name, 'mailbox_threads.name'),
|
|
12
|
-
unreadCount: (0, coercion_1.asOptionalNumber)(row.unread_count, 'mailbox_threads.unread_count'),
|
|
13
|
-
archived: (0, coercion_1.toBoolOrUndef)(row.archived),
|
|
14
|
-
pinned: (0, coercion_1.asOptionalNumber)(row.pinned, 'mailbox_threads.pinned'),
|
|
15
|
-
muteEndMs: (0, coercion_1.asOptionalNumber)(row.mute_end_ms, 'mailbox_threads.mute_end_ms'),
|
|
16
|
-
markedAsUnread: (0, coercion_1.toBoolOrUndef)(row.marked_as_unread),
|
|
17
|
-
ephemeralExpiration: (0, coercion_1.asOptionalNumber)(row.ephemeral_expiration, 'mailbox_threads.ephemeral_expiration')
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
class WaThreadSqliteStore extends BaseSqliteStore_1.BaseSqliteStore {
|
|
21
|
-
constructor(options) {
|
|
22
|
-
super(options, ['mailbox']);
|
|
23
|
-
}
|
|
24
|
-
async upsert(record) {
|
|
25
|
-
const db = await this.getConnection();
|
|
26
|
-
this.upsertThreadRow(db, record);
|
|
27
|
-
}
|
|
28
|
-
async upsertBatch(records) {
|
|
29
|
-
if (records.length === 0) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
await this.withTransaction((db) => {
|
|
33
|
-
for (const record of records) {
|
|
34
|
-
this.upsertThreadRow(db, record);
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
async getByJid(jid) {
|
|
39
|
-
const db = await this.getConnection();
|
|
40
|
-
const row = db.get(`SELECT ${THREAD_COLUMNS}
|
|
41
|
-
FROM mailbox_threads
|
|
42
|
-
WHERE session_id = ? AND jid = ?`, [this.options.sessionId, jid]);
|
|
43
|
-
return row ? decodeThreadRow(row) : null;
|
|
44
|
-
}
|
|
45
|
-
async list(limit) {
|
|
46
|
-
const db = await this.getConnection();
|
|
47
|
-
const rows = db.all(`SELECT ${THREAD_COLUMNS}
|
|
48
|
-
FROM mailbox_threads
|
|
49
|
-
WHERE session_id = ?
|
|
50
|
-
LIMIT ?`, [this.options.sessionId, (0, collections_1.normalizeQueryLimit)(limit, 100)]);
|
|
51
|
-
return rows.map(decodeThreadRow);
|
|
52
|
-
}
|
|
53
|
-
async deleteByJid(jid) {
|
|
54
|
-
const db = await this.getConnection();
|
|
55
|
-
db.run(`DELETE FROM mailbox_threads
|
|
56
|
-
WHERE session_id = ? AND jid = ?`, [this.options.sessionId, jid]);
|
|
57
|
-
const row = db.get('SELECT changes() AS total', []);
|
|
58
|
-
return row ? Number(row.total) : 0;
|
|
59
|
-
}
|
|
60
|
-
async clear() {
|
|
61
|
-
const db = await this.getConnection();
|
|
62
|
-
db.run('DELETE FROM mailbox_threads WHERE session_id = ?', [this.options.sessionId]);
|
|
63
|
-
}
|
|
64
|
-
upsertThreadRow(db, record) {
|
|
65
|
-
db.run(`INSERT INTO mailbox_threads (
|
|
66
|
-
session_id, jid, name, unread_count, archived, pinned,
|
|
67
|
-
mute_end_ms, marked_as_unread, ephemeral_expiration
|
|
68
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
69
|
-
ON CONFLICT(session_id, jid) DO UPDATE SET
|
|
70
|
-
name=COALESCE(excluded.name, mailbox_threads.name),
|
|
71
|
-
unread_count=COALESCE(excluded.unread_count, mailbox_threads.unread_count),
|
|
72
|
-
archived=COALESCE(excluded.archived, mailbox_threads.archived),
|
|
73
|
-
pinned=COALESCE(excluded.pinned, mailbox_threads.pinned),
|
|
74
|
-
mute_end_ms=COALESCE(excluded.mute_end_ms, mailbox_threads.mute_end_ms),
|
|
75
|
-
marked_as_unread=COALESCE(excluded.marked_as_unread, mailbox_threads.marked_as_unread),
|
|
76
|
-
ephemeral_expiration=COALESCE(excluded.ephemeral_expiration, mailbox_threads.ephemeral_expiration)`, [
|
|
77
|
-
this.options.sessionId,
|
|
78
|
-
record.jid,
|
|
79
|
-
record.name ?? null,
|
|
80
|
-
record.unreadCount ?? null,
|
|
81
|
-
record.archived === undefined ? null : record.archived ? 1 : 0,
|
|
82
|
-
record.pinned ?? null,
|
|
83
|
-
record.muteEndMs ?? null,
|
|
84
|
-
record.markedAsUnread === undefined ? null : record.markedAsUnread ? 1 : 0,
|
|
85
|
-
record.ephemeralExpiration ?? null
|
|
86
|
-
]);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
exports.WaThreadSqliteStore = WaThreadSqliteStore;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildUsyncUserNode = exports.buildUsyncIq = exports.buildLeaveGroupIq = exports.buildGroupParticipantChangeIq = exports.buildCreateGroupIq = exports.buildSignedPreKeyRotateIq = exports.buildPreKeyUploadIq = exports.buildMissingPreKeysFetchIq = exports.buildRetryReceiptNode = exports.buildInboundRetryReceiptAckNode = exports.buildInboundRetryReceiptNode = exports.buildInboundReceiptAckNode = exports.buildInboundMessageAckNode = exports.buildInboundDeliveryReceiptNode = exports.buildGroupSenderKeyMessageNode = exports.buildGroupRetryMessageNode = exports.buildGroupDirectMessageNode = exports.buildDirectMessageFanoutNode = exports.buildMediaConnIq = exports.buildNotificationAckNode = exports.buildIqResultNode = exports.buildGetCountryCodeRequestNode = exports.buildCompanionHelloRequestNode = exports.buildCompanionFinishRequestNode = exports.buildNewsletterMetadataSyncIq = exports.buildGroupsDirtySyncIq = exports.buildClearDirtyBitsIq = exports.buildAccountPrivacySyncIq = exports.buildAccountPictureSyncIq = exports.buildAccountDevicesSyncIq = exports.buildAccountBlocklistSyncIq = void 0;
|
|
4
|
-
var account_sync_1 = require("../../node/builders/account-sync");
|
|
5
|
-
Object.defineProperty(exports, "buildAccountBlocklistSyncIq", { enumerable: true, get: function () { return account_sync_1.buildAccountBlocklistSyncIq; } });
|
|
6
|
-
Object.defineProperty(exports, "buildAccountDevicesSyncIq", { enumerable: true, get: function () { return account_sync_1.buildAccountDevicesSyncIq; } });
|
|
7
|
-
Object.defineProperty(exports, "buildAccountPictureSyncIq", { enumerable: true, get: function () { return account_sync_1.buildAccountPictureSyncIq; } });
|
|
8
|
-
Object.defineProperty(exports, "buildAccountPrivacySyncIq", { enumerable: true, get: function () { return account_sync_1.buildAccountPrivacySyncIq; } });
|
|
9
|
-
Object.defineProperty(exports, "buildClearDirtyBitsIq", { enumerable: true, get: function () { return account_sync_1.buildClearDirtyBitsIq; } });
|
|
10
|
-
Object.defineProperty(exports, "buildGroupsDirtySyncIq", { enumerable: true, get: function () { return account_sync_1.buildGroupsDirtySyncIq; } });
|
|
11
|
-
Object.defineProperty(exports, "buildNewsletterMetadataSyncIq", { enumerable: true, get: function () { return account_sync_1.buildNewsletterMetadataSyncIq; } });
|
|
12
|
-
var pairing_1 = require("../../node/builders/pairing");
|
|
13
|
-
Object.defineProperty(exports, "buildCompanionFinishRequestNode", { enumerable: true, get: function () { return pairing_1.buildCompanionFinishRequestNode; } });
|
|
14
|
-
Object.defineProperty(exports, "buildCompanionHelloRequestNode", { enumerable: true, get: function () { return pairing_1.buildCompanionHelloRequestNode; } });
|
|
15
|
-
Object.defineProperty(exports, "buildGetCountryCodeRequestNode", { enumerable: true, get: function () { return pairing_1.buildGetCountryCodeRequestNode; } });
|
|
16
|
-
Object.defineProperty(exports, "buildIqResultNode", { enumerable: true, get: function () { return pairing_1.buildIqResultNode; } });
|
|
17
|
-
Object.defineProperty(exports, "buildNotificationAckNode", { enumerable: true, get: function () { return pairing_1.buildNotificationAckNode; } });
|
|
18
|
-
var media_1 = require("../../node/builders/media");
|
|
19
|
-
Object.defineProperty(exports, "buildMediaConnIq", { enumerable: true, get: function () { return media_1.buildMediaConnIq; } });
|
|
20
|
-
var message_1 = require("../../node/builders/message");
|
|
21
|
-
Object.defineProperty(exports, "buildDirectMessageFanoutNode", { enumerable: true, get: function () { return message_1.buildDirectMessageFanoutNode; } });
|
|
22
|
-
Object.defineProperty(exports, "buildGroupDirectMessageNode", { enumerable: true, get: function () { return message_1.buildGroupDirectMessageNode; } });
|
|
23
|
-
Object.defineProperty(exports, "buildGroupRetryMessageNode", { enumerable: true, get: function () { return message_1.buildGroupRetryMessageNode; } });
|
|
24
|
-
Object.defineProperty(exports, "buildGroupSenderKeyMessageNode", { enumerable: true, get: function () { return message_1.buildGroupSenderKeyMessageNode; } });
|
|
25
|
-
Object.defineProperty(exports, "buildInboundDeliveryReceiptNode", { enumerable: true, get: function () { return message_1.buildInboundDeliveryReceiptNode; } });
|
|
26
|
-
Object.defineProperty(exports, "buildInboundMessageAckNode", { enumerable: true, get: function () { return message_1.buildInboundMessageAckNode; } });
|
|
27
|
-
Object.defineProperty(exports, "buildInboundReceiptAckNode", { enumerable: true, get: function () { return message_1.buildInboundReceiptAckNode; } });
|
|
28
|
-
Object.defineProperty(exports, "buildInboundRetryReceiptNode", { enumerable: true, get: function () { return message_1.buildInboundRetryReceiptNode; } });
|
|
29
|
-
Object.defineProperty(exports, "buildInboundRetryReceiptAckNode", { enumerable: true, get: function () { return message_1.buildInboundRetryReceiptAckNode; } });
|
|
30
|
-
var retry_1 = require("../../node/builders/retry");
|
|
31
|
-
Object.defineProperty(exports, "buildRetryReceiptNode", { enumerable: true, get: function () { return retry_1.buildRetryReceiptNode; } });
|
|
32
|
-
var prekeys_1 = require("../../node/builders/prekeys");
|
|
33
|
-
Object.defineProperty(exports, "buildMissingPreKeysFetchIq", { enumerable: true, get: function () { return prekeys_1.buildMissingPreKeysFetchIq; } });
|
|
34
|
-
Object.defineProperty(exports, "buildPreKeyUploadIq", { enumerable: true, get: function () { return prekeys_1.buildPreKeyUploadIq; } });
|
|
35
|
-
Object.defineProperty(exports, "buildSignedPreKeyRotateIq", { enumerable: true, get: function () { return prekeys_1.buildSignedPreKeyRotateIq; } });
|
|
36
|
-
var group_1 = require("../../node/builders/group");
|
|
37
|
-
Object.defineProperty(exports, "buildCreateGroupIq", { enumerable: true, get: function () { return group_1.buildCreateGroupIq; } });
|
|
38
|
-
Object.defineProperty(exports, "buildGroupParticipantChangeIq", { enumerable: true, get: function () { return group_1.buildGroupParticipantChangeIq; } });
|
|
39
|
-
Object.defineProperty(exports, "buildLeaveGroupIq", { enumerable: true, get: function () { return group_1.buildLeaveGroupIq; } });
|
|
40
|
-
var usync_1 = require("../../node/builders/usync");
|
|
41
|
-
Object.defineProperty(exports, "buildUsyncIq", { enumerable: true, get: function () { return usync_1.buildUsyncIq; } });
|
|
42
|
-
Object.defineProperty(exports, "buildUsyncUserNode", { enumerable: true, get: function () { return usync_1.buildUsyncUserNode; } });
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { WaAppStateStoreData, WaAppStateSyncKey } from '../types';
|
|
2
|
-
type SqliteRow = Readonly<Record<string, unknown>>;
|
|
3
|
-
export declare function encodeAppStateFingerprint(fingerprint: WaAppStateSyncKey['fingerprint']): Uint8Array | null;
|
|
4
|
-
export declare function decodeAppStateFingerprint(raw: unknown): WaAppStateSyncKey['fingerprint'] | undefined;
|
|
5
|
-
export declare function decodeAppStateSyncKeys(rows: readonly SqliteRow[]): readonly WaAppStateSyncKey[];
|
|
6
|
-
export declare function decodeAppStateCollections(versionRows: readonly SqliteRow[], valueRows: readonly SqliteRow[]): WaAppStateStoreData['collections'];
|
|
7
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { WaAuthClientOptions, WaAuthCredentials, WaAuthSocketOptions } from '../types';
|
|
2
|
-
import type { Logger } from '../../infra/log/types';
|
|
3
|
-
import type { WaAuthStore } from '../../store/contracts/auth.store';
|
|
4
|
-
import type { WaSignalStore } from '../../store/contracts/signal.store';
|
|
5
|
-
import type { WaCommsConfig } from '../../transport/types';
|
|
6
|
-
interface WaAuthCredentialsFlowArgs {
|
|
7
|
-
readonly logger: Logger;
|
|
8
|
-
readonly authStore: WaAuthStore;
|
|
9
|
-
readonly signalStore: WaSignalStore;
|
|
10
|
-
}
|
|
11
|
-
export declare function loadOrCreateCredentials(args: WaAuthCredentialsFlowArgs): Promise<WaAuthCredentials>;
|
|
12
|
-
export declare function persistCredentials(args: WaAuthCredentialsFlowArgs, credentials: WaAuthCredentials): Promise<void>;
|
|
13
|
-
export declare function buildCommsConfig(logger: Logger, credentials: WaAuthCredentials, socketOptions: WaAuthSocketOptions, clientOptions: Pick<WaAuthClientOptions, 'deviceBrowser' | 'deviceOsDisplayName' | 'requireFullSync'>): WaCommsConfig;
|
|
14
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare class WaKeyShareCoordinator {
|
|
2
|
-
private readonly waiters;
|
|
3
|
-
private version;
|
|
4
|
-
private bootstrapDone;
|
|
5
|
-
constructor();
|
|
6
|
-
waitForShare(timeoutMs: number): Promise<boolean>;
|
|
7
|
-
notifyReceived(): void;
|
|
8
|
-
notifyDisconnected(): void;
|
|
9
|
-
isBootstrapDone(): boolean;
|
|
10
|
-
markBootstrapDone(): void;
|
|
11
|
-
getVersion(): number;
|
|
12
|
-
hasWaiters(): boolean;
|
|
13
|
-
private releaseWaiters;
|
|
14
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const SERIALIZED_PUB_KEY_PREFIX = 5;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { WaRetryOutboundState, WaRetryReplayPayload } from './types';
|
|
2
|
-
export declare function encodeRetryReplayPayload(payload: WaRetryReplayPayload): Uint8Array;
|
|
3
|
-
export declare function decodeRetryReplayPayload(raw: Uint8Array): WaRetryReplayPayload;
|
|
4
|
-
export declare function pickRetryStateMax(left: WaRetryOutboundState, right: WaRetryOutboundState): WaRetryOutboundState;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { type WaSqliteConnection } from '../../providers/sqlite/connection';
|
|
2
|
-
import { type WaSqliteMigrationDomain } from '../../providers/sqlite/migrations';
|
|
3
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
4
|
-
export declare abstract class BaseSqliteStore {
|
|
5
|
-
protected readonly options: WaSqliteStorageOptions;
|
|
6
|
-
private readonly migrationDomains;
|
|
7
|
-
private connectionPromise;
|
|
8
|
-
protected constructor(options: WaSqliteStorageOptions, migrationDomains: readonly WaSqliteMigrationDomain[]);
|
|
9
|
-
protected getConnection(): Promise<WaSqliteConnection>;
|
|
10
|
-
protected withTransaction<T>(run: (connection: WaSqliteConnection) => Promise<T> | T): Promise<T>;
|
|
11
|
-
destroy(): Promise<void>;
|
|
12
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { AppStateCollectionName, WaAppStateSyncKey, WaAppStateStoreData } from '../../../appstate/types';
|
|
2
|
-
import type { WaAppStateCollectionStateUpdate, WaAppStateCollectionStoreState, WaAppStateStore } from '../../contracts/appstate.store';
|
|
3
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
4
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
5
|
-
export declare class WaAppStateSqliteStore extends BaseSqliteStore implements WaAppStateStore {
|
|
6
|
-
constructor(options: WaSqliteStorageOptions);
|
|
7
|
-
exportData(): Promise<WaAppStateStoreData>;
|
|
8
|
-
upsertSyncKeys(keys: readonly WaAppStateSyncKey[]): Promise<number>;
|
|
9
|
-
getSyncKey(keyId: Uint8Array): Promise<WaAppStateSyncKey | null>;
|
|
10
|
-
getSyncKeyData(keyId: Uint8Array): Promise<Uint8Array | null>;
|
|
11
|
-
getSyncKeyDataBatch(keyIds: readonly Uint8Array[]): Promise<readonly (Uint8Array | null)[]>;
|
|
12
|
-
getActiveSyncKey(): Promise<WaAppStateSyncKey | null>;
|
|
13
|
-
getCollectionState(collection: AppStateCollectionName): Promise<WaAppStateCollectionStoreState>;
|
|
14
|
-
getCollectionStates(collections: readonly AppStateCollectionName[]): Promise<readonly WaAppStateCollectionStoreState[]>;
|
|
15
|
-
setCollectionStates(updates: readonly WaAppStateCollectionStateUpdate[]): Promise<void>;
|
|
16
|
-
clear(): Promise<void>;
|
|
17
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { WaAuthCredentials } from '../../../auth/types';
|
|
2
|
-
import type { WaAuthStore } from '../../contracts/auth.store';
|
|
3
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
4
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
5
|
-
export declare class WaAuthSqliteStore extends BaseSqliteStore implements WaAuthStore {
|
|
6
|
-
constructor(options: WaSqliteStorageOptions);
|
|
7
|
-
load(): Promise<WaAuthCredentials | null>;
|
|
8
|
-
save(credentials: WaAuthCredentials): Promise<void>;
|
|
9
|
-
clear(): Promise<void>;
|
|
10
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { WaSqliteDriver, WaSqliteStorageOptions } from '../../types';
|
|
2
|
-
export interface WaSqliteConnection {
|
|
3
|
-
readonly driver: Exclude<WaSqliteDriver, 'auto'>;
|
|
4
|
-
exec(sql: string): void;
|
|
5
|
-
run(sql: string, params?: readonly unknown[]): void;
|
|
6
|
-
get<T extends Record<string, unknown>>(sql: string, params?: readonly unknown[]): T | null;
|
|
7
|
-
all<T extends Record<string, unknown>>(sql: string, params?: readonly unknown[]): readonly T[];
|
|
8
|
-
close(): void;
|
|
9
|
-
}
|
|
10
|
-
export declare function openSqliteConnection(options: WaSqliteStorageOptions): Promise<WaSqliteConnection>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { WaContactStore as Contract, WaStoredContactRecord } from '../../contracts/contact.store';
|
|
2
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
3
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
4
|
-
export declare class WaContactSqliteStore extends BaseSqliteStore implements Contract {
|
|
5
|
-
constructor(options: WaSqliteStorageOptions);
|
|
6
|
-
upsert(record: WaStoredContactRecord): Promise<void>;
|
|
7
|
-
upsertBatch(records: readonly WaStoredContactRecord[]): Promise<void>;
|
|
8
|
-
getByJid(jid: string): Promise<WaStoredContactRecord | null>;
|
|
9
|
-
deleteByJid(jid: string): Promise<number>;
|
|
10
|
-
clear(): Promise<void>;
|
|
11
|
-
private upsertContactRow;
|
|
12
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { WaDeviceListSnapshot, WaDeviceListStore } from '../../contracts/device-list.store';
|
|
2
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
3
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
4
|
-
export declare class WaDeviceListSqliteStore extends BaseSqliteStore implements WaDeviceListStore {
|
|
5
|
-
private readonly ttlMs;
|
|
6
|
-
private readonly batchSize;
|
|
7
|
-
constructor(options: WaSqliteStorageOptions, ttlMs?: number, batchSize?: number);
|
|
8
|
-
upsertUserDevicesBatch(snapshots: readonly WaDeviceListSnapshot[]): Promise<void>;
|
|
9
|
-
getUserDevicesBatch(userJids: readonly string[], nowMs?: number): Promise<readonly (WaDeviceListSnapshot | null)[]>;
|
|
10
|
-
deleteUserDevices(userJid: string): Promise<number>;
|
|
11
|
-
cleanupExpired(nowMs: number): Promise<number>;
|
|
12
|
-
clear(): Promise<void>;
|
|
13
|
-
private upsertUserDevicesRow;
|
|
14
|
-
private deleteUserDevicesByJids;
|
|
15
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { WaMessageStore as Contract, WaStoredMessageRecord } from '../../contracts/message.store';
|
|
2
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
3
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
4
|
-
export declare class WaMessageSqliteStore extends BaseSqliteStore implements Contract {
|
|
5
|
-
constructor(options: WaSqliteStorageOptions);
|
|
6
|
-
upsert(record: WaStoredMessageRecord): Promise<void>;
|
|
7
|
-
upsertBatch(records: readonly WaStoredMessageRecord[]): Promise<void>;
|
|
8
|
-
getById(id: string): Promise<WaStoredMessageRecord | null>;
|
|
9
|
-
listByThread(threadJid: string, limit?: number, beforeTimestampMs?: number): Promise<readonly WaStoredMessageRecord[]>;
|
|
10
|
-
deleteById(id: string): Promise<number>;
|
|
11
|
-
clear(): Promise<void>;
|
|
12
|
-
private upsertMessageRow;
|
|
13
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import type { WaSqliteConnection } from '../../providers/sqlite/connection';
|
|
2
|
-
export type WaSqliteMigrationDomain = 'auth' | 'signal' | 'senderKey' | 'appState' | 'retry' | 'participants' | 'deviceList' | 'mailbox';
|
|
3
|
-
export declare function ensureSqliteMigrations(db: WaSqliteConnection, domains: readonly WaSqliteMigrationDomain[]): Promise<void>;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { WaParticipantsSnapshot, WaParticipantsStore } from '../../contracts/participants.store';
|
|
2
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
3
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
4
|
-
export declare class WaParticipantsSqliteStore extends BaseSqliteStore implements WaParticipantsStore {
|
|
5
|
-
private readonly ttlMs;
|
|
6
|
-
constructor(options: WaSqliteStorageOptions, ttlMs?: number);
|
|
7
|
-
upsertGroupParticipants(snapshot: WaParticipantsSnapshot): Promise<void>;
|
|
8
|
-
getGroupParticipants(groupJid: string, nowMs?: number): Promise<WaParticipantsSnapshot | null>;
|
|
9
|
-
deleteGroupParticipants(groupJid: string): Promise<number>;
|
|
10
|
-
cleanupExpired(nowMs: number): Promise<number>;
|
|
11
|
-
clear(): Promise<void>;
|
|
12
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { WaRetryOutboundMessageRecord, WaRetryOutboundState } from '../../../retry/types';
|
|
2
|
-
import type { WaRetryStore } from '../../contracts/retry.store';
|
|
3
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
4
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
5
|
-
export declare class WaRetrySqliteStore extends BaseSqliteStore implements WaRetryStore {
|
|
6
|
-
private readonly ttlMs;
|
|
7
|
-
constructor(options: WaSqliteStorageOptions, ttlMs?: number);
|
|
8
|
-
getTtlMs(): number;
|
|
9
|
-
upsertOutboundMessage(record: WaRetryOutboundMessageRecord): Promise<void>;
|
|
10
|
-
getOutboundMessage(messageId: string): Promise<WaRetryOutboundMessageRecord | null>;
|
|
11
|
-
updateOutboundMessageState(messageId: string, state: WaRetryOutboundState, updatedAtMs: number, expiresAtMs: number): Promise<void>;
|
|
12
|
-
incrementInboundCounter(messageId: string, requesterJid: string, updatedAtMs: number, expiresAtMs: number): Promise<number>;
|
|
13
|
-
cleanupExpired(nowMs: number): Promise<number>;
|
|
14
|
-
clear(): Promise<void>;
|
|
15
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { SenderKeyDistributionRecord, SenderKeyRecord, SignalAddress } from '../../../signal/types';
|
|
2
|
-
import type { WaSenderKeyStore as WaSenderKeyStoreContract } from '../../contracts/sender-key.store';
|
|
3
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
4
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
5
|
-
export declare class SenderKeySqliteStore extends BaseSqliteStore implements WaSenderKeyStoreContract {
|
|
6
|
-
private readonly distributionBatchSize;
|
|
7
|
-
constructor(options: WaSqliteStorageOptions, distributionBatchSize?: number);
|
|
8
|
-
upsertSenderKey(record: SenderKeyRecord): Promise<void>;
|
|
9
|
-
upsertSenderKeyDistribution(record: SenderKeyDistributionRecord): Promise<void>;
|
|
10
|
-
upsertSenderKeyDistributions(records: readonly SenderKeyDistributionRecord[]): Promise<void>;
|
|
11
|
-
getGroupSenderKeyList(groupId: string): Promise<{
|
|
12
|
-
readonly skList: readonly SenderKeyRecord[];
|
|
13
|
-
readonly skDistribList: readonly SenderKeyDistributionRecord[];
|
|
14
|
-
}>;
|
|
15
|
-
getDeviceSenderKey(groupId: string, sender: SignalAddress): Promise<SenderKeyRecord | null>;
|
|
16
|
-
getDeviceSenderKeyDistributions(groupId: string, senders: readonly SignalAddress[]): Promise<readonly (SenderKeyDistributionRecord | null)[]>;
|
|
17
|
-
deleteDeviceSenderKey(target: SignalAddress, groupId?: string): Promise<number>;
|
|
18
|
-
markForgetSenderKey(groupId: string, participants: readonly SignalAddress[]): Promise<number>;
|
|
19
|
-
clear(): Promise<void>;
|
|
20
|
-
private countDelete;
|
|
21
|
-
private upsertSenderKeyDistributionRow;
|
|
22
|
-
private distributionRowKey;
|
|
23
|
-
private distributionTargetKey;
|
|
24
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type { PreKeyRecord, RegistrationInfo, SignalAddress, SignalSessionRecord, SignedPreKeyRecord } from '../../../signal/types';
|
|
2
|
-
import type { WaSignalStore as WaSignalStoreContract } from '../../contracts/signal.store';
|
|
3
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
4
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
5
|
-
interface WaSignalSqliteStoreOptions {
|
|
6
|
-
readonly preKeyBatchSize?: number;
|
|
7
|
-
readonly hasSessionBatchSize?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare class WaSignalSqliteStore extends BaseSqliteStore implements WaSignalStoreContract {
|
|
10
|
-
private readonly preKeyBatchSize;
|
|
11
|
-
private readonly hasSessionBatchSize;
|
|
12
|
-
constructor(options: WaSqliteStorageOptions, storeOptions?: WaSignalSqliteStoreOptions);
|
|
13
|
-
getRegistrationInfo(): Promise<RegistrationInfo | null>;
|
|
14
|
-
setRegistrationInfo(info: RegistrationInfo): Promise<void>;
|
|
15
|
-
getSignedPreKey(): Promise<SignedPreKeyRecord | null>;
|
|
16
|
-
setSignedPreKey(record: SignedPreKeyRecord): Promise<void>;
|
|
17
|
-
getSignedPreKeyById(keyId: number): Promise<SignedPreKeyRecord | null>;
|
|
18
|
-
setSignedPreKeyRotationTs(value: number | null): Promise<void>;
|
|
19
|
-
getSignedPreKeyRotationTs(): Promise<number | null>;
|
|
20
|
-
putPreKey(record: PreKeyRecord): Promise<void>;
|
|
21
|
-
getOrGenPreKeys(count: number, generator: (keyId: number) => PreKeyRecord | Promise<PreKeyRecord>): Promise<readonly PreKeyRecord[]>;
|
|
22
|
-
getPreKeyById(keyId: number): Promise<PreKeyRecord | null>;
|
|
23
|
-
getPreKeysById(keyIds: readonly number[]): Promise<readonly (PreKeyRecord | null)[]>;
|
|
24
|
-
consumePreKeyById(keyId: number): Promise<PreKeyRecord | null>;
|
|
25
|
-
getOrGenSinglePreKey(generator: (keyId: number) => PreKeyRecord | Promise<PreKeyRecord>): Promise<PreKeyRecord>;
|
|
26
|
-
markKeyAsUploaded(keyId: number): Promise<void>;
|
|
27
|
-
setServerHasPreKeys(value: boolean): Promise<void>;
|
|
28
|
-
getServerHasPreKeys(): Promise<boolean>;
|
|
29
|
-
hasSession(address: SignalAddress): Promise<boolean>;
|
|
30
|
-
hasSessions(addresses: readonly SignalAddress[]): Promise<readonly boolean[]>;
|
|
31
|
-
getSession(address: SignalAddress): Promise<SignalSessionRecord | null>;
|
|
32
|
-
getSessionsBatch(addresses: readonly SignalAddress[]): Promise<readonly (SignalSessionRecord | null)[]>;
|
|
33
|
-
setSession(address: SignalAddress, session: SignalSessionRecord): Promise<void>;
|
|
34
|
-
setSessionsBatch(entries: readonly {
|
|
35
|
-
readonly address: SignalAddress;
|
|
36
|
-
readonly session: SignalSessionRecord;
|
|
37
|
-
}[]): Promise<void>;
|
|
38
|
-
deleteSession(address: SignalAddress): Promise<void>;
|
|
39
|
-
getRemoteIdentity(address: SignalAddress): Promise<Uint8Array | null>;
|
|
40
|
-
getRemoteIdentities(addresses: readonly SignalAddress[]): Promise<readonly (Uint8Array | null)[]>;
|
|
41
|
-
setRemoteIdentity(address: SignalAddress, identityKey: Uint8Array): Promise<void>;
|
|
42
|
-
setRemoteIdentities(entries: readonly {
|
|
43
|
-
readonly address: SignalAddress;
|
|
44
|
-
readonly identityKey: Uint8Array;
|
|
45
|
-
}[]): Promise<void>;
|
|
46
|
-
clear(): Promise<void>;
|
|
47
|
-
private upsertPreKey;
|
|
48
|
-
private upsertSession;
|
|
49
|
-
private ensureMetaRow;
|
|
50
|
-
private getMeta;
|
|
51
|
-
private upsertRemoteIdentity;
|
|
52
|
-
}
|
|
53
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { WaSqliteTableName, WaSqliteTableNameOverrides } from '../../types';
|
|
2
|
-
export declare const WA_SQLITE_DEFAULT_TABLE_NAMES: Readonly<Record<WaSqliteTableName, string>>;
|
|
3
|
-
export declare function resolveSqliteTableNames(overrides?: WaSqliteTableNameOverrides): Readonly<Record<WaSqliteTableName, string>>;
|
|
4
|
-
export declare function serializeSqliteTableNames(tableNames: Readonly<Record<WaSqliteTableName, string>>): string;
|
|
5
|
-
export declare function createSqliteTableNameSqlResolver(tableNames: Readonly<Record<WaSqliteTableName, string>>): (sql: string) => string;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { WaStoredThreadRecord, WaThreadStore as Contract } from '../../contracts/thread.store';
|
|
2
|
-
import { BaseSqliteStore } from '../../providers/sqlite/BaseSqliteStore';
|
|
3
|
-
import type { WaSqliteStorageOptions } from '../../types';
|
|
4
|
-
export declare class WaThreadSqliteStore extends BaseSqliteStore implements Contract {
|
|
5
|
-
constructor(options: WaSqliteStorageOptions);
|
|
6
|
-
upsert(record: WaStoredThreadRecord): Promise<void>;
|
|
7
|
-
upsertBatch(records: readonly WaStoredThreadRecord[]): Promise<void>;
|
|
8
|
-
getByJid(jid: string): Promise<WaStoredThreadRecord | null>;
|
|
9
|
-
list(limit?: number): Promise<readonly WaStoredThreadRecord[]>;
|
|
10
|
-
deleteByJid(jid: string): Promise<number>;
|
|
11
|
-
clear(): Promise<void>;
|
|
12
|
-
private upsertThreadRow;
|
|
13
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export { buildAccountBlocklistSyncIq, buildAccountDevicesSyncIq, buildAccountPictureSyncIq, buildAccountPrivacySyncIq, buildClearDirtyBitsIq, buildGroupsDirtySyncIq, buildNewsletterMetadataSyncIq } from '../../node/builders/account-sync';
|
|
2
|
-
export { buildCompanionFinishRequestNode, buildCompanionHelloRequestNode, buildGetCountryCodeRequestNode, buildIqResultNode, buildNotificationAckNode } from '../../node/builders/pairing';
|
|
3
|
-
export { buildMediaConnIq } from '../../node/builders/media';
|
|
4
|
-
export { buildDirectMessageFanoutNode, buildGroupDirectMessageNode, buildGroupRetryMessageNode, buildGroupSenderKeyMessageNode, buildInboundDeliveryReceiptNode, buildInboundMessageAckNode, buildInboundReceiptAckNode, buildInboundRetryReceiptNode, buildInboundRetryReceiptAckNode } from '../../node/builders/message';
|
|
5
|
-
export { buildRetryReceiptNode } from '../../node/builders/retry';
|
|
6
|
-
export { buildMissingPreKeysFetchIq, buildPreKeyUploadIq, buildSignedPreKeyRotateIq } from '../../node/builders/prekeys';
|
|
7
|
-
export { buildCreateGroupIq, buildGroupParticipantChangeIq, buildLeaveGroupIq } from '../../node/builders/group';
|
|
8
|
-
export { buildUsyncIq, buildUsyncUserNode, type BuildUsyncIqInput, type BuildUsyncUserNodeInput, type WaUsyncContext, type WaUsyncMode } from '../../node/builders/usync';
|
|
File without changes
|