zapo-js 0.1.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 +235 -0
- package/dist/appstate/WaAppStateCrypto.js +202 -0
- package/dist/appstate/WaAppStateSyncClient.js +808 -0
- package/dist/appstate/WaAppStateSyncResponseParser.js +71 -0
- package/dist/appstate/constants.js +23 -0
- package/dist/appstate/index.js +28 -0
- package/dist/appstate/store/sqlite.js +55 -0
- package/dist/appstate/types.js +2 -0
- package/dist/appstate/utils.js +84 -0
- package/dist/auth/WaAuthClient.js +266 -0
- package/dist/auth/flow/WaAuthCredentialsFlow.js +123 -0
- package/dist/auth/index.js +27 -0
- package/dist/auth/pairing/WaPairingCodeCrypto.js +75 -0
- package/dist/auth/pairing/WaPairingFlow.js +328 -0
- package/dist/auth/pairing/WaQrFlow.js +86 -0
- package/dist/auth/pairing/constants.js +5 -0
- package/dist/auth/types.js +2 -0
- package/dist/client/WaClient.js +749 -0
- package/dist/client/WaClientFactory.js +381 -0
- package/dist/client/coordinators/WaGroupCoordinator.js +191 -0
- package/dist/client/coordinators/WaIncomingNodeCoordinator.js +315 -0
- package/dist/client/coordinators/WaMessageDispatchCoordinator.js +1061 -0
- package/dist/client/coordinators/WaPassiveTasksCoordinator.js +200 -0
- package/dist/client/coordinators/WaRetryCoordinator.js +494 -0
- package/dist/client/coordinators/WaStreamControlCoordinator.js +123 -0
- package/dist/client/dirty.js +254 -0
- package/dist/client/events/chat.js +226 -0
- package/dist/client/events/group.js +410 -0
- package/dist/client/history-sync.js +122 -0
- package/dist/client/incoming.js +236 -0
- package/dist/client/index.js +5 -0
- package/dist/client/mailbox.js +49 -0
- package/dist/client/messages.js +152 -0
- package/dist/client/types.js +2 -0
- package/dist/crypto/core/constants.js +4 -0
- package/dist/crypto/core/encoding.js +29 -0
- package/dist/crypto/core/hkdf.js +26 -0
- package/dist/crypto/core/index.js +43 -0
- package/dist/crypto/core/keys.js +73 -0
- package/dist/crypto/core/nonce.js +18 -0
- package/dist/crypto/core/primitives.js +121 -0
- package/dist/crypto/core/random.js +32 -0
- package/dist/crypto/curves/Ed25519.js +42 -0
- package/dist/crypto/curves/X25519.js +64 -0
- package/dist/crypto/curves/constants.js +6 -0
- package/dist/crypto/curves/types.js +9 -0
- package/dist/crypto/index.js +22 -0
- package/dist/crypto/math/constants.js +44 -0
- package/dist/crypto/math/edwards.js +64 -0
- package/dist/crypto/math/le.js +20 -0
- package/dist/crypto/math/mod.js +38 -0
- package/dist/crypto/math/types.js +2 -0
- package/dist/esm/appstate/WaAppStateCrypto.js +198 -0
- package/dist/esm/appstate/WaAppStateSyncClient.js +803 -0
- package/dist/esm/appstate/WaAppStateSyncResponseParser.js +67 -0
- package/dist/esm/appstate/constants.js +20 -0
- package/dist/esm/appstate/index.js +6 -0
- package/dist/esm/appstate/store/sqlite.js +49 -0
- package/dist/esm/appstate/types.js +1 -0
- package/dist/esm/appstate/utils.js +75 -0
- package/dist/esm/auth/WaAuthClient.js +262 -0
- package/dist/esm/auth/flow/WaAuthCredentialsFlow.js +118 -0
- package/dist/esm/auth/index.js +5 -0
- package/dist/esm/auth/pairing/WaPairingCodeCrypto.js +71 -0
- package/dist/esm/auth/pairing/WaPairingFlow.js +324 -0
- package/dist/esm/auth/pairing/WaQrFlow.js +82 -0
- package/dist/esm/auth/pairing/constants.js +2 -0
- package/dist/esm/auth/types.js +1 -0
- package/dist/esm/client/WaClient.js +745 -0
- package/dist/esm/client/WaClientFactory.js +377 -0
- package/dist/esm/client/coordinators/WaGroupCoordinator.js +188 -0
- package/dist/esm/client/coordinators/WaIncomingNodeCoordinator.js +311 -0
- package/dist/esm/client/coordinators/WaMessageDispatchCoordinator.js +1057 -0
- package/dist/esm/client/coordinators/WaPassiveTasksCoordinator.js +196 -0
- package/dist/esm/client/coordinators/WaRetryCoordinator.js +490 -0
- package/dist/esm/client/coordinators/WaStreamControlCoordinator.js +120 -0
- package/dist/esm/client/dirty.js +250 -0
- package/dist/esm/client/events/chat.js +223 -0
- package/dist/esm/client/events/group.js +407 -0
- package/dist/esm/client/history-sync.js +119 -0
- package/dist/esm/client/incoming.js +227 -0
- package/dist/esm/client/index.js +1 -0
- package/dist/esm/client/mailbox.js +46 -0
- package/dist/esm/client/messages.js +148 -0
- package/dist/esm/client/types.js +1 -0
- package/dist/esm/crypto/core/constants.js +1 -0
- package/dist/esm/crypto/core/encoding.js +25 -0
- package/dist/esm/crypto/core/hkdf.js +22 -0
- package/dist/esm/crypto/core/index.js +11 -0
- package/dist/esm/crypto/core/keys.js +66 -0
- package/dist/esm/crypto/core/nonce.js +15 -0
- package/dist/esm/crypto/core/primitives.js +102 -0
- package/dist/esm/crypto/core/random.js +28 -0
- package/dist/esm/crypto/curves/Ed25519.js +38 -0
- package/dist/esm/crypto/curves/X25519.js +58 -0
- package/dist/esm/crypto/curves/constants.js +3 -0
- package/dist/esm/crypto/curves/types.js +6 -0
- package/dist/esm/crypto/index.js +3 -0
- package/dist/esm/crypto/math/constants.js +41 -0
- package/dist/esm/crypto/math/edwards.js +60 -0
- package/dist/esm/crypto/math/le.js +16 -0
- package/dist/esm/crypto/math/mod.js +31 -0
- package/dist/esm/crypto/math/types.js +1 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/infra/log/ConsoleLogger.js +40 -0
- package/dist/esm/infra/log/PinoLogger.js +73 -0
- package/dist/esm/infra/log/types.js +1 -0
- package/dist/esm/infra/perf/BoundedTaskQueue.js +62 -0
- package/dist/esm/media/WaMediaCrypto.js +224 -0
- package/dist/esm/media/WaMediaTransferClient.js +361 -0
- package/dist/esm/media/conn.js +33 -0
- package/dist/esm/media/constants.js +18 -0
- package/dist/esm/media/index.js +3 -0
- package/dist/esm/media/types.js +1 -0
- package/dist/esm/message/WaMessageClient.js +210 -0
- package/dist/esm/message/ack.js +46 -0
- package/dist/esm/message/content.js +20 -0
- package/dist/esm/message/device-sent.js +49 -0
- package/dist/esm/message/incoming.js +318 -0
- package/dist/esm/message/index.js +2 -0
- package/dist/esm/message/padding.js +20 -0
- package/dist/esm/message/phash.js +25 -0
- package/dist/esm/message/types.js +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/proto.js +3 -0
- package/dist/esm/protocol/appstate.js +34 -0
- package/dist/esm/protocol/auth.js +12 -0
- package/dist/esm/protocol/browser.js +41 -0
- package/dist/esm/protocol/constants.js +11 -0
- package/dist/esm/protocol/defaults.js +27 -0
- package/dist/esm/protocol/dirty.js +26 -0
- package/dist/esm/protocol/group.js +5 -0
- package/dist/esm/protocol/index.js +11 -0
- package/dist/esm/protocol/jid.js +94 -0
- package/dist/esm/protocol/media.js +20 -0
- package/dist/esm/protocol/message.js +16 -0
- package/dist/esm/protocol/nodes.js +83 -0
- package/dist/esm/protocol/notification.js +50 -0
- package/dist/esm/protocol/stream.js +60 -0
- package/dist/esm/retry/constants.js +20 -0
- package/dist/esm/retry/index.js +5 -0
- package/dist/esm/retry/outbound.js +83 -0
- package/dist/esm/retry/parse.js +130 -0
- package/dist/esm/retry/reason.js +50 -0
- package/dist/esm/retry/replay.js +177 -0
- package/dist/esm/retry/types.js +1 -0
- package/dist/esm/signal/api/SignalDeviceSyncApi.js +185 -0
- package/dist/esm/signal/api/SignalDigestSyncApi.js +179 -0
- package/dist/esm/signal/api/SignalIdentitySyncApi.js +111 -0
- package/dist/esm/signal/api/SignalMissingPreKeysSyncApi.js +141 -0
- package/dist/esm/signal/api/SignalRotateKeyApi.js +59 -0
- package/dist/esm/signal/api/SignalSessionSyncApi.js +187 -0
- package/dist/esm/signal/api/codec.js +23 -0
- package/dist/esm/signal/api/constants.js +9 -0
- package/dist/esm/signal/api/prekeys.js +9 -0
- package/dist/esm/signal/constants.js +16 -0
- package/dist/esm/signal/crypto/WaAdvSignature.js +60 -0
- package/dist/esm/signal/crypto/constants.js +8 -0
- package/dist/esm/signal/group/SenderKeyChain.js +97 -0
- package/dist/esm/signal/group/SenderKeyCodec.js +46 -0
- package/dist/esm/signal/group/SenderKeyManager.js +176 -0
- package/dist/esm/signal/index.js +11 -0
- package/dist/esm/signal/registration/keygen.js +31 -0
- package/dist/esm/signal/registration/utils.js +16 -0
- package/dist/esm/signal/session/SignalProtocol.js +122 -0
- package/dist/esm/signal/session/SignalRatchet.js +260 -0
- package/dist/esm/signal/session/SignalSerializer.js +63 -0
- package/dist/esm/signal/session/SignalSession.js +153 -0
- package/dist/esm/signal/store/sqlite.js +310 -0
- package/dist/esm/signal/types.js +1 -0
- package/dist/esm/store/contracts/appstate.store.js +1 -0
- package/dist/esm/store/contracts/auth.store.js +1 -0
- package/dist/esm/store/contracts/contact.store.js +1 -0
- package/dist/esm/store/contracts/device-list.store.js +1 -0
- package/dist/esm/store/contracts/message.store.js +1 -0
- package/dist/esm/store/contracts/participants.store.js +1 -0
- package/dist/esm/store/contracts/retry.store.js +1 -0
- package/dist/esm/store/contracts/sender-key.store.js +1 -0
- package/dist/esm/store/contracts/signal.store.js +1 -0
- package/dist/esm/store/contracts/thread.store.js +1 -0
- package/dist/esm/store/createStore.js +278 -0
- package/dist/esm/store/index.js +20 -0
- package/dist/esm/store/noop.store.js +43 -0
- package/dist/esm/store/providers/memory/appstate.store.js +101 -0
- package/dist/esm/store/providers/memory/contact.store.js +23 -0
- package/dist/esm/store/providers/memory/device-list.store.js +86 -0
- package/dist/esm/store/providers/memory/message.store.js +40 -0
- package/dist/esm/store/providers/memory/participants.store.js +61 -0
- package/dist/esm/store/providers/memory/retry.store.js +71 -0
- package/dist/esm/store/providers/memory/sender-key.store.js +88 -0
- package/dist/esm/store/providers/memory/signal.store.js +170 -0
- package/dist/esm/store/providers/memory/thread.store.js +34 -0
- package/dist/esm/store/providers/sqlite/BaseSqliteStore.js +37 -0
- package/dist/esm/store/providers/sqlite/appstate.store.js +169 -0
- package/dist/esm/store/providers/sqlite/auth.store.js +176 -0
- package/dist/esm/store/providers/sqlite/connection.js +240 -0
- package/dist/esm/store/providers/sqlite/contact.store.js +61 -0
- package/dist/esm/store/providers/sqlite/device-list.store.js +155 -0
- package/dist/esm/store/providers/sqlite/message.store.js +119 -0
- package/dist/esm/store/providers/sqlite/migrations.js +347 -0
- package/dist/esm/store/providers/sqlite/participants.store.js +85 -0
- package/dist/esm/store/providers/sqlite/retry.store.js +144 -0
- package/dist/esm/store/providers/sqlite/sender-key.store.js +203 -0
- package/dist/esm/store/providers/sqlite/signal.store.js +353 -0
- package/dist/esm/store/providers/sqlite/thread.store.js +72 -0
- package/dist/esm/store/types.js +1 -0
- package/dist/esm/transport/WaComms.js +527 -0
- package/dist/esm/transport/WaWebSocket.js +361 -0
- package/dist/esm/transport/binary/constants.js +96 -0
- package/dist/esm/transport/binary/decoder.js +275 -0
- package/dist/esm/transport/binary/encoder.js +210 -0
- package/dist/esm/transport/binary/index.js +4 -0
- package/dist/esm/transport/binary/tokens.js +1280 -0
- package/dist/esm/transport/index.js +6 -0
- package/dist/esm/transport/keepalive/WaKeepAlive.js +141 -0
- package/dist/esm/transport/node/WaNodeOrchestrator.js +143 -0
- package/dist/esm/transport/node/WaNodeTransport.js +64 -0
- package/dist/esm/transport/node/builders/accountSync.js +101 -0
- package/dist/esm/transport/node/builders/group.js +47 -0
- package/dist/esm/transport/node/builders/index.js +7 -0
- package/dist/esm/transport/node/builders/media.js +10 -0
- package/dist/esm/transport/node/builders/message.js +317 -0
- package/dist/esm/transport/node/builders/pairing.js +130 -0
- package/dist/esm/transport/node/builders/prekeys.js +102 -0
- package/dist/esm/transport/node/builders/retry.js +116 -0
- package/dist/esm/transport/node/helpers.js +37 -0
- package/dist/esm/transport/node/query.js +53 -0
- package/dist/esm/transport/node/xml.js +39 -0
- package/dist/esm/transport/noise/WaClientPayload.js +162 -0
- package/dist/esm/transport/noise/WaFrameCodec.js +121 -0
- package/dist/esm/transport/noise/WaNoiseCert.js +74 -0
- package/dist/esm/transport/noise/WaNoiseHandshake.js +57 -0
- package/dist/esm/transport/noise/WaNoiseSession.js +322 -0
- package/dist/esm/transport/noise/WaNoiseSocket.js +17 -0
- package/dist/esm/transport/noise/constants.js +8 -0
- package/dist/esm/transport/noise/types.js +1 -0
- package/dist/esm/transport/stream/parse.js +91 -0
- package/dist/esm/transport/types.js +1 -0
- package/dist/esm/util/async.js +5 -0
- package/dist/esm/util/base64.js +18 -0
- package/dist/esm/util/bytes.js +275 -0
- package/dist/esm/util/coercion.js +56 -0
- package/dist/esm/util/collections.js +27 -0
- package/dist/esm/util/primitives.js +32 -0
- package/dist/esm/util/runtime.js +15 -0
- package/dist/esm/util/signal-address.js +5 -0
- package/dist/index.js +52 -0
- package/dist/infra/log/ConsoleLogger.js +44 -0
- package/dist/infra/log/PinoLogger.js +111 -0
- package/dist/infra/log/types.js +2 -0
- package/dist/infra/perf/BoundedTaskQueue.js +67 -0
- package/dist/media/WaMediaCrypto.js +228 -0
- package/dist/media/WaMediaTransferClient.js +365 -0
- package/dist/media/conn.js +36 -0
- package/dist/media/constants.js +21 -0
- package/dist/media/index.js +9 -0
- package/dist/media/types.js +2 -0
- package/dist/message/WaMessageClient.js +214 -0
- package/dist/message/ack.js +52 -0
- package/dist/message/content.js +24 -0
- package/dist/message/device-sent.js +53 -0
- package/dist/message/incoming.js +321 -0
- package/dist/message/index.js +20 -0
- package/dist/message/padding.js +24 -0
- package/dist/message/phash.js +28 -0
- package/dist/message/types.js +2 -0
- package/dist/proto.js +5 -0
- package/dist/protocol/appstate.js +37 -0
- package/dist/protocol/auth.js +15 -0
- package/dist/protocol/browser.js +45 -0
- package/dist/protocol/constants.js +46 -0
- package/dist/protocol/defaults.js +30 -0
- package/dist/protocol/dirty.js +29 -0
- package/dist/protocol/group.js +8 -0
- package/dist/protocol/index.js +53 -0
- package/dist/protocol/jid.js +107 -0
- package/dist/protocol/media.js +24 -0
- package/dist/protocol/message.js +19 -0
- package/dist/protocol/nodes.js +86 -0
- package/dist/protocol/notification.js +53 -0
- package/dist/protocol/stream.js +63 -0
- package/dist/retry/constants.js +23 -0
- package/dist/retry/index.js +19 -0
- package/dist/retry/outbound.js +88 -0
- package/dist/retry/parse.js +133 -0
- package/dist/retry/reason.js +53 -0
- package/dist/retry/replay.js +181 -0
- package/dist/retry/types.js +2 -0
- package/dist/signal/api/SignalDeviceSyncApi.js +189 -0
- package/dist/signal/api/SignalDigestSyncApi.js +183 -0
- package/dist/signal/api/SignalIdentitySyncApi.js +115 -0
- package/dist/signal/api/SignalMissingPreKeysSyncApi.js +145 -0
- package/dist/signal/api/SignalRotateKeyApi.js +63 -0
- package/dist/signal/api/SignalSessionSyncApi.js +191 -0
- package/dist/signal/api/codec.js +27 -0
- package/dist/signal/api/constants.js +12 -0
- package/dist/signal/api/prekeys.js +16 -0
- package/dist/signal/constants.js +19 -0
- package/dist/signal/crypto/WaAdvSignature.js +72 -0
- package/dist/signal/crypto/constants.js +11 -0
- package/dist/signal/group/SenderKeyChain.js +101 -0
- package/dist/signal/group/SenderKeyCodec.js +50 -0
- package/dist/signal/group/SenderKeyManager.js +180 -0
- package/dist/signal/index.js +29 -0
- package/dist/signal/registration/keygen.js +37 -0
- package/dist/signal/registration/utils.js +19 -0
- package/dist/signal/session/SignalProtocol.js +126 -0
- package/dist/signal/session/SignalRatchet.js +268 -0
- package/dist/signal/session/SignalSerializer.js +69 -0
- package/dist/signal/session/SignalSession.js +165 -0
- package/dist/signal/store/sqlite.js +324 -0
- package/dist/signal/types.js +2 -0
- package/dist/store/contracts/appstate.store.js +2 -0
- package/dist/store/contracts/auth.store.js +2 -0
- package/dist/store/contracts/contact.store.js +2 -0
- package/dist/store/contracts/device-list.store.js +2 -0
- package/dist/store/contracts/message.store.js +2 -0
- package/dist/store/contracts/participants.store.js +2 -0
- package/dist/store/contracts/retry.store.js +2 -0
- package/dist/store/contracts/sender-key.store.js +2 -0
- package/dist/store/contracts/signal.store.js +2 -0
- package/dist/store/contracts/thread.store.js +2 -0
- package/dist/store/createStore.js +281 -0
- package/dist/store/index.js +43 -0
- package/dist/store/noop.store.js +46 -0
- package/dist/store/providers/memory/appstate.store.js +105 -0
- package/dist/store/providers/memory/contact.store.js +27 -0
- package/dist/store/providers/memory/device-list.store.js +90 -0
- package/dist/store/providers/memory/message.store.js +44 -0
- package/dist/store/providers/memory/participants.store.js +65 -0
- package/dist/store/providers/memory/retry.store.js +75 -0
- package/dist/store/providers/memory/sender-key.store.js +92 -0
- package/dist/store/providers/memory/signal.store.js +174 -0
- package/dist/store/providers/memory/thread.store.js +38 -0
- package/dist/store/providers/sqlite/BaseSqliteStore.js +41 -0
- package/dist/store/providers/sqlite/appstate.store.js +173 -0
- package/dist/store/providers/sqlite/auth.store.js +180 -0
- package/dist/store/providers/sqlite/connection.js +276 -0
- package/dist/store/providers/sqlite/contact.store.js +65 -0
- package/dist/store/providers/sqlite/device-list.store.js +159 -0
- package/dist/store/providers/sqlite/message.store.js +123 -0
- package/dist/store/providers/sqlite/migrations.js +350 -0
- package/dist/store/providers/sqlite/participants.store.js +89 -0
- package/dist/store/providers/sqlite/retry.store.js +148 -0
- package/dist/store/providers/sqlite/sender-key.store.js +207 -0
- package/dist/store/providers/sqlite/signal.store.js +357 -0
- package/dist/store/providers/sqlite/thread.store.js +76 -0
- package/dist/store/types.js +2 -0
- package/dist/transport/WaComms.js +531 -0
- package/dist/transport/WaWebSocket.js +365 -0
- package/dist/transport/binary/constants.js +99 -0
- package/dist/transport/binary/decoder.js +279 -0
- package/dist/transport/binary/encoder.js +214 -0
- package/dist/transport/binary/index.js +23 -0
- package/dist/transport/binary/tokens.js +1283 -0
- package/dist/transport/index.js +18 -0
- package/dist/transport/keepalive/WaKeepAlive.js +145 -0
- package/dist/transport/node/WaNodeOrchestrator.js +147 -0
- package/dist/transport/node/WaNodeTransport.js +68 -0
- package/dist/transport/node/builders/accountSync.js +110 -0
- package/dist/transport/node/builders/group.js +52 -0
- package/dist/transport/node/builders/index.js +39 -0
- package/dist/transport/node/builders/media.js +13 -0
- package/dist/transport/node/builders/message.js +328 -0
- package/dist/transport/node/builders/pairing.js +137 -0
- package/dist/transport/node/builders/prekeys.js +107 -0
- package/dist/transport/node/builders/retry.js +119 -0
- package/dist/transport/node/helpers.js +46 -0
- package/dist/transport/node/query.js +59 -0
- package/dist/transport/node/xml.js +42 -0
- package/dist/transport/noise/WaClientPayload.js +166 -0
- package/dist/transport/noise/WaFrameCodec.js +125 -0
- package/dist/transport/noise/WaNoiseCert.js +77 -0
- package/dist/transport/noise/WaNoiseHandshake.js +61 -0
- package/dist/transport/noise/WaNoiseSession.js +326 -0
- package/dist/transport/noise/WaNoiseSocket.js +21 -0
- package/dist/transport/noise/constants.js +11 -0
- package/dist/transport/noise/types.js +2 -0
- package/dist/transport/stream/parse.js +97 -0
- package/dist/transport/types.js +2 -0
- package/dist/types/appstate/WaAppStateCrypto.d.ts +59 -0
- package/dist/types/appstate/WaAppStateSyncClient.d.ts +63 -0
- package/dist/types/appstate/WaAppStateSyncResponseParser.d.ts +12 -0
- package/dist/types/appstate/constants.d.ts +14 -0
- package/dist/types/appstate/index.d.ts +7 -0
- package/dist/types/appstate/store/sqlite.d.ts +21 -0
- package/dist/types/appstate/types.d.ts +66 -0
- package/dist/types/appstate/utils.d.ts +10 -0
- package/dist/types/auth/WaAuthClient.d.ts +61 -0
- package/dist/types/auth/flow/WaAuthCredentialsFlow.d.ts +14 -0
- package/dist/types/auth/index.d.ts +6 -0
- package/dist/types/auth/pairing/WaPairingCodeCrypto.d.ts +17 -0
- package/dist/types/auth/pairing/WaPairingFlow.d.ts +48 -0
- package/dist/types/auth/pairing/WaQrFlow.d.ts +23 -0
- package/dist/types/auth/pairing/constants.d.ts +2 -0
- package/dist/types/auth/types.d.ts +48 -0
- package/dist/types/client/WaClient.d.ts +97 -0
- package/dist/types/client/WaClientFactory.d.ts +83 -0
- package/dist/types/client/coordinators/WaGroupCoordinator.d.ts +48 -0
- package/dist/types/client/coordinators/WaIncomingNodeCoordinator.d.ts +60 -0
- package/dist/types/client/coordinators/WaMessageDispatchCoordinator.d.ts +90 -0
- package/dist/types/client/coordinators/WaPassiveTasksCoordinator.d.ts +43 -0
- package/dist/types/client/coordinators/WaRetryCoordinator.d.ts +61 -0
- package/dist/types/client/coordinators/WaStreamControlCoordinator.d.ts +17 -0
- package/dist/types/client/dirty.d.ts +17 -0
- package/dist/types/client/events/chat.d.ts +3 -0
- package/dist/types/client/events/group.d.ts +7 -0
- package/dist/types/client/history-sync.d.ts +17 -0
- package/dist/types/client/incoming.d.ts +35 -0
- package/dist/types/client/index.d.ts +2 -0
- package/dist/types/client/mailbox.d.ts +12 -0
- package/dist/types/client/messages.d.ts +17 -0
- package/dist/types/client/types.d.ts +235 -0
- package/dist/types/crypto/core/constants.d.ts +1 -0
- package/dist/types/crypto/core/encoding.d.ts +11 -0
- package/dist/types/crypto/core/hkdf.d.ts +8 -0
- package/dist/types/crypto/core/index.d.ts +11 -0
- package/dist/types/crypto/core/keys.d.ts +20 -0
- package/dist/types/crypto/core/nonce.d.ts +5 -0
- package/dist/types/crypto/core/primitives.d.ts +25 -0
- package/dist/types/crypto/core/random.d.ts +8 -0
- package/dist/types/crypto/curves/Ed25519.d.ts +7 -0
- package/dist/types/crypto/curves/X25519.d.ts +8 -0
- package/dist/types/crypto/curves/constants.d.ts +2 -0
- package/dist/types/crypto/curves/types.d.ts +10 -0
- package/dist/types/crypto/index.d.ts +3 -0
- package/dist/types/crypto/math/constants.d.ts +7 -0
- package/dist/types/crypto/math/edwards.d.ts +3 -0
- package/dist/types/crypto/math/le.d.ts +2 -0
- package/dist/types/crypto/math/mod.d.ts +5 -0
- package/dist/types/crypto/math/types.d.ts +6 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/infra/log/ConsoleLogger.d.ts +11 -0
- package/dist/types/infra/log/PinoLogger.d.ts +30 -0
- package/dist/types/infra/log/types.d.ts +9 -0
- package/dist/types/infra/perf/BoundedTaskQueue.d.ts +19 -0
- package/dist/types/media/WaMediaCrypto.d.ts +12 -0
- package/dist/types/media/WaMediaTransferClient.d.ts +81 -0
- package/dist/types/media/conn.d.ts +3 -0
- package/dist/types/media/constants.d.ts +10 -0
- package/dist/types/media/index.d.ts +4 -0
- package/dist/types/media/types.d.ts +56 -0
- package/dist/types/message/WaMessageClient.d.ts +29 -0
- package/dist/types/message/ack.d.ts +5 -0
- package/dist/types/message/content.d.ts +4 -0
- package/dist/types/message/device-sent.d.ts +3 -0
- package/dist/types/message/incoming.d.ts +18 -0
- package/dist/types/message/index.d.ts +2 -0
- package/dist/types/message/padding.d.ts +2 -0
- package/dist/types/message/phash.d.ts +1 -0
- package/dist/types/message/types.d.ts +58 -0
- package/dist/types/proto.d.ts +2 -0
- package/dist/types/protocol/appstate.d.ts +34 -0
- package/dist/types/protocol/auth.d.ts +12 -0
- package/dist/types/protocol/browser.d.ts +22 -0
- package/dist/types/protocol/constants.d.ts +11 -0
- package/dist/types/protocol/defaults.d.ts +26 -0
- package/dist/types/protocol/dirty.d.ts +15 -0
- package/dist/types/protocol/group.d.ts +6 -0
- package/dist/types/protocol/index.d.ts +11 -0
- package/dist/types/protocol/jid.d.ts +19 -0
- package/dist/types/protocol/media.d.ts +15 -0
- package/dist/types/protocol/message.d.ts +16 -0
- package/dist/types/protocol/nodes.d.ts +83 -0
- package/dist/types/protocol/notification.d.ts +50 -0
- package/dist/types/protocol/stream.d.ts +60 -0
- package/dist/types/retry/constants.d.ts +21 -0
- package/dist/types/retry/index.d.ts +7 -0
- package/dist/types/retry/outbound.d.ts +4 -0
- package/dist/types/retry/parse.d.ts +3 -0
- package/dist/types/retry/reason.d.ts +2 -0
- package/dist/types/retry/replay.d.ts +30 -0
- package/dist/types/retry/types.d.ts +70 -0
- package/dist/types/signal/api/SignalDeviceSyncApi.d.ts +31 -0
- package/dist/types/signal/api/SignalDigestSyncApi.d.ts +27 -0
- package/dist/types/signal/api/SignalIdentitySyncApi.d.ts +26 -0
- package/dist/types/signal/api/SignalMissingPreKeysSyncApi.d.ts +39 -0
- package/dist/types/signal/api/SignalRotateKeyApi.d.ts +22 -0
- package/dist/types/signal/api/SignalSessionSyncApi.d.ts +38 -0
- package/dist/types/signal/api/codec.d.ts +3 -0
- package/dist/types/signal/api/constants.d.ts +9 -0
- package/dist/types/signal/api/prekeys.d.ts +6 -0
- package/dist/types/signal/constants.d.ts +14 -0
- package/dist/types/signal/crypto/WaAdvSignature.d.ts +7 -0
- package/dist/types/signal/crypto/constants.d.ts +5 -0
- package/dist/types/signal/group/SenderKeyChain.d.ts +11 -0
- package/dist/types/signal/group/SenderKeyCodec.d.ts +14 -0
- package/dist/types/signal/group/SenderKeyManager.d.ts +22 -0
- package/dist/types/signal/index.d.ts +12 -0
- package/dist/types/signal/registration/keygen.d.ts +5 -0
- package/dist/types/signal/registration/utils.d.ts +9 -0
- package/dist/types/signal/session/SignalProtocol.d.ts +22 -0
- package/dist/types/signal/session/SignalRatchet.d.ts +25 -0
- package/dist/types/signal/session/SignalSerializer.d.ts +6 -0
- package/dist/types/signal/session/SignalSession.d.ts +43 -0
- package/dist/types/signal/store/sqlite.d.ts +72 -0
- package/dist/types/signal/types.d.ts +110 -0
- package/dist/types/store/contracts/appstate.store.d.ts +22 -0
- package/dist/types/store/contracts/auth.store.d.ts +6 -0
- package/dist/types/store/contracts/contact.store.d.ts +14 -0
- package/dist/types/store/contracts/device-list.store.d.ts +16 -0
- package/dist/types/store/contracts/message.store.d.ts +18 -0
- package/dist/types/store/contracts/participants.store.d.ts +14 -0
- package/dist/types/store/contracts/retry.store.d.ts +11 -0
- package/dist/types/store/contracts/sender-key.store.d.ts +16 -0
- package/dist/types/store/contracts/signal.store.d.ts +31 -0
- package/dist/types/store/contracts/thread.store.d.ts +17 -0
- package/dist/types/store/createStore.d.ts +2 -0
- package/dist/types/store/index.d.ts +31 -0
- package/dist/types/store/noop.store.d.ts +10 -0
- package/dist/types/store/providers/memory/appstate.store.d.ts +21 -0
- package/dist/types/store/providers/memory/contact.store.d.ts +13 -0
- package/dist/types/store/providers/memory/device-list.store.d.ts +20 -0
- package/dist/types/store/providers/memory/message.store.d.ts +14 -0
- package/dist/types/store/providers/memory/participants.store.d.ts +18 -0
- package/dist/types/store/providers/memory/retry.store.d.ts +18 -0
- package/dist/types/store/providers/memory/sender-key.store.d.ts +28 -0
- package/dist/types/store/providers/memory/signal.store.d.ts +51 -0
- package/dist/types/store/providers/memory/thread.store.d.ts +14 -0
- package/dist/types/store/providers/sqlite/BaseSqliteStore.d.ts +12 -0
- package/dist/types/store/providers/sqlite/appstate.store.d.ts +15 -0
- package/dist/types/store/providers/sqlite/auth.store.d.ts +10 -0
- package/dist/types/store/providers/sqlite/connection.d.ts +10 -0
- package/dist/types/store/providers/sqlite/contact.store.d.ts +10 -0
- package/dist/types/store/providers/sqlite/device-list.store.d.ts +18 -0
- package/dist/types/store/providers/sqlite/message.store.d.ts +11 -0
- package/dist/types/store/providers/sqlite/migrations.d.ts +3 -0
- package/dist/types/store/providers/sqlite/participants.store.d.ts +13 -0
- package/dist/types/store/providers/sqlite/retry.store.d.ts +16 -0
- package/dist/types/store/providers/sqlite/sender-key.store.d.ts +25 -0
- package/dist/types/store/providers/sqlite/signal.store.d.ts +46 -0
- package/dist/types/store/providers/sqlite/thread.store.d.ts +11 -0
- package/dist/types/store/types.d.ts +103 -0
- package/dist/types/transport/WaComms.d.ts +61 -0
- package/dist/types/transport/WaWebSocket.d.ts +36 -0
- package/dist/types/transport/binary/constants.d.ts +49 -0
- package/dist/types/transport/binary/decoder.d.ts +3 -0
- package/dist/types/transport/binary/encoder.d.ts +3 -0
- package/dist/types/transport/binary/index.d.ts +4 -0
- package/dist/types/transport/binary/tokens.d.ts +11 -0
- package/dist/types/transport/index.d.ts +7 -0
- package/dist/types/transport/keepalive/WaKeepAlive.d.ts +39 -0
- package/dist/types/transport/node/WaNodeOrchestrator.d.ts +28 -0
- package/dist/types/transport/node/WaNodeTransport.d.ts +22 -0
- package/dist/types/transport/node/builders/accountSync.d.ts +11 -0
- package/dist/types/transport/node/builders/group.d.ts +16 -0
- package/dist/types/transport/node/builders/index.d.ts +7 -0
- package/dist/types/transport/node/builders/media.d.ts +2 -0
- package/dist/types/transport/node/builders/message.d.ts +52 -0
- package/dist/types/transport/node/builders/pairing.d.ts +18 -0
- package/dist/types/transport/node/builders/prekeys.d.ts +5 -0
- package/dist/types/transport/node/builders/retry.d.ts +18 -0
- package/dist/types/transport/node/helpers.d.ts +8 -0
- package/dist/types/transport/node/query.d.ts +10 -0
- package/dist/types/transport/node/xml.d.ts +2 -0
- package/dist/types/transport/noise/WaClientPayload.d.ts +3 -0
- package/dist/types/transport/noise/WaFrameCodec.d.ts +9 -0
- package/dist/types/transport/noise/WaNoiseCert.d.ts +1 -0
- package/dist/types/transport/noise/WaNoiseHandshake.d.ts +14 -0
- package/dist/types/transport/noise/WaNoiseSession.d.ts +33 -0
- package/dist/types/transport/noise/WaNoiseSocket.d.ts +10 -0
- package/dist/types/transport/noise/constants.d.ts +7 -0
- package/dist/types/transport/noise/types.d.ts +23 -0
- package/dist/types/transport/stream/parse.d.ts +23 -0
- package/dist/types/transport/types.d.ts +71 -0
- package/dist/types/util/async.d.ts +1 -0
- package/dist/types/util/base64.d.ts +4 -0
- package/dist/types/util/bytes.d.ts +28 -0
- package/dist/types/util/coercion.d.ts +8 -0
- package/dist/types/util/collections.d.ts +3 -0
- package/dist/types/util/primitives.d.ts +7 -0
- package/dist/types/util/runtime.d.ts +2 -0
- package/dist/types/util/signal-address.d.ts +2 -0
- package/dist/util/async.js +8 -0
- package/dist/util/base64.js +24 -0
- package/dist/util/bytes.js +291 -0
- package/dist/util/coercion.js +66 -0
- package/dist/util/collections.js +32 -0
- package/dist/util/primitives.js +37 -0
- package/dist/util/runtime.js +19 -0
- package/dist/util/signal-address.js +8 -0
- package/package.json +150 -0
- package/proto/index.d.ts +10861 -0
- package/proto/index.js +1 -0
- package/scripts/check-node-version.cjs +55 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const WA_DIRTY_TYPES: Readonly<{
|
|
2
|
+
readonly ACCOUNT_SYNC: "account_sync";
|
|
3
|
+
readonly GROUPS: "groups";
|
|
4
|
+
readonly SYNCD_APP_STATE: "syncd_app_state";
|
|
5
|
+
readonly NEWSLETTER_METADATA: "newsletter_metadata";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const WA_DIRTY_PROTOCOLS: Readonly<{
|
|
8
|
+
readonly DEVICES: "devices";
|
|
9
|
+
readonly PICTURE: "picture";
|
|
10
|
+
readonly PRIVACY: "privacy";
|
|
11
|
+
readonly BLOCKLIST: "blocklist";
|
|
12
|
+
readonly NOTICE: "notice";
|
|
13
|
+
}>;
|
|
14
|
+
export declare const WA_ACCOUNT_SYNC_PROTOCOLS: readonly ["devices", "picture", "privacy", "blocklist", "notice"];
|
|
15
|
+
export declare const WA_SUPPORTED_DIRTY_TYPES: readonly ["account_sync", "syncd_app_state", "groups", "newsletter_metadata"];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { getWaCompanionPlatformId, WA_BROWSERS, WA_COMPANION_PLATFORM_IDS } from './browser';
|
|
2
|
+
export { WA_SIGNALING, WA_PAIRING_KDF_INFO } from './auth';
|
|
3
|
+
export { WA_DISCONNECT_REASONS, WA_LOGOUT_REASONS, WA_READY_STATES, WA_STREAM_SIGNALING } from './stream';
|
|
4
|
+
export { WA_IQ_TYPES, WA_NODE_TAGS, WA_XMLNS } from './nodes';
|
|
5
|
+
export { WA_MESSAGE_TAGS, WA_MESSAGE_TYPES, WA_RETRYABLE_ACK_CODES } from './message';
|
|
6
|
+
export { WA_APP_STATE_COLLECTIONS, WA_APP_STATE_COLLECTION_STATES, WA_APP_STATE_ERROR_CODES, WA_APP_STATE_KDF_INFO, WA_APP_STATE_KEY_TYPES, WA_APP_STATE_SYNC_DATA_TYPE } from './appstate';
|
|
7
|
+
export { getWaMediaHkdfInfo, WA_MEDIA_HKDF_INFO, WA_PREVIEW_MEDIA_HKDF_INFO } from './media';
|
|
8
|
+
export { WA_ACCOUNT_SYNC_PROTOCOLS, WA_DIRTY_PROTOCOLS, WA_DIRTY_TYPES, WA_SUPPORTED_DIRTY_TYPES } from './dirty';
|
|
9
|
+
export { WA_GROUP_NOTIFICATION_TAGS, WA_NOTIFICATION_TYPES } from './notification';
|
|
10
|
+
export { WA_DEFAULTS } from './defaults';
|
|
11
|
+
export { getLoginIdentity, isGroupJid, normalizeDeviceJid, normalizeRecipientJid, parsePhoneJid, parseSignalAddressFromJid, splitJid, toUserJid } from './jid';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SignalAddress } from '../signal/types';
|
|
2
|
+
export interface ParsedJid {
|
|
3
|
+
readonly user: string;
|
|
4
|
+
readonly server: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function splitJid(jid: string): ParsedJid;
|
|
7
|
+
export declare function normalizeRecipientJid(to: string): string;
|
|
8
|
+
export declare function isJidType(jid: string, type: string): boolean;
|
|
9
|
+
export declare function isGroupJid(jid: string): boolean;
|
|
10
|
+
export declare function isBroadcastJid(jid: string): boolean;
|
|
11
|
+
export declare function isGroupOrBroadcastJid(jid: string): boolean;
|
|
12
|
+
export declare function parseSignalAddressFromJid(jid: string): SignalAddress;
|
|
13
|
+
export declare function toUserJid(jid: string): string;
|
|
14
|
+
export declare function normalizeDeviceJid(jid: string): string;
|
|
15
|
+
export declare function getLoginIdentity(meJid: string): {
|
|
16
|
+
readonly username: number;
|
|
17
|
+
readonly device: number;
|
|
18
|
+
};
|
|
19
|
+
export declare function parsePhoneJid(input: string): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare const WA_MEDIA_HKDF_INFO: Readonly<{
|
|
2
|
+
readonly document: "WhatsApp Document Keys";
|
|
3
|
+
readonly image: "WhatsApp Image Keys";
|
|
4
|
+
readonly sticker: "WhatsApp Image Keys";
|
|
5
|
+
readonly 'xma-image': "WhatsApp Image Keys";
|
|
6
|
+
readonly video: "WhatsApp Video Keys";
|
|
7
|
+
readonly gif: "WhatsApp Video Keys";
|
|
8
|
+
readonly audio: "WhatsApp Audio Keys";
|
|
9
|
+
readonly ptt: "WhatsApp Audio Keys";
|
|
10
|
+
readonly 'md-app-state': "WhatsApp App State Keys";
|
|
11
|
+
readonly 'md-msg-hist': "WhatsApp History Keys";
|
|
12
|
+
readonly history: "WhatsApp History Keys";
|
|
13
|
+
}>;
|
|
14
|
+
export declare const WA_PREVIEW_MEDIA_HKDF_INFO = "Messenger Preview Keys";
|
|
15
|
+
export declare function getWaMediaHkdfInfo(mediaType: string): string;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const WA_MESSAGE_TAGS: Readonly<{
|
|
2
|
+
readonly MESSAGE: "message";
|
|
3
|
+
readonly ENC: "enc";
|
|
4
|
+
readonly RECEIPT: "receipt";
|
|
5
|
+
readonly ACK: "ack";
|
|
6
|
+
readonly ERROR: "error";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const WA_MESSAGE_TYPES: Readonly<{
|
|
9
|
+
readonly ENC_VERSION: "2";
|
|
10
|
+
readonly MEDIA_NOTIFY: "medianotify";
|
|
11
|
+
readonly ACK_TYPE_ERROR: "error";
|
|
12
|
+
readonly ACK_CLASS_ERROR: "error";
|
|
13
|
+
readonly ACK_CLASS_MESSAGE: "message";
|
|
14
|
+
readonly RECEIPT_TYPE_PEER: "peer_msg";
|
|
15
|
+
}>;
|
|
16
|
+
export declare const WA_RETRYABLE_ACK_CODES: readonly ["408", "429", "500", "503"];
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export declare const WA_NODE_TAGS: Readonly<{
|
|
2
|
+
readonly IQ: "iq";
|
|
3
|
+
readonly SYNC: "sync";
|
|
4
|
+
readonly COLLECTION: "collection";
|
|
5
|
+
readonly PATCH: "patch";
|
|
6
|
+
readonly PATCHES: "patches";
|
|
7
|
+
readonly SNAPSHOT: "snapshot";
|
|
8
|
+
readonly ERROR: "error";
|
|
9
|
+
readonly ACK: "ack";
|
|
10
|
+
readonly NOTIFICATION: "notification";
|
|
11
|
+
readonly SUCCESS: "success";
|
|
12
|
+
readonly INFO_BULLETIN: "ib";
|
|
13
|
+
readonly DIRTY: "dirty";
|
|
14
|
+
readonly EDGE_ROUTING: "edge_routing";
|
|
15
|
+
readonly ROUTING_INFO: "routing_info";
|
|
16
|
+
readonly MEDIA_CONN: "media_conn";
|
|
17
|
+
readonly HOST: "host";
|
|
18
|
+
readonly USYNC: "usync";
|
|
19
|
+
readonly QUERY: "query";
|
|
20
|
+
readonly DEVICES: "devices";
|
|
21
|
+
readonly DEVICE: "device";
|
|
22
|
+
readonly DIGEST: "digest";
|
|
23
|
+
readonly KEY_FETCH: "key_fetch";
|
|
24
|
+
readonly LIST: "list";
|
|
25
|
+
readonly USER: "user";
|
|
26
|
+
readonly PICTURE: "picture";
|
|
27
|
+
readonly PRIVACY: "privacy";
|
|
28
|
+
readonly PARTICIPATING: "participating";
|
|
29
|
+
readonly PARTICIPANTS: "participants";
|
|
30
|
+
readonly DESCRIPTION: "description";
|
|
31
|
+
readonly MY_ADDONS: "my_addons";
|
|
32
|
+
readonly KEY: "key";
|
|
33
|
+
readonly REGISTRATION: "registration";
|
|
34
|
+
readonly TYPE: "type";
|
|
35
|
+
readonly IDENTITY: "identity";
|
|
36
|
+
readonly SKEY: "skey";
|
|
37
|
+
readonly ID: "id";
|
|
38
|
+
readonly REF: "ref";
|
|
39
|
+
readonly VALUE: "value";
|
|
40
|
+
readonly SIGNATURE: "signature";
|
|
41
|
+
readonly HASH: "hash";
|
|
42
|
+
readonly ROTATE: "rotate";
|
|
43
|
+
readonly PAIR_DEVICE: "pair-device";
|
|
44
|
+
readonly PAIR_SUCCESS: "pair-success";
|
|
45
|
+
readonly LINK_CODE_COMPANION_REG: "link_code_companion_reg";
|
|
46
|
+
readonly LINK_CODE_PAIRING_REF: "link_code_pairing_ref";
|
|
47
|
+
readonly COUNTRY_CODE: "country_code";
|
|
48
|
+
readonly DEVICE_IDENTITY: "device-identity";
|
|
49
|
+
readonly PLATFORM: "platform";
|
|
50
|
+
readonly SUBJECT: "subject";
|
|
51
|
+
readonly BODY: "body";
|
|
52
|
+
readonly PARTICIPANT: "participant";
|
|
53
|
+
readonly INVITE: "invite";
|
|
54
|
+
readonly LEAVE: "leave";
|
|
55
|
+
readonly GROUP: "group";
|
|
56
|
+
readonly LOCKED: "locked";
|
|
57
|
+
readonly UNLOCKED: "unlocked";
|
|
58
|
+
readonly ANNOUNCEMENT: "announcement";
|
|
59
|
+
readonly EPHEMERAL: "ephemeral";
|
|
60
|
+
readonly MEMBERSHIP_APPROVAL_MODE: "membership_approval_mode";
|
|
61
|
+
readonly GROUP_JOIN: "group_join";
|
|
62
|
+
}>;
|
|
63
|
+
export declare const WA_IQ_TYPES: Readonly<{
|
|
64
|
+
readonly GET: "get";
|
|
65
|
+
readonly SET: "set";
|
|
66
|
+
readonly RESULT: "result";
|
|
67
|
+
readonly ERROR: "error";
|
|
68
|
+
}>;
|
|
69
|
+
export declare const WA_XMLNS: Readonly<{
|
|
70
|
+
readonly MD: "md";
|
|
71
|
+
readonly APP_STATE_SYNC: "w:sync:app:state";
|
|
72
|
+
readonly MEDIA: "w:m";
|
|
73
|
+
readonly SIGNAL: "encrypt";
|
|
74
|
+
readonly DIRTY_BITS: "urn:xmpp:whatsapp:dirty";
|
|
75
|
+
readonly PROFILE_PICTURE: "w:profile:picture";
|
|
76
|
+
readonly PRIVACY: "privacy";
|
|
77
|
+
readonly BLOCKLIST: "blocklist";
|
|
78
|
+
readonly USYNC: "usync";
|
|
79
|
+
readonly GROUPS: "w:g2";
|
|
80
|
+
readonly NEWSLETTER: "newsletter";
|
|
81
|
+
readonly XMPP_PING: "urn:xmpp:ping";
|
|
82
|
+
readonly WHATSAPP_PING: "w:p";
|
|
83
|
+
}>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export declare const WA_NOTIFICATION_TYPES: Readonly<{
|
|
2
|
+
readonly GROUP: "w:gp2";
|
|
3
|
+
}>;
|
|
4
|
+
export declare const WA_GROUP_NOTIFICATION_TAGS: Readonly<{
|
|
5
|
+
readonly REMOVE: "remove";
|
|
6
|
+
readonly ADD: "add";
|
|
7
|
+
readonly DEMOTE: "demote";
|
|
8
|
+
readonly DELETE: "delete";
|
|
9
|
+
readonly PROMOTE: "promote";
|
|
10
|
+
readonly MODIFY: "modify";
|
|
11
|
+
readonly CREATE: "create";
|
|
12
|
+
readonly SUBJECT: "subject";
|
|
13
|
+
readonly DESCRIPTION: "description";
|
|
14
|
+
readonly LOCKED: "locked";
|
|
15
|
+
readonly UNLOCKED: "unlocked";
|
|
16
|
+
readonly ANNOUNCEMENT: "announcement";
|
|
17
|
+
readonly NOT_ANNOUNCEMENT: "not_announcement";
|
|
18
|
+
readonly NO_FREQUENTLY_FORWARDED: "no_frequently_forwarded";
|
|
19
|
+
readonly FREQUENTLY_FORWARDED_OK: "frequently_forwarded_ok";
|
|
20
|
+
readonly INVITE: "invite";
|
|
21
|
+
readonly EPHEMERAL: "ephemeral";
|
|
22
|
+
readonly NOT_EPHEMERAL: "not_ephemeral";
|
|
23
|
+
readonly REVOKE: "revoke";
|
|
24
|
+
readonly SUSPENDED: "suspended";
|
|
25
|
+
readonly UNSUSPENDED: "unsuspended";
|
|
26
|
+
readonly GROWTH_LOCKED: "growth_locked";
|
|
27
|
+
readonly GROWTH_UNLOCKED: "growth_unlocked";
|
|
28
|
+
readonly LINK: "link";
|
|
29
|
+
readonly UNLINK: "unlink";
|
|
30
|
+
readonly LINKED_GROUP_PROMOTE: "linked_group_promote";
|
|
31
|
+
readonly LINKED_GROUP_DEMOTE: "linked_group_demote";
|
|
32
|
+
readonly MEMBERSHIP_APPROVAL_MODE: "membership_approval_mode";
|
|
33
|
+
readonly MEMBERSHIP_APPROVAL_REQUEST: "membership_approval_request";
|
|
34
|
+
readonly CREATED_MEMBERSHIP_REQUESTS: "created_membership_requests";
|
|
35
|
+
readonly REVOKED_MEMBERSHIP_REQUESTS: "revoked_membership_requests";
|
|
36
|
+
readonly ALLOW_NON_ADMIN_SUB_GROUP_CREATION: "allow_non_admin_sub_group_creation";
|
|
37
|
+
readonly NOT_ALLOW_NON_ADMIN_SUB_GROUP_CREATION: "not_allow_non_admin_sub_group_creation";
|
|
38
|
+
readonly ALLOW_ADMIN_REPORTS: "allow_admin_reports";
|
|
39
|
+
readonly NOT_ALLOW_ADMIN_REPORTS: "not_allow_admin_reports";
|
|
40
|
+
readonly REPORTS: "reports";
|
|
41
|
+
readonly CREATED_SUB_GROUP_SUGGESTION: "created_sub_group_suggestion";
|
|
42
|
+
readonly REVOKED_SUB_GROUP_SUGGESTIONS: "revoked_sub_group_suggestions";
|
|
43
|
+
readonly CHANGE_NUMBER: "change_number";
|
|
44
|
+
readonly MEMBER_ADD_MODE: "member_add_mode";
|
|
45
|
+
readonly AUTO_ADD_DISABLED: "auto_add_disabled";
|
|
46
|
+
readonly IS_CAPI_HOSTED_GROUP: "is_capi_hosted_group";
|
|
47
|
+
readonly GROUP_SAFETY_CHECK: "group_safety_check";
|
|
48
|
+
readonly LIMIT_SHARING_ENABLED: "limit_sharing_enabled";
|
|
49
|
+
readonly MISSING_PARTICIPANT_IDENTIFICATION: "missing_participant_identification";
|
|
50
|
+
}>;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
export declare const WA_READY_STATES: Readonly<{
|
|
2
|
+
readonly CONNECTING: 0;
|
|
3
|
+
readonly OPEN: 1;
|
|
4
|
+
readonly CLOSING: 2;
|
|
5
|
+
readonly CLOSED: 3;
|
|
6
|
+
}>;
|
|
7
|
+
export declare const WA_LOGOUT_REASONS: Readonly<{
|
|
8
|
+
readonly USER_INITIATED: "user_initiated";
|
|
9
|
+
readonly SYNCD_FAILURE: "syncd_failure";
|
|
10
|
+
readonly INVALID_ADV_STATUS: "invalid_adv_status";
|
|
11
|
+
readonly CRITICAL_SYNC_TIMEOUT: "critical_sync_timeout";
|
|
12
|
+
readonly SYNCD_TIMEOUT: "syncd_timeout";
|
|
13
|
+
readonly HISTORY_SYNC_TIMEOUT: "history_sync_timeout";
|
|
14
|
+
readonly ACCOUNT_SYNC_TIMEOUT: "account_sync_timeout";
|
|
15
|
+
readonly MD_OPT_OUT: "md_opt_out";
|
|
16
|
+
readonly UNKNOWN_COMPANION: "unknown_companion";
|
|
17
|
+
readonly CLIENT_VERSION_OUTDATED: "client_version_outdated";
|
|
18
|
+
readonly SYNCD_ERROR_DURING_BOOTSTRAP: "syncd_error_during_bootstrap";
|
|
19
|
+
readonly ACCOUNT_SYNC_ERROR: "account_sync_error";
|
|
20
|
+
readonly STORAGE_QUOTA_EXCEEDED: "storage_quota_exceeded";
|
|
21
|
+
readonly PRIMARY_IDENTITY_KEY_CHANGE: "primary_identity_key_change";
|
|
22
|
+
readonly MISSING_ENC_SALT: "missing_enc_salt";
|
|
23
|
+
readonly MISSING_SCREEN_LOCK_SALT: "missing_screen_lock_salt";
|
|
24
|
+
readonly ACCOUNT_LOCKED: "account_locked";
|
|
25
|
+
readonly LID_MIGRATION_SPLIT_THREAD_MISMATCH: "lid_migration_split_thread_mismatch";
|
|
26
|
+
readonly LID_MIGRATION_NO_LID_AVAILABLE: "lid_migration_no_lid_available";
|
|
27
|
+
readonly LID_MIGRATION_PRIMARY_MAPPINGS_OBSOLETE: "lid_migration_primary_mappings_obsolete";
|
|
28
|
+
readonly LID_MIGRATION_PEER_MAPPINGS_NOT_RECEIVED: "lid_migration_peer_mapping_not_received";
|
|
29
|
+
readonly LID_MIGRATION_STATE_DISCREPANCY: "lid_migration_state_discrepancy";
|
|
30
|
+
readonly LID_MIGRATION_PEER_MAPPINGS_MALFORMED: "lid_migration_peer_mapping_malformed";
|
|
31
|
+
readonly LID_MIGRATION_FAILED_TO_PARSE_MAPPING: "lid_migration_failed_to_parse_mapping";
|
|
32
|
+
readonly LID_MIGRATION_COMPANION_INCOMPATIBLE_KILLSWITCH: "lid_migration_companion_incompatible_killswitch";
|
|
33
|
+
readonly LID_MIGRATION_ONE_ON_ONE_THREAD_MIGRATION_INTERNAL_ERROR: "lid_migration_one_on_one_thread_migration_internal_error";
|
|
34
|
+
readonly LID_BLOCKLIST_PN_WHEN_MIGRATED: "lid_blocklist_pn_when_migrated";
|
|
35
|
+
readonly LID_BLOCKLIST_CHAT_DB_UNMIGRATED: "lid_blocklist_chat_db_unmigrated";
|
|
36
|
+
readonly WEB_FAIL_ADD_CHAT: "web_fail_add_chat";
|
|
37
|
+
readonly WEB_FAIL_OFFLINE_RESUME: "web_fail_offline_resume";
|
|
38
|
+
readonly WEB_FAIL_STORAGE_INITIALIZATION: "web_fail_storage_initialization";
|
|
39
|
+
readonly WEB_FAIL_ENC_SALT: "web_fail_enc_salt";
|
|
40
|
+
readonly CACHE_STORAGE_OPEN_FAILED: "cache_storage_open_failed";
|
|
41
|
+
}>;
|
|
42
|
+
export declare const WA_STREAM_SIGNALING: Readonly<{
|
|
43
|
+
readonly STREAM_ERROR_TAG: "stream:error";
|
|
44
|
+
readonly XML_STREAM_END_TAG: "xmlstreamend";
|
|
45
|
+
readonly CONFLICT_TAG: "conflict";
|
|
46
|
+
readonly ACK_TAG: "ack";
|
|
47
|
+
readonly XML_NOT_WELL_FORMED_TAG: "xml-not-well-formed";
|
|
48
|
+
readonly REPLACED_TYPE: "replaced";
|
|
49
|
+
readonly FORCE_LOGIN_CODE: 515;
|
|
50
|
+
readonly FORCE_LOGOUT_CODE: 516;
|
|
51
|
+
}>;
|
|
52
|
+
export declare const WA_DISCONNECT_REASONS: Readonly<{
|
|
53
|
+
readonly CLIENT_DISCONNECTED: "client_disconnected";
|
|
54
|
+
readonly COMMS_STOPPED: "comms_stopped";
|
|
55
|
+
readonly STREAM_ERROR_REPLACED: "stream_error_replaced";
|
|
56
|
+
readonly STREAM_ERROR_DEVICE_REMOVED: "stream_error_device_removed";
|
|
57
|
+
readonly STREAM_ERROR_ACK: "stream_error_ack";
|
|
58
|
+
readonly STREAM_ERROR_XML_NOT_WELL_FORMED: "stream_error_xml_not_well_formed";
|
|
59
|
+
readonly STREAM_ERROR_OTHER: "stream_error_other";
|
|
60
|
+
}>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const MAX_RETRY_ATTEMPTS = 5;
|
|
2
|
+
export declare const RETRY_KEYS_MIN_COUNT = 2;
|
|
3
|
+
export declare const RETRY_OUTBOUND_TTL_MS: number;
|
|
4
|
+
export declare const RETRY_RECEIPT_VERSION = "1";
|
|
5
|
+
export declare const RETRY_REASON: Readonly<{
|
|
6
|
+
readonly UnknownError: 0;
|
|
7
|
+
readonly SignalErrorNoSession: 1;
|
|
8
|
+
readonly SignalErrorInvalidKey: 2;
|
|
9
|
+
readonly SignalErrorInvalidKeyId: 3;
|
|
10
|
+
readonly SignalErrorInvalidMessage: 4;
|
|
11
|
+
readonly SignalErrorInvalidSignature: 5;
|
|
12
|
+
readonly SignalErrorFutureMessage: 6;
|
|
13
|
+
readonly SignalErrorBadMac: 7;
|
|
14
|
+
readonly SignalErrorInvalidSession: 8;
|
|
15
|
+
readonly SignalErrorInvalidMsgKey: 9;
|
|
16
|
+
readonly BadBroadcastEphemeralSetting: 10;
|
|
17
|
+
readonly UnknownCompanionNoPrekey: 11;
|
|
18
|
+
readonly AdvFailure: 12;
|
|
19
|
+
readonly StatusRevokeDelay: 13;
|
|
20
|
+
}>;
|
|
21
|
+
export type WaRetryReasonCode = (typeof RETRY_REASON)[keyof typeof RETRY_REASON];
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { MAX_RETRY_ATTEMPTS, RETRY_KEYS_MIN_COUNT, RETRY_OUTBOUND_TTL_MS, RETRY_REASON, RETRY_RECEIPT_VERSION } from './constants';
|
|
2
|
+
export type { WaRetryReasonCode } from './constants';
|
|
3
|
+
export { mapRetryReasonFromError } from './reason';
|
|
4
|
+
export { parseRetryReceiptRequest } from './parse';
|
|
5
|
+
export type { WaParsedRetryRequest, WaRetryDecryptFailureContext, WaRetryEncryptedReplayPayload, WaRetryKey, WaRetryKeyBundle, WaRetryOpaqueNodeReplayPayload, WaRetryOutboundMessageRecord, WaRetryOutboundMode, WaRetryOutboundState, WaRetryPlaintextReplayPayload, WaRetryReceiptType, WaRetryReplayPayload, WaRetrySignedKey } from './types';
|
|
6
|
+
export { decodeRetryReplayPayload, encodeRetryReplayPayload, pickRetryStateMax } from './outbound';
|
|
7
|
+
export { WaRetryReplayService, type WaRetryReplayServiceOptions, type WaRetryResendResult } from './replay';
|
|
@@ -0,0 +1,4 @@
|
|
|
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;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Logger } from '../infra/log/types';
|
|
2
|
+
import type { WaMessageClient } from '../message/WaMessageClient';
|
|
3
|
+
import { type Proto } from '..';
|
|
4
|
+
import type { WaRetryOutboundMessageRecord } from './types';
|
|
5
|
+
import type { SignalProtocol } from '../signal/session/SignalProtocol';
|
|
6
|
+
export interface WaRetryReplayServiceOptions {
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
readonly messageClient: WaMessageClient;
|
|
9
|
+
readonly signalProtocol: SignalProtocol;
|
|
10
|
+
readonly getCurrentMeJid: () => string | null | undefined;
|
|
11
|
+
readonly getCurrentMeLid: () => string | null | undefined;
|
|
12
|
+
readonly getCurrentSignedIdentity: () => Proto.IADVSignedDeviceIdentity | null | undefined;
|
|
13
|
+
}
|
|
14
|
+
export type WaRetryResendResult = 'resent' | 'ineligible';
|
|
15
|
+
export declare class WaRetryReplayService {
|
|
16
|
+
private readonly options;
|
|
17
|
+
constructor(options: WaRetryReplayServiceOptions);
|
|
18
|
+
resendOutboundMessage(outbound: WaRetryOutboundMessageRecord, requesterJid: string, retryCount: number): Promise<WaRetryResendResult>;
|
|
19
|
+
private resendPlaintextPayload;
|
|
20
|
+
private resendGroupPlaintextPayload;
|
|
21
|
+
private resendEncryptedPayload;
|
|
22
|
+
private resendOpaquePayload;
|
|
23
|
+
private maybeWrapGroupRetryPlaintextForSelfDevice;
|
|
24
|
+
private isRequesterCurrentAccount;
|
|
25
|
+
private get logger();
|
|
26
|
+
private get messageClient();
|
|
27
|
+
private get signalProtocol();
|
|
28
|
+
private getCurrentSignedIdentity;
|
|
29
|
+
private isOpaqueReplayCompatible;
|
|
30
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { BinaryNode } from '../transport/types';
|
|
2
|
+
export type WaRetryReceiptType = 'retry' | 'enc_rekey_retry';
|
|
3
|
+
export type WaRetryOutboundMode = 'plaintext' | 'encrypted' | 'opaque_node';
|
|
4
|
+
export type WaRetryOutboundState = 'pending' | 'delivered' | 'read' | 'played' | 'ineligible';
|
|
5
|
+
export interface WaRetryKey {
|
|
6
|
+
readonly id: number;
|
|
7
|
+
readonly publicKey: Uint8Array;
|
|
8
|
+
}
|
|
9
|
+
export interface WaRetrySignedKey extends WaRetryKey {
|
|
10
|
+
readonly signature: Uint8Array;
|
|
11
|
+
}
|
|
12
|
+
export interface WaRetryKeyBundle {
|
|
13
|
+
readonly identity: Uint8Array;
|
|
14
|
+
readonly deviceIdentity?: Uint8Array;
|
|
15
|
+
readonly key?: WaRetryKey;
|
|
16
|
+
readonly skey: WaRetrySignedKey;
|
|
17
|
+
}
|
|
18
|
+
export interface WaParsedRetryRequest {
|
|
19
|
+
readonly type: WaRetryReceiptType;
|
|
20
|
+
readonly stanzaId: string;
|
|
21
|
+
readonly from: string;
|
|
22
|
+
readonly participant?: string;
|
|
23
|
+
readonly recipient?: string;
|
|
24
|
+
readonly originalMsgId: string;
|
|
25
|
+
readonly retryCount: number;
|
|
26
|
+
readonly retryReason?: number;
|
|
27
|
+
readonly t?: string;
|
|
28
|
+
readonly regId: number;
|
|
29
|
+
readonly keyBundle?: WaRetryKeyBundle;
|
|
30
|
+
}
|
|
31
|
+
export interface WaRetryDecryptFailureContext {
|
|
32
|
+
readonly messageNode: BinaryNode;
|
|
33
|
+
readonly stanzaId: string;
|
|
34
|
+
readonly from: string;
|
|
35
|
+
readonly participant?: string;
|
|
36
|
+
readonly recipient?: string;
|
|
37
|
+
readonly t?: string;
|
|
38
|
+
}
|
|
39
|
+
export interface WaRetryPlaintextReplayPayload {
|
|
40
|
+
readonly mode: 'plaintext';
|
|
41
|
+
readonly to: string;
|
|
42
|
+
readonly type: string;
|
|
43
|
+
readonly plaintext: Uint8Array;
|
|
44
|
+
}
|
|
45
|
+
export interface WaRetryEncryptedReplayPayload {
|
|
46
|
+
readonly mode: 'encrypted';
|
|
47
|
+
readonly to: string;
|
|
48
|
+
readonly type: string;
|
|
49
|
+
readonly encType: 'msg' | 'pkmsg' | 'skmsg';
|
|
50
|
+
readonly ciphertext: Uint8Array;
|
|
51
|
+
readonly participant?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface WaRetryOpaqueNodeReplayPayload {
|
|
54
|
+
readonly mode: 'opaque_node';
|
|
55
|
+
readonly node: Uint8Array;
|
|
56
|
+
}
|
|
57
|
+
export type WaRetryReplayPayload = WaRetryPlaintextReplayPayload | WaRetryEncryptedReplayPayload | WaRetryOpaqueNodeReplayPayload;
|
|
58
|
+
export interface WaRetryOutboundMessageRecord {
|
|
59
|
+
readonly messageId: string;
|
|
60
|
+
readonly toJid: string;
|
|
61
|
+
readonly participantJid?: string;
|
|
62
|
+
readonly recipientJid?: string;
|
|
63
|
+
readonly messageType: string;
|
|
64
|
+
readonly replayMode: WaRetryOutboundMode;
|
|
65
|
+
readonly replayPayload: Uint8Array;
|
|
66
|
+
readonly state: WaRetryOutboundState;
|
|
67
|
+
readonly createdAtMs: number;
|
|
68
|
+
readonly updatedAtMs: number;
|
|
69
|
+
readonly expiresAtMs: number;
|
|
70
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Logger } from '../../infra/log/types';
|
|
2
|
+
import type { WaDeviceListStore } from '../../store/contracts/device-list.store';
|
|
3
|
+
import type { BinaryNode } from '../../transport/types';
|
|
4
|
+
interface SignalDeviceSyncApiOptions {
|
|
5
|
+
readonly logger: Logger;
|
|
6
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
7
|
+
readonly deviceListStore?: WaDeviceListStore;
|
|
8
|
+
readonly defaultTimeoutMs?: number;
|
|
9
|
+
readonly hostDomain?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare class SignalDeviceSyncApi {
|
|
12
|
+
private readonly logger;
|
|
13
|
+
private readonly query;
|
|
14
|
+
private readonly deviceListStore?;
|
|
15
|
+
private readonly defaultTimeoutMs;
|
|
16
|
+
private readonly hostDomain;
|
|
17
|
+
constructor(options: SignalDeviceSyncApiOptions);
|
|
18
|
+
syncDeviceList(userJids: readonly string[], timeoutMs?: number): Promise<readonly {
|
|
19
|
+
readonly jid: string;
|
|
20
|
+
readonly deviceJids: readonly string[];
|
|
21
|
+
}[]>;
|
|
22
|
+
private collectUsersToQuery;
|
|
23
|
+
private makeDeviceSyncRequest;
|
|
24
|
+
private parseDeviceSyncResponse;
|
|
25
|
+
private parseUserDeviceJids;
|
|
26
|
+
private normalizeUsers;
|
|
27
|
+
private normalizeUserJid;
|
|
28
|
+
private toDeviceJid;
|
|
29
|
+
private makeSid;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { Logger } from '../../infra/log/types';
|
|
2
|
+
import type { WaSignalStore } from '../../store/contracts/signal.store';
|
|
3
|
+
import type { BinaryNode } from '../../transport/types';
|
|
4
|
+
interface SignalDigestSyncApiOptions {
|
|
5
|
+
readonly logger: Logger;
|
|
6
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
7
|
+
readonly signalStore: WaSignalStore;
|
|
8
|
+
readonly defaultTimeoutMs?: number;
|
|
9
|
+
readonly hostDomain?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SignalDigestValidationResult {
|
|
12
|
+
readonly valid: boolean;
|
|
13
|
+
readonly shouldReupload: boolean;
|
|
14
|
+
readonly reason: 'ok' | 'missing_remote_digest' | 'unsupported_key_bundle_type' | 'missing_local_state' | 'registration_mismatch' | 'identity_mismatch' | 'signed_prekey_mismatch' | 'missing_local_prekey' | 'hash_mismatch';
|
|
15
|
+
readonly preKeyCount: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class SignalDigestSyncApi {
|
|
18
|
+
private readonly logger;
|
|
19
|
+
private readonly query;
|
|
20
|
+
private readonly signalStore;
|
|
21
|
+
private readonly defaultTimeoutMs;
|
|
22
|
+
private readonly hostDomain;
|
|
23
|
+
constructor(options: SignalDigestSyncApiOptions);
|
|
24
|
+
validateLocalKeyBundle(timeoutMs?: number): Promise<SignalDigestValidationResult>;
|
|
25
|
+
private parseDigestPayload;
|
|
26
|
+
}
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Logger } from '../../infra/log/types';
|
|
2
|
+
import type { WaSignalStore } from '../../store/contracts/signal.store';
|
|
3
|
+
import type { BinaryNode } from '../../transport/types';
|
|
4
|
+
export interface SignalIdentitySyncEntry {
|
|
5
|
+
readonly jid: string;
|
|
6
|
+
readonly identity: Uint8Array;
|
|
7
|
+
readonly type?: number;
|
|
8
|
+
}
|
|
9
|
+
interface SignalIdentitySyncApiOptions {
|
|
10
|
+
readonly logger: Logger;
|
|
11
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
12
|
+
readonly signalStore?: WaSignalStore;
|
|
13
|
+
readonly defaultTimeoutMs?: number;
|
|
14
|
+
readonly hostDomain?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare class SignalIdentitySyncApi {
|
|
17
|
+
private readonly logger;
|
|
18
|
+
private readonly query;
|
|
19
|
+
private readonly signalStore?;
|
|
20
|
+
private readonly defaultTimeoutMs;
|
|
21
|
+
private readonly hostDomain;
|
|
22
|
+
constructor(options: SignalIdentitySyncApiOptions);
|
|
23
|
+
syncIdentityKeys(targetJids: readonly string[], timeoutMs?: number): Promise<readonly SignalIdentitySyncEntry[]>;
|
|
24
|
+
private parseIdentitySyncResponse;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { Logger } from '../../infra/log/types';
|
|
2
|
+
import type { SignalPreKeyBundle } from '../types';
|
|
3
|
+
import type { BinaryNode } from '../../transport/types';
|
|
4
|
+
interface SignalMissingPreKeysSyncApiOptions {
|
|
5
|
+
readonly logger: Logger;
|
|
6
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
7
|
+
readonly defaultTimeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface SignalMissingPreKeysTarget {
|
|
10
|
+
readonly userJid: string;
|
|
11
|
+
readonly reasonIdentity?: boolean;
|
|
12
|
+
readonly devices: readonly {
|
|
13
|
+
readonly deviceId: number;
|
|
14
|
+
readonly registrationId: number;
|
|
15
|
+
}[];
|
|
16
|
+
}
|
|
17
|
+
export interface SignalMissingPreKeysDeviceBundle {
|
|
18
|
+
readonly deviceJid: string;
|
|
19
|
+
readonly bundle: SignalPreKeyBundle;
|
|
20
|
+
readonly deviceIdentity?: Uint8Array;
|
|
21
|
+
}
|
|
22
|
+
export type SignalMissingPreKeysUserResult = {
|
|
23
|
+
readonly userJid: string;
|
|
24
|
+
readonly devices: readonly SignalMissingPreKeysDeviceBundle[];
|
|
25
|
+
} | {
|
|
26
|
+
readonly userJid: string;
|
|
27
|
+
readonly errorCode?: number;
|
|
28
|
+
readonly errorText: string;
|
|
29
|
+
};
|
|
30
|
+
export declare class SignalMissingPreKeysSyncApi {
|
|
31
|
+
private readonly logger;
|
|
32
|
+
private readonly query;
|
|
33
|
+
private readonly defaultTimeoutMs;
|
|
34
|
+
constructor(options: SignalMissingPreKeysSyncApiOptions);
|
|
35
|
+
fetchMissingPreKeys(targets: readonly SignalMissingPreKeysTarget[], timeoutMs?: number): Promise<readonly SignalMissingPreKeysUserResult[]>;
|
|
36
|
+
private parseFetchMissingPreKeysResponse;
|
|
37
|
+
private parseUserDevices;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Logger } from '../../infra/log/types';
|
|
2
|
+
import type { WaSignalStore } from '../../store/contracts/signal.store';
|
|
3
|
+
import type { BinaryNode } from '../../transport/types';
|
|
4
|
+
interface SignalRotateKeyApiOptions {
|
|
5
|
+
readonly logger: Logger;
|
|
6
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
7
|
+
readonly signalStore: WaSignalStore;
|
|
8
|
+
readonly defaultTimeoutMs?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface SignalRotateKeyResult {
|
|
11
|
+
readonly shouldDigestKey: boolean;
|
|
12
|
+
readonly errorCode?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare class SignalRotateKeyApi {
|
|
15
|
+
private readonly logger;
|
|
16
|
+
private readonly query;
|
|
17
|
+
private readonly signalStore;
|
|
18
|
+
private readonly defaultTimeoutMs;
|
|
19
|
+
constructor(options: SignalRotateKeyApiOptions);
|
|
20
|
+
rotateSignedPreKey(timeoutMs?: number): Promise<SignalRotateKeyResult>;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Logger } from '../../infra/log/types';
|
|
2
|
+
import type { SignalPreKeyBundle } from '../types';
|
|
3
|
+
import type { BinaryNode } from '../../transport/types';
|
|
4
|
+
interface SignalSessionSyncApiOptions {
|
|
5
|
+
readonly logger: Logger;
|
|
6
|
+
readonly query: (node: BinaryNode, timeoutMs?: number) => Promise<BinaryNode>;
|
|
7
|
+
readonly defaultTimeoutMs?: number;
|
|
8
|
+
readonly hostDomain?: string;
|
|
9
|
+
}
|
|
10
|
+
interface SignalSessionSyncTarget {
|
|
11
|
+
readonly jid: string;
|
|
12
|
+
readonly reasonIdentity?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export type SignalSessionKeyBundleResult = {
|
|
15
|
+
readonly jid: string;
|
|
16
|
+
readonly bundle: SignalPreKeyBundle;
|
|
17
|
+
readonly deviceIdentity?: Uint8Array;
|
|
18
|
+
} | {
|
|
19
|
+
readonly jid: string;
|
|
20
|
+
readonly errorCode?: string;
|
|
21
|
+
readonly errorText: string;
|
|
22
|
+
};
|
|
23
|
+
export declare class SignalSessionSyncApi {
|
|
24
|
+
private readonly logger;
|
|
25
|
+
private readonly query;
|
|
26
|
+
private readonly defaultTimeoutMs;
|
|
27
|
+
private readonly hostDomain;
|
|
28
|
+
constructor(options: SignalSessionSyncApiOptions);
|
|
29
|
+
fetchKeyBundle(target: SignalSessionSyncTarget, timeoutMs?: number): Promise<{
|
|
30
|
+
readonly jid: string;
|
|
31
|
+
readonly bundle: SignalPreKeyBundle;
|
|
32
|
+
readonly deviceIdentity?: Uint8Array;
|
|
33
|
+
}>;
|
|
34
|
+
fetchKeyBundles(targets: readonly SignalSessionSyncTarget[], timeoutMs?: number): Promise<readonly SignalSessionKeyBundleResult[]>;
|
|
35
|
+
private parseFetchKeyBundleResponse;
|
|
36
|
+
private parseUserKeyBundle;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare const SIGNAL_UPLOAD_PREKEYS_COUNT = 812;
|
|
2
|
+
export declare const SIGNAL_SIGNED_PREKEY_ROTATION_INTERVAL_MS: number;
|
|
3
|
+
export declare const SIGNAL_SIGNED_PREKEY_SERVER_ERROR_BACKOFF_MS: number;
|
|
4
|
+
export declare const SIGNAL_KEY_BUNDLE_TYPE_BYTES: Uint8Array<ArrayBuffer>;
|
|
5
|
+
export declare const SIGNAL_KEY_BUNDLE_TYPE_LENGTH = 1;
|
|
6
|
+
export declare const SIGNAL_REGISTRATION_ID_LENGTH = 4;
|
|
7
|
+
export declare const SIGNAL_KEY_ID_LENGTH = 3;
|
|
8
|
+
export declare const SIGNAL_KEY_DATA_LENGTH = 32;
|
|
9
|
+
export declare const SIGNAL_SIGNATURE_LENGTH = 64;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { BinaryNode } from '../../transport/types';
|
|
2
|
+
export { buildMissingPreKeysFetchIq, buildPreKeyUploadIq, buildSignedPreKeyRotateIq } from '../../transport/node/builders/prekeys';
|
|
3
|
+
export declare function parsePreKeyUploadFailure(node: BinaryNode): {
|
|
4
|
+
readonly errorCode?: number;
|
|
5
|
+
readonly errorText: string;
|
|
6
|
+
};
|