zapo-js 0.3.0 → 1.0.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/LICENSE +21 -0
- package/README.md +97 -177
- package/dist/appstate/{WaAppStateCrypto.js → crypto/WaAppStateCrypto.js} +58 -49
- package/dist/appstate/index.js +7 -6
- package/dist/appstate/{encoding.js → parsers/encoding.js} +11 -4
- package/dist/appstate/{response-parser.js → parsers/response-parser.js} +20 -8
- package/dist/appstate/{WaAppStateSyncClient.js → sync/WaAppStateSyncClient.js} +174 -53
- package/dist/appstate/utils.js +16 -0
- package/dist/appstate-spec.js +89 -0
- package/dist/auth/WaAuthClient.js +100 -5
- package/dist/auth/credentials-flow.js +19 -7
- package/dist/auth/pairing/WaPairingFlow.js +33 -24
- package/dist/auth/pairing/pairing-code-crypto.js +16 -18
- package/dist/client/WaClient.js +342 -473
- package/dist/client/WaClientFactory.js +279 -78
- package/dist/client/connection/WaConnectionManager.js +28 -11
- package/dist/client/coordinators/WaAbPropsCoordinator.js +1 -2
- package/dist/client/coordinators/WaAppStateMutationCoordinator.js +663 -143
- package/dist/client/coordinators/WaBotCoordinator.js +345 -0
- package/dist/client/coordinators/WaBroadcastListCoordinator.js +20 -0
- package/dist/client/coordinators/WaBusinessCoordinator.js +81 -171
- package/dist/client/coordinators/WaEmailCoordinator.js +1 -0
- package/dist/client/coordinators/WaGroupCoordinator.js +529 -52
- package/dist/client/coordinators/WaIncomingNodeCoordinator.js +97 -12
- package/dist/client/coordinators/WaLowLevelCoordinator.js +41 -0
- package/dist/client/coordinators/WaMessageCoordinator.js +365 -0
- package/dist/client/coordinators/WaMessageDispatchCoordinator.js +682 -204
- package/dist/client/coordinators/WaNewsletterCoordinator.js +18 -0
- package/dist/client/coordinators/WaPassiveTasksCoordinator.js +17 -4
- package/dist/client/coordinators/WaPresenceCoordinator.js +21 -0
- package/dist/client/coordinators/WaPrivacyCoordinator.js +7 -5
- package/dist/client/coordinators/WaProfileCoordinator.js +220 -49
- package/dist/client/coordinators/WaRetryCoordinator.js +256 -125
- package/dist/client/coordinators/WaStatusCoordinator.js +49 -0
- package/dist/client/coordinators/WaStreamControlCoordinator.js +6 -6
- package/dist/client/coordinators/WaTrustedContactTokenCoordinator.js +7 -6
- package/dist/client/events/appstate-mutation.js +133 -0
- package/dist/client/events/business.js +375 -0
- package/dist/client/events/call.js +58 -0
- package/dist/client/events/chatstate.js +23 -0
- package/dist/client/events/devices.js +15 -16
- package/dist/client/{dirty.js → events/dirty.js} +33 -19
- package/dist/client/events/group.js +13 -24
- package/dist/client/events/identity.js +2 -1
- package/dist/client/events/incoming.js +502 -0
- package/dist/client/events/mex-notification.js +181 -0
- package/dist/client/events/picture.js +33 -0
- package/dist/client/events/presence.js +44 -0
- package/dist/client/events/receipt.js +26 -0
- package/dist/client/media.js +161 -4
- package/dist/client/messaging/fanout.js +9 -10
- package/dist/client/messaging/{participants.js → group-metadata.js} +73 -35
- package/dist/client/messaging/ignore-key.js +132 -0
- package/dist/client/messaging/key-protocol.js +3 -17
- package/dist/client/messaging/link-preview.js +159 -0
- package/dist/client/messaging/messages.js +671 -0
- package/dist/client/newsletter/admin.js +165 -0
- package/dist/client/newsletter/content.js +253 -0
- package/dist/client/newsletter/discovery.js +115 -0
- package/dist/client/newsletter/messaging.js +197 -0
- package/dist/client/newsletter/mex.js +41 -0
- package/dist/client/newsletter/parse.js +217 -0
- package/dist/client/persistence/WriteBehindPersistence.js +31 -4
- package/dist/client/{history-sync.js → persistence/history-sync.js} +125 -18
- package/dist/client/persistence/mailbox.js +104 -0
- package/dist/client/tokens/cs-token.js +11 -17
- package/dist/crypto/core/hkdf.js +12 -12
- package/dist/crypto/core/index.js +6 -8
- package/dist/crypto/core/keys.js +1 -8
- package/dist/crypto/core/nonce.js +12 -12
- package/dist/crypto/core/primitives.js +123 -93
- package/dist/crypto/core/random.js +6 -0
- package/dist/crypto/core/xeddsa.js +11 -9
- package/dist/crypto/curves/Ed25519.js +32 -21
- package/dist/crypto/curves/X25519.js +70 -34
- package/dist/crypto/curves/constants.js +2 -1
- package/dist/crypto/math/constants.js +1 -2
- package/dist/crypto/math/mod.js +0 -33
- package/dist/esm/appstate/{WaAppStateCrypto.js → crypto/WaAppStateCrypto.js} +58 -49
- package/dist/esm/appstate/index.js +5 -5
- package/dist/esm/appstate/{encoding.js → parsers/encoding.js} +11 -4
- package/dist/esm/appstate/{response-parser.js → parsers/response-parser.js} +20 -8
- package/dist/esm/appstate/{WaAppStateSyncClient.js → sync/WaAppStateSyncClient.js} +174 -52
- package/dist/esm/appstate/utils.js +16 -0
- package/dist/esm/appstate-spec.js +79 -0
- package/dist/esm/auth/WaAuthClient.js +100 -5
- package/dist/esm/auth/credentials-flow.js +18 -6
- package/dist/esm/auth/pairing/WaPairingFlow.js +34 -25
- package/dist/esm/auth/pairing/pairing-code-crypto.js +12 -14
- package/dist/esm/client/WaClient.js +345 -476
- package/dist/esm/client/WaClientFactory.js +280 -79
- package/dist/esm/client/connection/WaConnectionManager.js +28 -11
- package/dist/esm/client/coordinators/WaAbPropsCoordinator.js +2 -3
- package/dist/esm/client/coordinators/WaAppStateMutationCoordinator.js +665 -145
- package/dist/esm/client/coordinators/WaBotCoordinator.js +342 -0
- package/dist/esm/client/coordinators/WaBroadcastListCoordinator.js +17 -0
- package/dist/esm/client/coordinators/WaBusinessCoordinator.js +79 -169
- package/dist/esm/client/coordinators/WaEmailCoordinator.js +1 -0
- package/dist/esm/client/coordinators/WaGroupCoordinator.js +532 -55
- package/dist/esm/client/coordinators/WaIncomingNodeCoordinator.js +98 -13
- package/dist/esm/client/coordinators/WaLowLevelCoordinator.js +38 -0
- package/dist/esm/client/coordinators/WaMessageCoordinator.js +361 -0
- package/dist/esm/client/coordinators/WaMessageDispatchCoordinator.js +686 -208
- package/dist/esm/client/coordinators/WaNewsletterCoordinator.js +13 -0
- package/dist/esm/client/coordinators/WaPassiveTasksCoordinator.js +18 -5
- package/dist/esm/client/coordinators/WaPresenceCoordinator.js +18 -0
- package/dist/esm/client/coordinators/WaPrivacyCoordinator.js +7 -5
- package/dist/esm/client/coordinators/WaProfileCoordinator.js +223 -52
- package/dist/esm/client/coordinators/WaRetryCoordinator.js +258 -127
- package/dist/esm/client/coordinators/WaStatusCoordinator.js +46 -0
- package/dist/esm/client/coordinators/WaStreamControlCoordinator.js +6 -6
- package/dist/esm/client/coordinators/WaTrustedContactTokenCoordinator.js +7 -6
- package/dist/esm/client/events/appstate-mutation.js +130 -0
- package/dist/esm/client/events/business.js +370 -0
- package/dist/esm/client/events/call.js +55 -0
- package/dist/esm/client/events/chatstate.js +20 -0
- package/dist/esm/client/events/devices.js +15 -16
- package/dist/esm/client/{dirty.js → events/dirty.js} +33 -19
- package/dist/esm/client/events/group.js +14 -25
- package/dist/esm/client/events/identity.js +2 -1
- package/dist/esm/client/events/incoming.js +487 -0
- package/dist/esm/client/events/mex-notification.js +178 -0
- package/dist/esm/client/events/picture.js +30 -0
- package/dist/esm/client/events/presence.js +41 -0
- package/dist/esm/client/events/receipt.js +23 -0
- package/dist/esm/client/media.js +156 -6
- package/dist/esm/client/messaging/fanout.js +10 -11
- package/dist/esm/client/messaging/{participants.js → group-metadata.js} +72 -34
- package/dist/esm/client/messaging/ignore-key.js +126 -0
- package/dist/esm/client/messaging/key-protocol.js +3 -17
- package/dist/esm/client/messaging/link-preview.js +156 -0
- package/dist/esm/client/messaging/messages.js +667 -0
- package/dist/esm/client/newsletter/admin.js +162 -0
- package/dist/esm/client/newsletter/content.js +249 -0
- package/dist/esm/client/newsletter/discovery.js +112 -0
- package/dist/esm/client/newsletter/messaging.js +194 -0
- package/dist/esm/client/newsletter/mex.js +37 -0
- package/dist/esm/client/newsletter/parse.js +200 -0
- package/dist/esm/client/persistence/WriteBehindPersistence.js +31 -4
- package/dist/esm/client/{history-sync.js → persistence/history-sync.js} +124 -18
- package/dist/esm/client/persistence/mailbox.js +101 -0
- package/dist/esm/client/tokens/cs-token.js +12 -18
- package/dist/esm/crypto/core/hkdf.js +14 -14
- package/dist/esm/crypto/core/index.js +2 -2
- package/dist/esm/crypto/core/keys.js +1 -7
- package/dist/esm/crypto/core/nonce.js +11 -11
- package/dist/esm/crypto/core/primitives.js +121 -88
- package/dist/esm/crypto/core/random.js +6 -0
- package/dist/esm/crypto/core/xeddsa.js +11 -9
- package/dist/esm/crypto/curves/Ed25519.js +35 -24
- package/dist/esm/crypto/curves/X25519.js +72 -36
- package/dist/esm/crypto/curves/constants.js +1 -0
- package/dist/esm/crypto/math/constants.js +1 -2
- package/dist/esm/crypto/math/mod.js +0 -32
- package/dist/esm/index.js +7 -2
- package/dist/esm/infra/log/ConsoleLogger.js +30 -6
- package/dist/esm/infra/log/PinoLogger.js +64 -0
- package/dist/esm/infra/log/types.js +4 -2
- package/dist/esm/infra/perf/BackgroundQueue.js +55 -13
- package/dist/esm/media/constants.js +33 -2
- package/dist/esm/media/crypto/WaMediaCrypto.js +374 -0
- package/dist/esm/media/index.js +4 -3
- package/dist/esm/media/sticker/sticker-pack.js +133 -0
- package/dist/esm/media/{WaMediaTransferClient.js → transfer/WaMediaTransferClient.js} +37 -6
- package/dist/esm/media/{conn.js → transfer/conn.js} +10 -5
- package/dist/esm/message/WaMessageClient.js +46 -15
- package/dist/esm/message/addons/link-preview/builder.js +36 -0
- package/dist/esm/message/addons/link-preview/detect.js +55 -0
- package/dist/esm/message/addons/link-preview/fetcher.js +391 -0
- package/dist/esm/message/addons/link-preview/types.js +1 -0
- package/dist/esm/message/context-info.js +123 -0
- package/dist/esm/message/{addon-crypto.js → crypto/addon-crypto.js} +68 -10
- package/dist/esm/message/{icdc.js → crypto/icdc.js} +5 -7
- package/dist/esm/message/crypto/phash.js +133 -0
- package/dist/esm/message/{reporting-token.js → crypto/reporting-token.js} +6 -6
- package/dist/esm/message/{use-case-secret.js → crypto/use-case-secret.js} +20 -3
- package/dist/esm/message/{content.js → encode/content.js} +176 -7
- package/dist/esm/message/encode/media-payload.js +42 -0
- package/dist/esm/message/{padding.js → encode/padding.js} +9 -3
- package/dist/esm/message/index.js +2 -2
- package/dist/esm/message/kinds/bot.js +111 -0
- package/dist/esm/message/kinds/newsletter.js +244 -0
- package/dist/esm/message/kinds/sticker-pack.js +29 -0
- package/dist/esm/message/{ack.js → primitives/ack.js} +8 -1
- package/dist/esm/message/{incoming.js → primitives/incoming.js} +215 -31
- package/dist/esm/message/primitives/peer-data-operation.js +93 -0
- package/dist/esm/mex.js +1 -0
- package/dist/esm/protocol/abprops.js +10 -0
- package/dist/esm/protocol/appstate.js +6 -30
- package/dist/esm/protocol/auth.js +3 -2
- package/dist/esm/protocol/bot.js +77 -0
- package/dist/esm/protocol/browser.js +8 -0
- package/dist/esm/protocol/business.js +19 -0
- package/dist/esm/protocol/call.js +48 -0
- package/dist/esm/protocol/constants.js +8 -2
- package/dist/esm/protocol/defaults.js +3 -0
- package/dist/esm/protocol/index.js +1 -1
- package/dist/esm/protocol/jid.js +102 -5
- package/dist/esm/protocol/media.js +25 -12
- package/dist/esm/protocol/message.js +4 -1
- package/dist/esm/protocol/newsletter.js +61 -0
- package/dist/esm/protocol/nodes.js +22 -2
- package/dist/esm/protocol/notification.js +18 -2
- package/dist/esm/protocol/presence.js +13 -0
- package/dist/esm/protocol/status.js +6 -0
- package/dist/esm/retry/codec.js +5 -0
- package/dist/esm/retry/parse.js +20 -38
- package/dist/esm/retry/reason.js +5 -0
- package/dist/esm/retry/replay.js +131 -37
- package/dist/esm/retry/tracker.js +4 -8
- package/dist/esm/signal/api/SignalDeviceSyncApi.js +66 -19
- package/dist/esm/signal/api/SignalDigestSyncApi.js +7 -2
- package/dist/esm/signal/api/SignalIdentitySyncApi.js +9 -0
- package/dist/esm/signal/api/SignalMissingPreKeysSyncApi.js +24 -63
- package/dist/esm/signal/api/SignalRotateKeyApi.js +10 -0
- package/dist/esm/signal/api/SignalSessionSyncApi.js +23 -51
- package/dist/esm/signal/api/codec.js +52 -1
- package/dist/esm/signal/api/prekeys.js +4 -0
- package/dist/esm/signal/{crypto → attestation}/WaAdvSignature.js +5 -6
- package/dist/esm/signal/constants.js +3 -0
- package/dist/esm/signal/encoding.js +6 -289
- package/dist/esm/signal/group/SenderKeyChain.js +18 -33
- package/dist/esm/signal/group/SenderKeyManager.js +25 -8
- package/dist/esm/signal/group/encoding.js +96 -0
- package/dist/esm/signal/index.js +4 -1
- package/dist/esm/signal/registration/encoding.js +34 -0
- package/dist/esm/signal/registration/keygen.js +10 -0
- package/dist/esm/signal/registration/utils.js +6 -0
- package/dist/esm/signal/session/SignalProtocol.js +113 -11
- package/dist/esm/signal/session/SignalRatchet.js +29 -58
- package/dist/esm/signal/session/SignalSession.js +7 -14
- package/dist/esm/signal/session/encoding.js +173 -0
- package/dist/esm/signal/session/resolver.js +139 -30
- package/dist/esm/store/cache/identity.cache.js +75 -0
- package/dist/esm/store/cache/privacy-token.cache.js +57 -0
- package/dist/esm/store/cache/sender-key.cache.js +101 -0
- package/dist/esm/store/cache/session.cache.js +92 -0
- package/dist/esm/store/contracts/group-metadata.store.js +1 -0
- package/dist/esm/store/createStore.js +91 -37
- package/dist/esm/store/index.js +15 -14
- package/dist/esm/store/locks/contact.lock.js +1 -0
- package/dist/esm/store/locks/device-list.lock.js +1 -0
- package/dist/esm/store/locks/group-metadata.lock.js +20 -0
- package/dist/esm/store/{providers/memory → memory}/appstate.store.js +5 -5
- package/dist/esm/store/memory/auth.store.js +24 -0
- package/dist/esm/store/memory/contact.store.js +79 -0
- package/dist/esm/store/memory/device-list.store.js +103 -0
- package/dist/esm/store/{providers/memory/participants.store.js → memory/group-metadata.store.js} +22 -13
- package/dist/esm/store/{providers/memory → memory}/identity.store.js +3 -3
- package/dist/esm/store/{providers/memory → memory}/message-secret.store.js +17 -8
- package/dist/esm/store/{providers/memory → memory}/message.store.js +2 -2
- package/dist/esm/store/{providers/memory → memory}/pre-key.store.js +2 -2
- package/dist/esm/store/{providers/memory → memory}/privacy-token.store.js +1 -1
- package/dist/esm/store/{providers/memory → memory}/retry.store.js +28 -7
- package/dist/esm/store/{providers/memory → memory}/sender-key.store.js +3 -3
- package/dist/esm/store/{providers/memory → memory}/session.store.js +3 -3
- package/dist/esm/store/{providers/memory → memory}/thread.store.js +2 -2
- package/dist/esm/store/noop.store.js +6 -4
- package/dist/esm/transport/WaComms.js +14 -5
- package/dist/esm/transport/WaWebSocket.js +32 -8
- package/dist/esm/transport/binary/constants.js +10 -4
- package/dist/esm/transport/binary/decoder.js +21 -15
- package/dist/esm/transport/binary/encoder.js +96 -21
- package/dist/esm/transport/binary/tokens.js +12 -12
- package/dist/esm/transport/index.js +1 -0
- package/dist/esm/transport/keepalive/WaKeepAlive.js +18 -4
- package/dist/esm/transport/node/WaMobileTcpSocket.js +6 -0
- package/dist/esm/transport/node/WaNodeOrchestrator.js +9 -5
- package/dist/esm/transport/node/WaNodeTransport.js +13 -0
- package/dist/esm/transport/node/builders/abprops.js +2 -2
- package/dist/esm/transport/node/builders/account-sync.js +7 -15
- package/dist/esm/transport/node/builders/bot.js +38 -0
- package/dist/esm/transport/node/builders/business.js +30 -30
- package/dist/esm/transport/node/builders/chatstate.js +28 -0
- package/dist/esm/transport/node/builders/community.js +53 -0
- package/dist/esm/transport/node/builders/device.js +2 -2
- package/dist/esm/transport/node/builders/email.js +6 -5
- package/dist/esm/transport/node/builders/global.js +1 -1
- package/dist/esm/transport/node/builders/group.js +114 -4
- package/dist/esm/transport/node/builders/media.js +2 -2
- package/dist/esm/transport/node/builders/message.js +83 -49
- package/dist/esm/transport/node/builders/newsletter.js +176 -0
- package/dist/esm/transport/node/builders/passive.js +7 -0
- package/dist/esm/transport/node/builders/prekeys.js +4 -4
- package/dist/esm/transport/node/builders/presence.js +27 -1
- package/dist/esm/transport/node/builders/privacy-token.js +2 -2
- package/dist/esm/transport/node/builders/privacy.js +6 -6
- package/dist/esm/transport/node/builders/profile.js +28 -8
- package/dist/esm/transport/node/builders/tos.js +58 -0
- package/dist/esm/transport/node/builders/usync.js +51 -2
- package/dist/esm/transport/node/helpers.js +3 -1
- package/dist/esm/transport/node/mex/argo-decoder.js +2 -2
- package/dist/esm/transport/node/mex/client.js +22 -0
- package/dist/esm/transport/node/query.js +17 -0
- package/dist/esm/transport/node/usync.js +12 -0
- package/dist/esm/transport/noise/WaClientPayload.js +8 -8
- package/dist/esm/transport/noise/WaMobileClientPayload.js +5 -0
- package/dist/esm/transport/noise/WaNoiseCert.js +5 -0
- package/dist/esm/transport/noise/WaNoiseHandshake.js +27 -25
- package/dist/esm/transport/noise/WaNoiseSession.js +39 -59
- package/dist/esm/transport/noise/WaNoiseSocket.js +19 -13
- package/dist/esm/transport/noise/constants.js +0 -1
- package/dist/esm/transport/proxy.js +5 -0
- package/dist/esm/transport/stream/parse.js +3 -7
- package/dist/esm/transport/wa-web-version-fetcher.js +91 -0
- package/dist/esm/util/async.js +4 -0
- package/dist/esm/util/bytes.js +37 -2
- package/dist/esm/util/clock.js +15 -0
- package/dist/esm/util/coercion.js +45 -3
- package/dist/esm/util/collections.js +11 -0
- package/dist/esm/util/index.js +2 -2
- package/dist/esm/util/primitives.js +19 -0
- package/dist/esm/util/runtime.js +5 -0
- package/dist/esm/version-spec.js +1 -0
- package/dist/index.js +31 -1
- package/dist/infra/log/ConsoleLogger.js +30 -6
- package/dist/infra/log/PinoLogger.js +64 -0
- package/dist/infra/log/types.js +4 -2
- package/dist/infra/perf/BackgroundQueue.js +55 -13
- package/dist/media/constants.js +34 -3
- package/dist/media/crypto/WaMediaCrypto.js +378 -0
- package/dist/media/index.js +9 -4
- package/dist/media/sticker/sticker-pack.js +136 -0
- package/dist/media/{WaMediaTransferClient.js → transfer/WaMediaTransferClient.js} +37 -6
- package/dist/media/{conn.js → transfer/conn.js} +10 -5
- package/dist/message/WaMessageClient.js +46 -15
- package/dist/message/addons/link-preview/builder.js +39 -0
- package/dist/message/addons/link-preview/detect.js +58 -0
- package/dist/message/addons/link-preview/fetcher.js +394 -0
- package/dist/message/addons/link-preview/types.js +2 -0
- package/dist/message/context-info.js +129 -0
- package/dist/message/{addon-crypto.js → crypto/addon-crypto.js} +68 -10
- package/dist/message/{icdc.js → crypto/icdc.js} +5 -7
- package/dist/message/crypto/phash.js +136 -0
- package/dist/message/{reporting-token.js → crypto/reporting-token.js} +6 -6
- package/dist/message/{use-case-secret.js → crypto/use-case-secret.js} +20 -3
- package/dist/message/{content.js → encode/content.js} +192 -7
- package/dist/message/encode/media-payload.js +45 -0
- package/dist/message/{padding.js → encode/padding.js} +9 -3
- package/dist/message/index.js +2 -2
- package/dist/message/kinds/bot.js +120 -0
- package/dist/message/kinds/newsletter.js +248 -0
- package/dist/message/kinds/sticker-pack.js +34 -0
- package/dist/message/{ack.js → primitives/ack.js} +8 -1
- package/dist/message/{incoming.js → primitives/incoming.js} +216 -31
- package/dist/message/primitives/peer-data-operation.js +96 -0
- package/dist/mex.js +6 -0
- package/dist/proto.js +1 -1
- package/dist/protocol/abprops.js +10 -0
- package/dist/protocol/appstate.js +7 -31
- package/dist/protocol/auth.js +3 -2
- package/dist/protocol/bot.js +81 -0
- package/dist/protocol/browser.js +8 -0
- package/dist/protocol/business.js +22 -0
- package/dist/protocol/call.js +51 -0
- package/dist/protocol/constants.js +39 -3
- package/dist/protocol/defaults.js +3 -0
- package/dist/protocol/index.js +12 -3
- package/dist/protocol/jid.js +107 -5
- package/dist/protocol/media.js +25 -12
- package/dist/protocol/message.js +4 -1
- package/dist/protocol/newsletter.js +64 -0
- package/dist/protocol/nodes.js +22 -2
- package/dist/protocol/notification.js +19 -3
- package/dist/protocol/presence.js +16 -0
- package/dist/protocol/status.js +9 -0
- package/dist/retry/codec.js +5 -0
- package/dist/retry/parse.js +16 -34
- package/dist/retry/reason.js +5 -0
- package/dist/retry/replay.js +129 -35
- package/dist/retry/tracker.js +3 -7
- package/dist/signal/api/SignalDeviceSyncApi.js +64 -17
- package/dist/signal/api/SignalDigestSyncApi.js +6 -1
- package/dist/signal/api/SignalIdentitySyncApi.js +9 -0
- package/dist/signal/api/SignalMissingPreKeysSyncApi.js +21 -60
- package/dist/signal/api/SignalRotateKeyApi.js +10 -0
- package/dist/signal/api/SignalSessionSyncApi.js +20 -48
- package/dist/signal/api/codec.js +52 -0
- package/dist/signal/api/prekeys.js +4 -0
- package/dist/signal/{crypto → attestation}/WaAdvSignature.js +5 -7
- package/dist/signal/constants.js +4 -1
- package/dist/signal/encoding.js +5 -303
- package/dist/signal/group/SenderKeyChain.js +17 -32
- package/dist/signal/group/SenderKeyManager.js +24 -7
- package/dist/signal/group/encoding.js +101 -0
- package/dist/signal/index.js +13 -10
- package/dist/signal/registration/encoding.js +39 -0
- package/dist/signal/registration/keygen.js +10 -0
- package/dist/signal/registration/utils.js +6 -0
- package/dist/signal/session/SignalProtocol.js +112 -10
- package/dist/signal/session/SignalRatchet.js +24 -54
- package/dist/signal/session/SignalSession.js +6 -14
- package/dist/signal/session/encoding.js +183 -0
- package/dist/signal/session/resolver.js +139 -30
- package/dist/store/cache/identity.cache.js +78 -0
- package/dist/store/cache/privacy-token.cache.js +60 -0
- package/dist/store/cache/sender-key.cache.js +104 -0
- package/dist/store/cache/session.cache.js +95 -0
- package/dist/store/contracts/group-metadata.store.js +2 -0
- package/dist/store/createStore.js +90 -36
- package/dist/store/index.js +18 -16
- package/dist/store/locks/contact.lock.js +1 -0
- package/dist/store/locks/device-list.lock.js +1 -0
- package/dist/store/locks/group-metadata.lock.js +23 -0
- package/dist/store/{providers/memory → memory}/appstate.store.js +5 -5
- package/dist/store/memory/auth.store.js +28 -0
- package/dist/store/memory/contact.store.js +83 -0
- package/dist/store/memory/device-list.store.js +107 -0
- package/dist/store/{providers/memory/participants.store.js → memory/group-metadata.store.js} +24 -15
- package/dist/store/{providers/memory → memory}/identity.store.js +3 -3
- package/dist/store/{providers/memory → memory}/message-secret.store.js +17 -8
- package/dist/store/{providers/memory → memory}/message.store.js +2 -2
- package/dist/store/{providers/memory → memory}/pre-key.store.js +2 -2
- package/dist/store/{providers/memory → memory}/privacy-token.store.js +1 -1
- package/dist/store/{providers/memory → memory}/retry.store.js +28 -7
- package/dist/store/{providers/memory → memory}/sender-key.store.js +3 -3
- package/dist/store/{providers/memory → memory}/session.store.js +3 -3
- package/dist/store/{providers/memory → memory}/thread.store.js +2 -2
- package/dist/store/noop.store.js +7 -5
- package/dist/transport/WaComms.js +14 -5
- package/dist/transport/WaWebSocket.js +32 -8
- package/dist/transport/binary/constants.js +11 -5
- package/dist/transport/binary/decoder.js +24 -18
- package/dist/transport/binary/encoder.js +109 -34
- package/dist/transport/binary/tokens.js +12 -12
- package/dist/transport/index.js +3 -1
- package/dist/transport/keepalive/WaKeepAlive.js +18 -4
- package/dist/transport/node/WaMobileTcpSocket.js +6 -0
- package/dist/transport/node/WaNodeOrchestrator.js +9 -5
- package/dist/transport/node/WaNodeTransport.js +13 -0
- package/dist/transport/node/builders/abprops.js +1 -1
- package/dist/transport/node/builders/account-sync.js +7 -16
- package/dist/transport/node/builders/bot.js +43 -0
- package/dist/transport/node/builders/business.js +31 -31
- package/dist/transport/node/builders/chatstate.js +31 -0
- package/dist/transport/node/builders/community.js +59 -0
- package/dist/transport/node/builders/device.js +1 -1
- package/dist/transport/node/builders/email.js +6 -5
- package/dist/transport/node/builders/global.js +1 -1
- package/dist/transport/node/builders/group.js +121 -3
- package/dist/transport/node/builders/media.js +1 -1
- package/dist/transport/node/builders/message.js +84 -49
- package/dist/transport/node/builders/newsletter.js +183 -0
- package/dist/transport/node/builders/passive.js +10 -0
- package/dist/transport/node/builders/prekeys.js +3 -3
- package/dist/transport/node/builders/presence.js +28 -1
- package/dist/transport/node/builders/privacy-token.js +1 -1
- package/dist/transport/node/builders/privacy.js +5 -5
- package/dist/transport/node/builders/profile.js +30 -7
- package/dist/transport/node/builders/tos.js +63 -0
- package/dist/transport/node/builders/usync.js +52 -1
- package/dist/transport/node/helpers.js +2 -1
- package/dist/transport/node/mex/argo-decoder.js +2 -2
- package/dist/transport/node/mex/client.js +23 -0
- package/dist/transport/node/query.js +17 -0
- package/dist/transport/node/usync.js +13 -0
- package/dist/transport/noise/WaClientPayload.js +8 -8
- package/dist/transport/noise/WaMobileClientPayload.js +5 -0
- package/dist/transport/noise/WaNoiseCert.js +5 -0
- package/dist/transport/noise/WaNoiseHandshake.js +25 -23
- package/dist/transport/noise/WaNoiseSession.js +39 -59
- package/dist/transport/noise/WaNoiseSocket.js +18 -12
- package/dist/transport/noise/constants.js +1 -2
- package/dist/transport/proxy.js +5 -0
- package/dist/transport/stream/parse.js +3 -7
- package/dist/transport/wa-web-version-fetcher.js +94 -0
- package/dist/types/appstate/constants.d.ts +1 -1
- package/dist/types/appstate/{WaAppStateCrypto.d.ts → crypto/WaAppStateCrypto.d.ts} +26 -9
- package/dist/types/appstate/index.d.ts +5 -5
- package/dist/types/appstate/{encoding.d.ts → parsers/encoding.d.ts} +8 -1
- package/dist/types/appstate/{response-parser.d.ts → parsers/response-parser.d.ts} +13 -3
- package/dist/types/appstate/sync/WaAppStateSyncClient.d.ts +105 -0
- package/dist/types/appstate/utils.d.ts +17 -1
- package/dist/types/appstate-spec.d.ts +24 -0
- package/dist/types/auth/WaAuthClient.d.ts +89 -3
- package/dist/types/auth/credentials-flow.d.ts +4 -3
- package/dist/types/auth/pairing/pairing-code-crypto.d.ts +0 -1
- package/dist/types/auth/types.d.ts +48 -1
- package/dist/types/client/WaClient.d.ts +178 -71
- package/dist/types/client/WaClientFactory.d.ts +30 -5
- package/dist/types/client/connection/WaConnectionManager.d.ts +4 -2
- package/dist/types/client/connection/WaReceiptQueue.d.ts +1 -1
- package/dist/types/client/coordinators/WaAppStateMutationCoordinator.d.ts +215 -5
- package/dist/types/client/coordinators/WaBotCoordinator.d.ts +117 -0
- package/dist/types/client/coordinators/WaBroadcastListCoordinator.d.ts +39 -0
- package/dist/types/client/coordinators/WaBusinessCoordinator.d.ts +44 -43
- package/dist/types/client/coordinators/WaEmailCoordinator.d.ts +16 -0
- package/dist/types/client/coordinators/WaGroupCoordinator.d.ts +311 -9
- package/dist/types/client/coordinators/WaIncomingNodeCoordinator.d.ts +11 -4
- package/dist/types/client/coordinators/WaLowLevelCoordinator.d.ts +47 -0
- package/dist/types/client/coordinators/WaMessageCoordinator.d.ts +232 -0
- package/dist/types/client/coordinators/WaMessageDispatchCoordinator.d.ts +54 -31
- package/dist/types/client/coordinators/WaNewsletterCoordinator.d.ts +13 -0
- package/dist/types/client/coordinators/WaPassiveTasksCoordinator.d.ts +4 -3
- package/dist/types/client/coordinators/WaPresenceCoordinator.d.ts +27 -0
- package/dist/types/client/coordinators/WaPrivacyCoordinator.d.ts +27 -0
- package/dist/types/client/coordinators/WaProfileCoordinator.d.ts +113 -0
- package/dist/types/client/coordinators/WaRetryCoordinator.d.ts +19 -17
- package/dist/types/client/coordinators/WaStatusCoordinator.d.ts +42 -0
- package/dist/types/client/coordinators/WaTrustedContactTokenCoordinator.d.ts +5 -1
- package/dist/types/client/events/abprops.d.ts +2 -1
- package/dist/types/client/events/appstate-mutation.d.ts +3 -0
- package/dist/types/client/events/business.d.ts +10 -0
- package/dist/types/client/events/call.d.ts +31 -0
- package/dist/types/client/events/chatstate.d.ts +9 -0
- package/dist/types/client/events/devices.d.ts +5 -4
- package/dist/types/client/{dirty.d.ts → events/dirty.d.ts} +4 -3
- package/dist/types/client/events/group.d.ts +2 -1
- package/dist/types/client/events/identity.d.ts +2 -1
- package/dist/types/client/{incoming.d.ts → events/incoming.d.ts} +27 -4
- package/dist/types/client/events/mex-notification.d.ts +6 -0
- package/dist/types/client/events/picture.d.ts +8 -0
- package/dist/types/client/events/presence.d.ts +28 -0
- package/dist/types/client/events/receipt.d.ts +14 -0
- package/dist/types/client/events/registration.d.ts +4 -3
- package/dist/types/client/index.d.ts +1 -1
- package/dist/types/client/media.d.ts +35 -1
- package/dist/types/client/messaging/fanout.d.ts +2 -2
- package/dist/types/client/messaging/group-metadata.d.ts +19 -0
- package/dist/types/client/messaging/ignore-key.d.ts +11 -0
- package/dist/types/client/messaging/key-protocol.d.ts +9 -7
- package/dist/types/client/messaging/link-preview.d.ts +19 -0
- package/dist/types/client/messaging/messages.d.ts +28 -0
- package/dist/types/client/newsletter/admin.d.ts +71 -0
- package/dist/types/client/newsletter/content.d.ts +42 -0
- package/dist/types/client/newsletter/discovery.d.ts +33 -0
- package/dist/types/client/newsletter/messaging.d.ts +66 -0
- package/dist/types/client/newsletter/mex.d.ts +14 -0
- package/dist/types/client/newsletter/parse.d.ts +19 -0
- package/dist/types/client/newsletter/types.d.ts +190 -0
- package/dist/types/client/persistence/WriteBehindPersistence.d.ts +12 -1
- package/dist/types/client/persistence/history-sync.d.ts +29 -0
- package/dist/types/client/{mailbox.d.ts → persistence/mailbox.d.ts} +4 -4
- package/dist/types/client/tokens/cs-token.d.ts +1 -3
- package/dist/types/client/types.d.ts +843 -71
- package/dist/types/crypto/core/hkdf.d.ts +10 -2
- package/dist/types/crypto/core/index.d.ts +2 -2
- package/dist/types/crypto/core/keys.d.ts +0 -4
- package/dist/types/crypto/core/nonce.d.ts +4 -5
- package/dist/types/crypto/core/primitives.d.ts +31 -20
- package/dist/types/crypto/core/random.d.ts +6 -0
- package/dist/types/crypto/core/xeddsa.d.ts +9 -0
- package/dist/types/crypto/curves/Ed25519.d.ts +7 -1
- package/dist/types/crypto/curves/X25519.d.ts +20 -1
- package/dist/types/crypto/curves/constants.d.ts +4 -3
- package/dist/types/crypto/curves/types.d.ts +0 -5
- package/dist/types/crypto/math/constants.d.ts +0 -1
- package/dist/types/crypto/math/mod.d.ts +0 -1
- package/dist/types/index.d.ts +32 -6
- package/dist/types/infra/log/ConsoleLogger.d.ts +18 -1
- package/dist/types/infra/log/PinoLogger.d.ts +55 -1
- package/dist/types/infra/log/types.d.ts +6 -0
- package/dist/types/infra/perf/BackgroundQueue.d.ts +19 -0
- package/dist/types/media/constants.d.ts +7 -2
- package/dist/types/media/crypto/WaMediaCrypto.d.ts +59 -0
- package/dist/types/media/index.d.ts +7 -5
- package/dist/types/media/processor.d.ts +27 -5
- package/dist/types/media/sticker/sticker-pack.d.ts +6 -0
- package/dist/types/media/{WaMediaTransferClient.d.ts → transfer/WaMediaTransferClient.d.ts} +30 -1
- package/dist/types/media/transfer/conn.d.ts +7 -0
- package/dist/types/media/types.d.ts +1 -2
- package/dist/types/message/WaMessageClient.d.ts +14 -0
- package/dist/types/message/addons/link-preview/builder.d.ts +13 -0
- package/dist/types/message/addons/link-preview/detect.d.ts +5 -0
- package/dist/types/message/addons/link-preview/fetcher.d.ts +13 -0
- package/dist/types/message/addons/link-preview/types.d.ts +51 -0
- package/dist/types/message/context-info.d.ts +66 -0
- package/dist/types/message/{addon-crypto.d.ts → crypto/addon-crypto.d.ts} +27 -5
- package/dist/types/message/{icdc.d.ts → crypto/icdc.d.ts} +4 -4
- package/dist/types/message/{phash.d.ts → crypto/phash.d.ts} +1 -1
- package/dist/types/message/{reporting-token.d.ts → crypto/reporting-token.d.ts} +2 -2
- package/dist/types/message/{use-case-secret.d.ts → crypto/use-case-secret.d.ts} +17 -1
- package/dist/types/message/encode/content.d.ts +43 -0
- package/dist/types/message/{device-sent.d.ts → encode/device-sent.d.ts} +1 -1
- package/dist/types/message/encode/media-payload.d.ts +12 -0
- package/dist/types/message/index.d.ts +2 -2
- package/dist/types/message/kinds/bot.d.ts +31 -0
- package/dist/types/message/kinds/newsletter.d.ts +12 -0
- package/dist/types/message/kinds/sticker-pack.d.ts +6 -0
- package/dist/types/message/{ack.d.ts → primitives/ack.d.ts} +1 -1
- package/dist/types/message/primitives/incoming.d.ts +21 -0
- package/dist/types/message/primitives/peer-data-operation.d.ts +23 -0
- package/dist/types/message/types.d.ts +208 -10
- package/dist/types/mex.d.ts +2 -0
- package/dist/types/proto.d.ts +2 -2
- package/dist/types/protocol/abprops.d.ts +9 -0
- package/dist/types/protocol/appstate.d.ts +4 -49
- package/dist/types/protocol/auth.d.ts +2 -2
- package/dist/types/protocol/bot.d.ts +45 -0
- package/dist/types/protocol/browser.d.ts +8 -0
- package/dist/types/protocol/business.d.ts +21 -0
- package/dist/types/protocol/call.d.ts +44 -0
- package/dist/types/protocol/constants.d.ts +16 -3
- package/dist/types/protocol/defaults.d.ts +3 -0
- package/dist/types/protocol/group.d.ts +1 -1
- package/dist/types/protocol/index.d.ts +2 -1
- package/dist/types/protocol/jid.d.ts +78 -0
- package/dist/types/protocol/media.d.ts +21 -13
- package/dist/types/protocol/message.d.ts +4 -0
- package/dist/types/protocol/newsletter.d.ts +65 -0
- package/dist/types/protocol/nodes.d.ts +20 -0
- package/dist/types/protocol/notification.d.ts +16 -0
- package/dist/types/protocol/presence.d.ts +16 -0
- package/dist/types/protocol/status.d.ts +7 -0
- package/dist/types/retry/codec.d.ts +5 -0
- package/dist/types/retry/index.d.ts +1 -1
- package/dist/types/retry/parse.d.ts +9 -0
- package/dist/types/retry/reason.d.ts +5 -0
- package/dist/types/retry/replay.d.ts +19 -5
- package/dist/types/retry/tracker.d.ts +10 -3
- package/dist/types/retry/types.d.ts +3 -8
- package/dist/types/signal/api/SignalDeviceSyncApi.d.ts +20 -0
- package/dist/types/signal/api/SignalDigestSyncApi.d.ts +10 -0
- package/dist/types/signal/api/SignalIdentitySyncApi.d.ts +9 -0
- package/dist/types/signal/api/SignalMissingPreKeysSyncApi.d.ts +8 -0
- package/dist/types/signal/api/SignalRotateKeyApi.d.ts +10 -0
- package/dist/types/signal/api/SignalSessionSyncApi.d.ts +13 -0
- package/dist/types/signal/api/codec.d.ts +20 -0
- package/dist/types/signal/api/constants.d.ts +1 -1
- package/dist/types/signal/api/prekeys.d.ts +4 -0
- package/dist/types/signal/{crypto → attestation}/WaAdvSignature.d.ts +2 -2
- package/dist/types/signal/attestation/constants.d.ts +4 -0
- package/dist/types/signal/constants.d.ts +7 -4
- package/dist/types/signal/encoding.d.ts +6 -68
- package/dist/types/signal/group/SenderKeyChain.d.ts +1 -1
- package/dist/types/signal/group/SenderKeyManager.d.ts +17 -0
- package/dist/types/signal/group/encoding.d.ts +25 -0
- package/dist/types/signal/index.d.ts +4 -1
- package/dist/types/signal/registration/encoding.d.ts +30 -0
- package/dist/types/signal/registration/keygen.d.ts +10 -0
- package/dist/types/signal/registration/utils.d.ts +5 -0
- package/dist/types/signal/session/SignalProtocol.d.ts +55 -0
- package/dist/types/signal/session/SignalRatchet.d.ts +2 -3
- package/dist/types/signal/session/SignalSession.d.ts +0 -1
- package/dist/types/signal/session/encoding.d.ts +28 -0
- package/dist/types/signal/session/resolver.d.ts +14 -0
- package/dist/types/store/cache/identity.cache.d.ts +15 -0
- package/dist/types/store/cache/privacy-token.cache.d.ts +15 -0
- package/dist/types/store/cache/sender-key.cache.d.ts +18 -0
- package/dist/types/store/cache/session.cache.d.ts +23 -0
- package/dist/types/store/contracts/contact.store.d.ts +14 -0
- package/dist/types/store/contracts/device-list.store.d.ts +13 -0
- package/dist/types/store/contracts/group-metadata.store.d.ts +14 -0
- package/dist/types/store/contracts/message.store.d.ts +0 -2
- package/dist/types/store/createStore.d.ts +54 -2
- package/dist/types/store/index.d.ts +17 -16
- package/dist/types/store/locks/group-metadata.lock.d.ts +2 -0
- package/dist/types/store/{providers/memory → memory}/appstate.store.d.ts +2 -2
- package/dist/types/store/memory/auth.store.d.ts +18 -0
- package/dist/types/store/{providers/memory → memory}/contact.store.d.ts +6 -1
- package/dist/types/store/{providers/memory → memory}/device-list.store.d.ts +15 -2
- package/dist/types/store/memory/group-metadata.store.d.ts +27 -0
- package/dist/types/store/{providers/memory → memory}/identity.store.d.ts +2 -2
- package/dist/types/store/{providers/memory → memory}/message-secret.store.d.ts +12 -2
- package/dist/types/store/{providers/memory → memory}/message.store.d.ts +1 -1
- package/dist/types/store/{providers/memory → memory}/pre-key.store.d.ts +2 -2
- package/dist/types/store/{providers/memory → memory}/privacy-token.store.d.ts +1 -1
- package/dist/types/store/{providers/memory → memory}/retry.store.d.ts +16 -3
- package/dist/types/store/{providers/memory → memory}/sender-key.store.d.ts +2 -2
- package/dist/types/store/{providers/memory → memory}/session.store.d.ts +2 -2
- package/dist/types/store/{providers/memory → memory}/signal.store.d.ts +2 -2
- package/dist/types/store/{providers/memory → memory}/thread.store.d.ts +1 -1
- package/dist/types/store/noop.store.d.ts +2 -2
- package/dist/types/store/types.d.ts +250 -6
- package/dist/types/transport/WaComms.d.ts +5 -0
- package/dist/types/transport/WaWebSocket.d.ts +5 -0
- package/dist/types/transport/binary/constants.d.ts +8 -2
- package/dist/types/transport/binary/decoder.d.ts +5 -0
- package/dist/types/transport/binary/encoder.d.ts +5 -0
- package/dist/types/transport/binary/tokens.d.ts +6 -6
- package/dist/types/transport/index.d.ts +3 -1
- package/dist/types/transport/keepalive/WaKeepAlive.d.ts +7 -0
- package/dist/types/transport/node/WaMobileTcpSocket.d.ts +6 -0
- package/dist/types/transport/node/WaNodeOrchestrator.d.ts +5 -0
- package/dist/types/transport/node/WaNodeTransport.d.ts +13 -0
- package/dist/types/transport/node/builders/account-sync.d.ts +1 -2
- package/dist/types/transport/node/builders/bot.d.ts +4 -0
- package/dist/types/transport/node/builders/business.d.ts +21 -4
- package/dist/types/transport/node/builders/chatstate.d.ts +11 -0
- package/dist/types/transport/node/builders/community.d.ts +17 -0
- package/dist/types/transport/node/builders/group.d.ts +44 -2
- package/dist/types/transport/node/builders/message.d.ts +11 -6
- package/dist/types/transport/node/builders/newsletter.d.ts +73 -0
- package/dist/types/transport/node/builders/passive.d.ts +3 -0
- package/dist/types/transport/node/builders/presence.d.ts +8 -1
- package/dist/types/transport/node/builders/profile.d.ts +3 -0
- package/dist/types/transport/node/builders/tos.d.ts +12 -0
- package/dist/types/transport/node/builders/usync.d.ts +16 -0
- package/dist/types/transport/node/helpers.d.ts +1 -2
- package/dist/types/transport/node/mex/client.d.ts +12 -1
- package/dist/types/transport/node/query.d.ts +19 -1
- package/dist/types/transport/node/usync.d.ts +3 -0
- package/dist/types/transport/noise/WaMobileClientPayload.d.ts +5 -0
- package/dist/types/transport/noise/WaNoiseCert.d.ts +5 -0
- package/dist/types/transport/noise/WaNoiseHandshake.d.ts +12 -6
- package/dist/types/transport/noise/WaNoiseSession.d.ts +0 -1
- package/dist/types/transport/noise/WaNoiseSocket.d.ts +12 -6
- package/dist/types/transport/noise/constants.d.ts +4 -5
- package/dist/types/transport/proxy.d.ts +5 -0
- package/dist/types/transport/types.d.ts +14 -7
- package/dist/types/transport/wa-web-version-fetcher.d.ts +44 -0
- package/dist/types/util/async.d.ts +4 -0
- package/dist/types/util/bytes.d.ts +36 -1
- package/dist/types/util/clock.d.ts +6 -0
- package/dist/types/util/coercion.d.ts +25 -0
- package/dist/types/util/collections.d.ts +8 -0
- package/dist/types/util/index.d.ts +2 -2
- package/dist/types/util/primitives.d.ts +11 -0
- package/dist/types/util/runtime.d.ts +5 -0
- package/dist/types/version-spec.d.ts +1 -0
- package/dist/util/async.js +4 -0
- package/dist/util/bytes.js +37 -2
- package/dist/util/clock.js +18 -0
- package/dist/util/coercion.js +48 -3
- package/dist/util/collections.js +12 -0
- package/dist/util/index.js +7 -1
- package/dist/util/primitives.js +20 -0
- package/dist/util/runtime.js +5 -0
- package/dist/version-spec.js +5 -0
- package/package.json +32 -8
- package/spec/appstate/index.d.ts +188 -0
- package/spec/appstate/index.js +850 -0
- package/spec/mex/index.d.ts +4172 -0
- package/spec/mex/index.js +261 -0
- package/spec/proto/index.d.ts +16305 -0
- package/spec/proto/index.js +1 -0
- package/spec/version/index.d.ts +4 -0
- package/spec/version/index.js +9 -0
- package/spec/version/version.json +3 -0
- package/dist/client/events/chat.js +0 -227
- package/dist/client/incoming.js +0 -306
- package/dist/client/mailbox.js +0 -66
- package/dist/client/messages.js +0 -305
- package/dist/esm/client/events/chat.js +0 -224
- package/dist/esm/client/incoming.js +0 -296
- package/dist/esm/client/mailbox.js +0 -63
- package/dist/esm/client/messages.js +0 -301
- package/dist/esm/media/WaMediaCrypto.js +0 -499
- package/dist/esm/message/phash.js +0 -47
- package/dist/esm/store/locks/participants.lock.js +0 -20
- package/dist/esm/store/providers/memory/contact.store.js +0 -28
- package/dist/esm/store/providers/memory/device-list.store.js +0 -67
- package/dist/esm/transport/node/mex/persist-ids.js +0 -10
- package/dist/media/WaMediaCrypto.js +0 -503
- package/dist/message/phash.js +0 -50
- package/dist/store/locks/participants.lock.js +0 -23
- package/dist/store/providers/memory/contact.store.js +0 -32
- package/dist/store/providers/memory/device-list.store.js +0 -71
- package/dist/transport/node/mex/persist-ids.js +0 -13
- package/dist/types/appstate/WaAppStateSyncClient.d.ts +0 -70
- package/dist/types/client/events/chat.d.ts +0 -3
- package/dist/types/client/history-sync.d.ts +0 -20
- package/dist/types/client/messages.d.ts +0 -18
- package/dist/types/client/messaging/participants.d.ts +0 -13
- package/dist/types/media/WaMediaCrypto.d.ts +0 -22
- package/dist/types/media/conn.d.ts +0 -3
- package/dist/types/message/content.d.ts +0 -14
- package/dist/types/message/incoming.d.ts +0 -18
- package/dist/types/signal/crypto/constants.d.ts +0 -4
- package/dist/types/store/contracts/participants.store.d.ts +0 -13
- package/dist/types/store/locks/participants.lock.d.ts +0 -2
- package/dist/types/store/providers/memory/participants.store.d.ts +0 -17
- package/dist/types/transport/node/mex/persist-ids.d.ts +0 -14
- package/proto/index.d.ts +0 -10903
- package/proto/index.js +0 -1
- /package/dist/{store/contracts/participants.store.js → client/newsletter/types.js} +0 -0
- /package/dist/esm/{store/contracts/participants.store.js → client/newsletter/types.js} +0 -0
- /package/dist/esm/message/{device-sent.js → encode/device-sent.js} +0 -0
- /package/dist/esm/signal/{crypto → attestation}/constants.js +0 -0
- /package/dist/esm/store/{providers/memory → memory}/signal.store.js +0 -0
- /package/dist/message/{device-sent.js → encode/device-sent.js} +0 -0
- /package/dist/signal/{crypto → attestation}/constants.js +0 -0
- /package/dist/store/{providers/memory → memory}/signal.store.js +0 -0
- /package/dist/types/message/{padding.d.ts → encode/padding.d.ts} +0 -0
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { Readable } from 'node:stream';
|
|
2
|
+
import type { WaLinkPreviewOverride } from './addons/link-preview/types';
|
|
3
|
+
import type { WaSendContextInfo } from './context-info';
|
|
2
4
|
import type { Proto } from '..';
|
|
5
|
+
import type { WaOutboundReceiptType } from '../protocol/message';
|
|
3
6
|
import type { BinaryNode } from '../transport/types';
|
|
4
7
|
export interface WaMessagePublishOptions {
|
|
5
8
|
readonly ackTimeoutMs?: number;
|
|
@@ -20,21 +23,191 @@ export interface WaMessagePublishResult {
|
|
|
20
23
|
readonly attempts: number;
|
|
21
24
|
readonly ackNode: BinaryNode;
|
|
22
25
|
readonly ack: WaMessageAckMetadata;
|
|
26
|
+
readonly upload?: WaMessageUploadInfo;
|
|
27
|
+
}
|
|
28
|
+
export interface WaMessageUploadInfo {
|
|
29
|
+
readonly url: string;
|
|
30
|
+
readonly directPath: string;
|
|
31
|
+
readonly fileSha256: Uint8Array;
|
|
32
|
+
readonly fileLength: number;
|
|
33
|
+
readonly metadataUrl?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface WaMessageBuildResult {
|
|
36
|
+
readonly message: Proto.IMessage;
|
|
37
|
+
readonly upload?: WaMessageUploadInfo;
|
|
23
38
|
}
|
|
24
39
|
type MediaInput = Uint8Array | ArrayBuffer | Readable | string;
|
|
25
|
-
type MediaFieldsFilledByBuilder = 'url' | 'mimetype' | 'fileSha256' | 'fileLength' | 'mediaKey' | 'fileEncSha256' | 'directPath' | 'mediaKeyTimestamp' | 'streamingSidecar' | 'metadataUrl';
|
|
40
|
+
type MediaFieldsFilledByBuilder = 'url' | 'mimetype' | 'fileSha256' | 'fileLength' | 'mediaKey' | 'fileEncSha256' | 'directPath' | 'mediaKeyTimestamp' | 'streamingSidecar' | 'metadataUrl' | 'contextInfo';
|
|
26
41
|
type UserMediaFields<T> = {
|
|
27
42
|
readonly [K in keyof Omit<T, MediaFieldsFilledByBuilder>]?: T[K];
|
|
28
43
|
};
|
|
29
44
|
interface WaSendMediaBase {
|
|
30
45
|
readonly media: MediaInput;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Mime type of the media. Optional when a {@link WaMediaProcessor} with
|
|
48
|
+
* `detectMimetype` is configured (e.g. `@zapo-js/media-utils` with
|
|
49
|
+
* `file-type` installed): the builder infers it from the input. Required
|
|
50
|
+
* otherwise; a missing mimetype throws at build time.
|
|
51
|
+
*/
|
|
36
52
|
readonly mimetype?: string;
|
|
37
53
|
readonly fileLength?: number;
|
|
54
|
+
readonly contextInfo?: WaSendContextInfo;
|
|
55
|
+
}
|
|
56
|
+
export interface WaSendTextMessage {
|
|
57
|
+
readonly type: 'text';
|
|
58
|
+
readonly text: string;
|
|
59
|
+
readonly contextInfo?: WaSendContextInfo;
|
|
60
|
+
/**
|
|
61
|
+
* Link preview control: `undefined` follows the global `linkPreview.enabled`
|
|
62
|
+
* default; `false` disables; `true` forces auto-fetch; an object skips the
|
|
63
|
+
* fetch and uses the provided fields directly.
|
|
64
|
+
*/
|
|
65
|
+
readonly linkPreview?: boolean | WaLinkPreviewOverride;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* A message key in the protobuf {@link Proto.IMessageKey} shape, used to target
|
|
69
|
+
* an existing message (reply / edit / reaction / revoke / pin / keep). Every
|
|
70
|
+
* field is filled on a received `message` event's `key`, so they are required
|
|
71
|
+
* here (and assignable to the looser `Proto.IMessageKey`). When sending, the
|
|
72
|
+
* builder forces `remoteJid` to the recipient and drops `participant` in 1:1
|
|
73
|
+
* chats.
|
|
74
|
+
*/
|
|
75
|
+
export interface WaMessageKey {
|
|
76
|
+
readonly remoteJid: string;
|
|
77
|
+
readonly id: string;
|
|
78
|
+
readonly fromMe: boolean;
|
|
79
|
+
/** The author - set in groups/broadcasts; omitted in 1:1 (the author is `remoteJid`). */
|
|
80
|
+
readonly participant?: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* A received `message` event passed verbatim as a target. Its `key` (a
|
|
84
|
+
* {@link WaMessageKey}, the same shape the event exposes) is what gets used;
|
|
85
|
+
* `rawNode` - always present on real events - discriminates it from an explicit
|
|
86
|
+
* {@link WaMessageKey}.
|
|
87
|
+
*/
|
|
88
|
+
export interface WaMessageRef {
|
|
89
|
+
readonly key?: WaMessageKey;
|
|
90
|
+
readonly rawNode: unknown;
|
|
91
|
+
}
|
|
92
|
+
/** An explicit {@link WaMessageKey}, or a received `message` event ({@link WaMessageRef}). */
|
|
93
|
+
export type WaMessageTargetInput = WaMessageKey | WaMessageRef;
|
|
94
|
+
export interface WaSendReactionMessage {
|
|
95
|
+
readonly type: 'reaction';
|
|
96
|
+
/** Emoji to attach. Pass an empty string to revoke an existing reaction. */
|
|
97
|
+
readonly emoji: string;
|
|
98
|
+
/** An explicit {@link WaMessageKey} or a received `message` event passed verbatim. */
|
|
99
|
+
readonly target: WaMessageTargetInput;
|
|
100
|
+
/** Defaults to `Date.now()` when omitted. */
|
|
101
|
+
readonly senderTimestampMs?: number;
|
|
102
|
+
}
|
|
103
|
+
export interface WaSendRevokeMessage {
|
|
104
|
+
readonly type: 'revoke';
|
|
105
|
+
/** An explicit {@link WaMessageKey} or a received `message` event passed verbatim. */
|
|
106
|
+
readonly target: WaMessageTargetInput;
|
|
107
|
+
}
|
|
108
|
+
export interface WaSendPinMessage {
|
|
109
|
+
readonly type: 'pin' | 'unpin';
|
|
110
|
+
/** An explicit {@link WaMessageKey} or a received `message` event passed verbatim. */
|
|
111
|
+
readonly target: WaMessageTargetInput;
|
|
112
|
+
readonly senderTimestampMs?: number;
|
|
113
|
+
/**
|
|
114
|
+
* Pin expiry in seconds. wa-web's UI offers three presets: 86_400 (24h),
|
|
115
|
+
* 604_800 (7d), 2_592_000 (30d). Defaults to 86_400 on `pin` and is
|
|
116
|
+
* ignored on `unpin`. Without it the receiving clients drop the pin
|
|
117
|
+
* silently, so this is effectively required to make the pin visible.
|
|
118
|
+
*/
|
|
119
|
+
readonly durationSecs?: number;
|
|
120
|
+
}
|
|
121
|
+
export interface WaSendEditKey {
|
|
122
|
+
/** Id of the message being edited (`fromMe` is forced true, `remoteJid` is the recipient). */
|
|
123
|
+
readonly id: string;
|
|
124
|
+
/** Required in groups when the original message uses lid/pn addressing on the participant. */
|
|
125
|
+
readonly participant?: string;
|
|
126
|
+
/** Defaults to `Date.now()` when omitted. */
|
|
127
|
+
readonly timestampMs?: number;
|
|
128
|
+
}
|
|
129
|
+
export interface WaSendKeepMessage {
|
|
130
|
+
readonly type: 'keep' | 'unkeep';
|
|
131
|
+
/** An explicit {@link WaMessageKey} or a received `message` event passed verbatim. */
|
|
132
|
+
readonly target: WaMessageTargetInput;
|
|
133
|
+
/** Defaults to `Date.now()` when omitted. */
|
|
134
|
+
readonly timestampMs?: number;
|
|
135
|
+
}
|
|
136
|
+
export interface WaSendPollOptionInput {
|
|
137
|
+
readonly name: string;
|
|
138
|
+
}
|
|
139
|
+
export interface WaSendPollMessage {
|
|
140
|
+
readonly type: 'poll';
|
|
141
|
+
readonly name: string;
|
|
142
|
+
/** Option names (strings) or `{ name }` objects. Order matters for vote hashing. */
|
|
143
|
+
readonly options: readonly (string | WaSendPollOptionInput)[];
|
|
144
|
+
/** How many options a voter may pick. Defaults to 1. */
|
|
145
|
+
readonly selectableCount?: number;
|
|
146
|
+
readonly allowAddOption?: boolean;
|
|
147
|
+
readonly hideParticipantName?: boolean;
|
|
148
|
+
readonly contextInfo?: WaSendContextInfo;
|
|
149
|
+
}
|
|
150
|
+
export interface WaSendPollParent {
|
|
151
|
+
/** Id of the original poll creation message. */
|
|
152
|
+
readonly id: string;
|
|
153
|
+
readonly fromMe: boolean;
|
|
154
|
+
/** Group participant jid; required outside 1:1 chats. */
|
|
155
|
+
readonly participant?: string;
|
|
156
|
+
/** Author of the original poll (parentMsgOriginalSender for the use-case secret). */
|
|
157
|
+
readonly authorJid: string;
|
|
158
|
+
/** The poll's `messageContextInfo.messageSecret` (32 bytes). */
|
|
159
|
+
readonly messageSecret: Uint8Array;
|
|
160
|
+
}
|
|
161
|
+
export interface WaSendPollVoteMessage {
|
|
162
|
+
readonly type: 'poll-vote';
|
|
163
|
+
readonly poll: WaSendPollParent;
|
|
164
|
+
/** Option names exactly as they appeared in the poll. Hashed with SHA-256 internally. */
|
|
165
|
+
readonly selectedOptionNames: readonly string[];
|
|
166
|
+
/** Defaults to `Date.now()` when omitted. */
|
|
167
|
+
readonly senderTimestampMs?: number;
|
|
168
|
+
}
|
|
169
|
+
export interface WaSendEventLocation {
|
|
170
|
+
readonly latitude: number;
|
|
171
|
+
readonly longitude: number;
|
|
172
|
+
readonly name?: string;
|
|
173
|
+
readonly address?: string;
|
|
174
|
+
}
|
|
175
|
+
export interface WaSendEventMessage {
|
|
176
|
+
readonly type: 'event';
|
|
177
|
+
readonly name: string;
|
|
178
|
+
readonly description?: string;
|
|
179
|
+
/** Unix seconds. */
|
|
180
|
+
readonly startTime: number;
|
|
181
|
+
/** Unix seconds. */
|
|
182
|
+
readonly endTime?: number;
|
|
183
|
+
readonly location?: WaSendEventLocation;
|
|
184
|
+
readonly joinLink?: string;
|
|
185
|
+
readonly extraGuestsAllowed?: boolean;
|
|
186
|
+
readonly isScheduleCall?: boolean;
|
|
187
|
+
readonly isCanceled?: boolean;
|
|
188
|
+
readonly hasReminder?: boolean;
|
|
189
|
+
/** Reminder offset in seconds before `startTime`. */
|
|
190
|
+
readonly reminderOffsetSec?: number;
|
|
191
|
+
readonly contextInfo?: WaSendContextInfo;
|
|
192
|
+
}
|
|
193
|
+
export type WaSendEventResponseType = 'going' | 'not_going' | 'maybe';
|
|
194
|
+
export interface WaSendEventParent {
|
|
195
|
+
/** Id of the original event creation message. */
|
|
196
|
+
readonly id: string;
|
|
197
|
+
readonly fromMe: boolean;
|
|
198
|
+
readonly participant?: string;
|
|
199
|
+
/** Creator of the event (parentMsgOriginalSender for the use-case secret). */
|
|
200
|
+
readonly authorJid: string;
|
|
201
|
+
/** The event's `messageContextInfo.messageSecret` (32 bytes). */
|
|
202
|
+
readonly messageSecret: Uint8Array;
|
|
203
|
+
}
|
|
204
|
+
export interface WaSendEventResponseMessage {
|
|
205
|
+
readonly type: 'event-response';
|
|
206
|
+
readonly event: WaSendEventParent;
|
|
207
|
+
readonly response: WaSendEventResponseType;
|
|
208
|
+
readonly extraGuestCount?: number;
|
|
209
|
+
/** Defaults to `Date.now()` when omitted. */
|
|
210
|
+
readonly timestampMs?: number;
|
|
38
211
|
}
|
|
39
212
|
interface WaSendImageMessage extends WaSendMediaBase, UserMediaFields<Proto.Message.IImageMessage> {
|
|
40
213
|
readonly type: 'image';
|
|
@@ -51,11 +224,34 @@ interface WaSendAudioMessage extends WaSendMediaBase, UserMediaFields<Proto.Mess
|
|
|
51
224
|
interface WaSendDocumentMessage extends WaSendMediaBase, UserMediaFields<Proto.Message.IDocumentMessage> {
|
|
52
225
|
readonly type: 'document';
|
|
53
226
|
}
|
|
54
|
-
interface WaSendStickerMessage extends
|
|
227
|
+
interface WaSendStickerMessage extends WaSendMediaBase, UserMediaFields<Proto.Message.IStickerMessage> {
|
|
55
228
|
readonly type: 'sticker';
|
|
56
229
|
}
|
|
57
|
-
export
|
|
58
|
-
|
|
230
|
+
export interface WaSendStickerPackStickerInput {
|
|
231
|
+
readonly media: Uint8Array | string;
|
|
232
|
+
readonly fileName: string;
|
|
233
|
+
readonly emojis: readonly string[];
|
|
234
|
+
readonly isAnimated?: boolean;
|
|
235
|
+
readonly isLottie?: boolean;
|
|
236
|
+
readonly mimetype?: string;
|
|
237
|
+
}
|
|
238
|
+
export interface WaSendStickerPackTrayIcon {
|
|
239
|
+
readonly media: Uint8Array | string;
|
|
240
|
+
readonly fileName: string;
|
|
241
|
+
}
|
|
242
|
+
type StickerPackBuilderFilled = 'stickers' | 'trayIconFileName' | 'thumbnailDirectPath' | 'thumbnailSha256' | 'thumbnailEncSha256' | 'stickerPackSize' | 'imageDataHash' | 'stickerPackOrigin';
|
|
243
|
+
export interface WaSendStickerPackMessage extends UserMediaFields<Omit<Proto.Message.IStickerPackMessage, StickerPackBuilderFilled | 'stickerPackId' | 'name' | 'publisher'>> {
|
|
244
|
+
readonly type: 'sticker-pack';
|
|
245
|
+
readonly stickerPackId: string;
|
|
246
|
+
readonly name: string;
|
|
247
|
+
readonly publisher: string;
|
|
248
|
+
readonly stickers: readonly WaSendStickerPackStickerInput[];
|
|
249
|
+
readonly trayIcon: WaSendStickerPackTrayIcon;
|
|
250
|
+
readonly coverThumbnail?: Uint8Array | string;
|
|
251
|
+
readonly contextInfo?: WaSendContextInfo;
|
|
252
|
+
}
|
|
253
|
+
export type WaSendMediaMessage = WaSendImageMessage | WaSendVideoMessage | WaSendPtvMessage | WaSendAudioMessage | WaSendDocumentMessage | WaSendStickerMessage | WaSendStickerPackMessage;
|
|
254
|
+
export type WaSendMessageContent = string | WaSendTextMessage | WaSendReactionMessage | WaSendRevokeMessage | WaSendPinMessage | WaSendKeepMessage | WaSendPollMessage | WaSendPollVoteMessage | WaSendEventMessage | WaSendEventResponseMessage | Proto.IMessage | WaSendMediaMessage;
|
|
59
255
|
export interface WaEncryptedMessageInput {
|
|
60
256
|
readonly to: string;
|
|
61
257
|
readonly encType: 'msg' | 'pkmsg' | 'skmsg';
|
|
@@ -76,7 +272,7 @@ export interface WaEncryptedMessageInput {
|
|
|
76
272
|
export interface WaSendReceiptInput {
|
|
77
273
|
readonly to: string;
|
|
78
274
|
readonly id: string;
|
|
79
|
-
readonly type?:
|
|
275
|
+
readonly type?: WaOutboundReceiptType;
|
|
80
276
|
readonly participant?: string;
|
|
81
277
|
readonly recipient?: string;
|
|
82
278
|
readonly category?: string;
|
|
@@ -86,4 +282,6 @@ export interface WaSendReceiptInput {
|
|
|
86
282
|
readonly listIds?: readonly string[];
|
|
87
283
|
readonly content?: readonly BinaryNode[];
|
|
88
284
|
}
|
|
285
|
+
export type WaSendReceiptOptions = Omit<WaSendReceiptInput, 'to' | 'id' | 'listIds'>;
|
|
286
|
+
export type WaSendReceiptEventOptions = Omit<WaSendReceiptOptions, 'participant'>;
|
|
89
287
|
export {};
|
package/dist/types/proto.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { waproto as proto } from '../proto';
|
|
2
|
-
export type { waproto as Proto } from '../proto';
|
|
1
|
+
export { waproto as proto } from '../spec/proto';
|
|
2
|
+
export type { waproto as Proto } from '../spec/proto';
|
|
@@ -31,6 +31,15 @@ export declare const AB_PROP_CONFIGS: Readonly<{
|
|
|
31
31
|
readonly enable_syncd_debug_data_in_patch: AbPropConfigEntry;
|
|
32
32
|
readonly enable_mention_everyone_syncd_sender: AbPropConfigEntry;
|
|
33
33
|
readonly username_contact_syncd_support_enable: AbPropConfigEntry;
|
|
34
|
+
readonly newsletter_tos_notice_id: AbPropConfigEntry;
|
|
35
|
+
readonly newsletter_tos_notice_id_smb_web: AbPropConfigEntry;
|
|
36
|
+
readonly newsletter_creation_tos_id: AbPropConfigEntry;
|
|
37
|
+
readonly newsletter_creation_tos_id_smb_web: AbPropConfigEntry;
|
|
38
|
+
readonly newsletter_admin_invite_tos_id: AbPropConfigEntry;
|
|
39
|
+
readonly newsletter_admin_invite_tos_id_smb_web: AbPropConfigEntry;
|
|
40
|
+
readonly newsletter_creation_nux_id: AbPropConfigEntry;
|
|
41
|
+
readonly newsletter_nux_notice_id: AbPropConfigEntry;
|
|
42
|
+
readonly newsletter_admin_invite_nux_id: AbPropConfigEntry;
|
|
34
43
|
readonly after_read_sending_enabled: AbPropConfigEntry;
|
|
35
44
|
readonly after_read_fallback_duration: AbPropConfigEntry;
|
|
36
45
|
readonly after_read_receiver_enabled: AbPropConfigEntry;
|
|
@@ -18,6 +18,8 @@ export declare const WA_APP_STATE_ERROR_CODES: Readonly<{
|
|
|
18
18
|
readonly CONFLICT: "409";
|
|
19
19
|
readonly BAD_REQUEST: "400";
|
|
20
20
|
readonly NOT_FOUND: "404";
|
|
21
|
+
readonly NOT_ALLOWED: "405";
|
|
22
|
+
readonly NOT_ACCEPTABLE: "406";
|
|
21
23
|
}>;
|
|
22
24
|
export declare const WA_APP_STATE_SYNC_DATA_TYPE: Readonly<{
|
|
23
25
|
readonly PATCH: "Patch";
|
|
@@ -29,53 +31,6 @@ export declare const WA_APP_STATE_KEY_TYPES: Readonly<{
|
|
|
29
31
|
readonly MD_MSG_HIST: "md-msg-hist";
|
|
30
32
|
}>;
|
|
31
33
|
export declare const WA_APP_STATE_KDF_INFO: Readonly<{
|
|
32
|
-
readonly MUTATION_KEYS:
|
|
33
|
-
readonly PATCH_INTEGRITY:
|
|
34
|
-
}>;
|
|
35
|
-
export declare const WA_APP_STATE_CHAT_MUTATION_SPECS: Readonly<{
|
|
36
|
-
readonly STAR: {
|
|
37
|
-
readonly collection: "regular_high";
|
|
38
|
-
readonly action: "star";
|
|
39
|
-
readonly version: 2;
|
|
40
|
-
};
|
|
41
|
-
readonly MUTE: {
|
|
42
|
-
readonly collection: "regular_high";
|
|
43
|
-
readonly action: "mute";
|
|
44
|
-
readonly version: 2;
|
|
45
|
-
};
|
|
46
|
-
readonly PIN: {
|
|
47
|
-
readonly collection: "regular_low";
|
|
48
|
-
readonly action: "pin_v1";
|
|
49
|
-
readonly version: 5;
|
|
50
|
-
};
|
|
51
|
-
readonly ARCHIVE: {
|
|
52
|
-
readonly collection: "regular_low";
|
|
53
|
-
readonly action: "archive";
|
|
54
|
-
readonly version: 3;
|
|
55
|
-
};
|
|
56
|
-
readonly DELETE_MESSAGE_FOR_ME: {
|
|
57
|
-
readonly collection: "regular_high";
|
|
58
|
-
readonly action: "deleteMessageForMe";
|
|
59
|
-
readonly version: 3;
|
|
60
|
-
};
|
|
61
|
-
readonly MARK_CHAT_AS_READ: {
|
|
62
|
-
readonly collection: "regular_low";
|
|
63
|
-
readonly action: "markChatAsRead";
|
|
64
|
-
readonly version: 3;
|
|
65
|
-
};
|
|
66
|
-
readonly CLEAR_CHAT: {
|
|
67
|
-
readonly collection: "regular_high";
|
|
68
|
-
readonly action: "clearChat";
|
|
69
|
-
readonly version: 6;
|
|
70
|
-
};
|
|
71
|
-
readonly DELETE_CHAT: {
|
|
72
|
-
readonly collection: "regular_high";
|
|
73
|
-
readonly action: "deleteChat";
|
|
74
|
-
readonly version: 6;
|
|
75
|
-
};
|
|
76
|
-
readonly LOCK_CHAT: {
|
|
77
|
-
readonly collection: "regular_low";
|
|
78
|
-
readonly action: "lock";
|
|
79
|
-
readonly version: 7;
|
|
80
|
-
};
|
|
34
|
+
readonly MUTATION_KEYS: NodeJS.NonSharedUint8Array;
|
|
35
|
+
readonly PATCH_INTEGRITY: NodeJS.NonSharedUint8Array;
|
|
81
36
|
}>;
|
|
@@ -7,6 +7,6 @@ export declare const WA_SIGNALING: Readonly<{
|
|
|
7
7
|
readonly COMPANION_REG_REFRESH_NOTIFICATION: "companion_reg_refresh";
|
|
8
8
|
}>;
|
|
9
9
|
export declare const WA_PAIRING_KDF_INFO: Readonly<{
|
|
10
|
-
readonly LINK_CODE_BUNDLE:
|
|
11
|
-
readonly ADV_SECRET:
|
|
10
|
+
readonly LINK_CODE_BUNDLE: NodeJS.NonSharedUint8Array;
|
|
11
|
+
readonly ADV_SECRET: NodeJS.NonSharedUint8Array;
|
|
12
12
|
}>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { proto } from '..';
|
|
2
|
+
export declare const WA_BOT_MSG_EDIT_TYPES: Readonly<{
|
|
3
|
+
readonly FIRST: "first";
|
|
4
|
+
readonly INNER: "inner";
|
|
5
|
+
readonly LAST: "last";
|
|
6
|
+
readonly FULL: "full";
|
|
7
|
+
}>;
|
|
8
|
+
export type WaBotMsgEditType = (typeof WA_BOT_MSG_EDIT_TYPES)[keyof typeof WA_BOT_MSG_EDIT_TYPES];
|
|
9
|
+
export declare const WA_BOT_MSG_BODY_TYPES: Readonly<{
|
|
10
|
+
readonly PROMPT: "prompt";
|
|
11
|
+
readonly COMMAND: "command";
|
|
12
|
+
readonly VOICE: "voice";
|
|
13
|
+
}>;
|
|
14
|
+
export type WaBotMsgBodyType = (typeof WA_BOT_MSG_BODY_TYPES)[keyof typeof WA_BOT_MSG_BODY_TYPES];
|
|
15
|
+
export declare const WA_BIZ_BOT_TYPES: Readonly<{
|
|
16
|
+
readonly ONE_P: "1";
|
|
17
|
+
readonly THREE_P: "3";
|
|
18
|
+
}>;
|
|
19
|
+
export type WaBizBotType = (typeof WA_BIZ_BOT_TYPES)[keyof typeof WA_BIZ_BOT_TYPES];
|
|
20
|
+
export declare const WA_BOT_KNOWN_JIDS: Readonly<{
|
|
21
|
+
readonly META_AI_PN: "13135550002@s.whatsapp.net";
|
|
22
|
+
readonly META_AI_FBID: "867051314767696@bot";
|
|
23
|
+
readonly META_AI_TEE_FBID: "1273596044787272@bot";
|
|
24
|
+
readonly META_AI_SIDECHAT_FBID: "867051314767696555@bot";
|
|
25
|
+
readonly MANUS_FBID: "1807055946647696@bot";
|
|
26
|
+
readonly HATCH_FBID: "1807055946647697@bot";
|
|
27
|
+
}>;
|
|
28
|
+
export declare function resolveBotFbidJid(jid: string): string | null;
|
|
29
|
+
export declare const WA_BOT_NODE_ATTRS: Readonly<{
|
|
30
|
+
readonly EDIT: "edit";
|
|
31
|
+
readonly EDIT_TARGET_ID: "edit_target_id";
|
|
32
|
+
readonly SENDER_TIMESTAMP_MS: "sender_timestamp_ms";
|
|
33
|
+
readonly BIZ_BOT: "biz_bot";
|
|
34
|
+
readonly TYPE: "type";
|
|
35
|
+
}>;
|
|
36
|
+
export declare const WA_META_NODE_ATTRS_BOT: Readonly<{
|
|
37
|
+
readonly TARGET_ID: "target_id";
|
|
38
|
+
readonly TARGET_SENDER_JID: "target_sender_jid";
|
|
39
|
+
readonly TARGET_CHAT_JID: "target_chat_jid";
|
|
40
|
+
}>;
|
|
41
|
+
export declare const WA_BOT_HKDF_INFO: NodeJS.NonSharedUint8Array;
|
|
42
|
+
export declare const WA_BOT_MSG_SECRET_BYTES = 32;
|
|
43
|
+
export declare const WA_BLOKS_VERSIONING_ID = "98153664e5d904059a94ea08a59fc7eeaf977544cec64ab3ab793c0ce001eb92";
|
|
44
|
+
export declare const WA_BOT_RENDERING_PIXEL_DENSITY = 2.8125;
|
|
45
|
+
export declare const WA_BOT_DEFAULT_CAPABILITIES: readonly proto.BotCapabilityMetadata.BotCapabilityType[];
|
|
@@ -19,5 +19,13 @@ export declare const WA_COMPANION_PLATFORM_IDS: Readonly<{
|
|
|
19
19
|
readonly UWP: "8";
|
|
20
20
|
readonly OTHER_WEB_CLIENT: "9";
|
|
21
21
|
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Maps a {@link WA_BROWSERS} value to the companion platform id sent in the
|
|
24
|
+
* pairing `link_code` stanza. Unknown inputs fall back to `OTHER_WEB_CLIENT`.
|
|
25
|
+
*/
|
|
22
26
|
export declare function getWaCompanionPlatformId(browser: string): string;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the human-readable browser name advertised during pairing.
|
|
29
|
+
* Unknown inputs are echoed back unchanged.
|
|
30
|
+
*/
|
|
23
31
|
export declare function getWaBrowserDisplayName(browser: string): string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare const WA_BUSINESS_HOURS_DAYS: Readonly<{
|
|
2
|
+
readonly SUN: "sun";
|
|
3
|
+
readonly MON: "mon";
|
|
4
|
+
readonly TUE: "tue";
|
|
5
|
+
readonly WED: "wed";
|
|
6
|
+
readonly THU: "thu";
|
|
7
|
+
readonly FRI: "fri";
|
|
8
|
+
readonly SAT: "sat";
|
|
9
|
+
}>;
|
|
10
|
+
export type WaBusinessHoursDay = (typeof WA_BUSINESS_HOURS_DAYS)[keyof typeof WA_BUSINESS_HOURS_DAYS];
|
|
11
|
+
/**
|
|
12
|
+
* Per-day open mode accepted by the `business_profile` edit IQ. A closed day is
|
|
13
|
+
* expressed by omitting it from the config entirely, not by a dedicated mode.
|
|
14
|
+
* `open_time` / `close_time` are only meaningful for `specific_hours`.
|
|
15
|
+
*/
|
|
16
|
+
export declare const WA_BUSINESS_HOURS_MODES: Readonly<{
|
|
17
|
+
readonly OPEN_24H: "open_24h";
|
|
18
|
+
readonly SPECIFIC_HOURS: "specific_hours";
|
|
19
|
+
readonly APPOINTMENT_ONLY: "appointment_only";
|
|
20
|
+
}>;
|
|
21
|
+
export type WaBusinessHoursMode = (typeof WA_BUSINESS_HOURS_MODES)[keyof typeof WA_BUSINESS_HOURS_MODES];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export declare const WA_CALL_PAYLOAD_TAGS: Readonly<{
|
|
2
|
+
readonly OFFER: "offer";
|
|
3
|
+
readonly OFFER_NOTICE: "offer_notice";
|
|
4
|
+
readonly ACCEPT: "accept";
|
|
5
|
+
readonly PREACCEPT: "preaccept";
|
|
6
|
+
readonly REJECT: "reject";
|
|
7
|
+
readonly TERMINATE: "terminate";
|
|
8
|
+
readonly TRANSPORT: "transport";
|
|
9
|
+
readonly MUTE: "mute";
|
|
10
|
+
readonly VIDEO_STATE: "video_state";
|
|
11
|
+
readonly GROUP_INFO: "group_info";
|
|
12
|
+
readonly GROUP_UPDATE: "group_update";
|
|
13
|
+
readonly ENC_REKEY: "enc_rekey";
|
|
14
|
+
readonly PEER_STATE: "peer_state";
|
|
15
|
+
readonly FLOW_CONTROL: "flow_control";
|
|
16
|
+
readonly WEB_CLIENT: "web_client";
|
|
17
|
+
}>;
|
|
18
|
+
export type WaCallPayloadTag = (typeof WA_CALL_PAYLOAD_TAGS)[keyof typeof WA_CALL_PAYLOAD_TAGS];
|
|
19
|
+
/**
|
|
20
|
+
* Payload tags that wa-web responds to with a `<receipt>` carrying a typed
|
|
21
|
+
* child node (`<offer call-id call-creator/>`, etc.) instead of a plain
|
|
22
|
+
* `<ack class="call"/>`. Source: `WAWebHandleVoipCall.js`.
|
|
23
|
+
*/
|
|
24
|
+
export declare const WA_CALL_RECEIPT_PAYLOAD_TAGS: ReadonlySet<WaCallPayloadTag>;
|
|
25
|
+
export declare const WA_CALL_NODE_ATTRS: Readonly<{
|
|
26
|
+
readonly CALL_ID: "call-id";
|
|
27
|
+
readonly CALL_CREATOR: "call-creator";
|
|
28
|
+
readonly GROUP_JID: "group-jid";
|
|
29
|
+
readonly CALLER_PN: "caller_pn";
|
|
30
|
+
readonly CALLER_COUNTRY_CODE: "caller_country_code";
|
|
31
|
+
readonly USERNAME: "username";
|
|
32
|
+
readonly NOTIFY: "notify";
|
|
33
|
+
readonly SENDER_LID: "sender_lid";
|
|
34
|
+
readonly PLATFORM: "platform";
|
|
35
|
+
readonly VERSION: "version";
|
|
36
|
+
readonly REASON: "reason";
|
|
37
|
+
readonly USER_PN: "user_pn";
|
|
38
|
+
readonly GUEST_NAME: "guest_name";
|
|
39
|
+
}>;
|
|
40
|
+
export declare const WA_CALL_CHILD_TAGS: Readonly<{
|
|
41
|
+
readonly VIDEO: "video";
|
|
42
|
+
readonly SILENCE: "silence";
|
|
43
|
+
readonly GROUP_INFO: "group_info";
|
|
44
|
+
}>;
|
|
@@ -1,20 +1,33 @@
|
|
|
1
1
|
export { getWaCompanionPlatformId, WA_BROWSERS, WA_COMPANION_PLATFORM_IDS } from './browser';
|
|
2
2
|
export { WA_SIGNALING, WA_PAIRING_KDF_INFO } from './auth';
|
|
3
3
|
export { WA_CONNECTION_REASONS, WA_DISCONNECT_REASONS, WA_FAILURE_REASONS, WA_LOGOUT_REASONS, WA_READY_STATES, WA_STREAM_SIGNALING } from './stream';
|
|
4
|
-
export type { WaConnectionCode, WaConnectionOpenReason, WaDisconnectReason, WaFailureReasonCode, WaStreamErrorCode } from './stream';
|
|
4
|
+
export type { WaConnectionCode, WaConnectionOpenReason, WaDisconnectReason, WaFailureReasonCode, WaLogoutReason, WaStreamErrorCode } from './stream';
|
|
5
5
|
export { WA_IQ_TYPES, WA_NODE_TAGS, WA_XMLNS } from './nodes';
|
|
6
|
+
export { WA_CALL_CHILD_TAGS, WA_CALL_NODE_ATTRS, WA_CALL_PAYLOAD_TAGS, WA_CALL_RECEIPT_PAYLOAD_TAGS } from './call';
|
|
7
|
+
export type { WaCallPayloadTag } from './call';
|
|
6
8
|
export { WA_EDIT_ATTRS, WA_ENC_MEDIA_TYPES, WA_EVENT_META_TYPES, WA_MESSAGE_TAGS, WA_MESSAGE_TYPES, WA_POLL_META_TYPES, WA_RETRYABLE_ACK_CODES, WA_STANZA_MSG_TYPES } from './message';
|
|
7
|
-
export {
|
|
9
|
+
export type { WaOutboundReceiptType } from './message';
|
|
10
|
+
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';
|
|
8
11
|
export { getWaMediaHkdfInfo, WA_MEDIA_HKDF_INFO, WA_PREVIEW_MEDIA_HKDF_INFO } from './media';
|
|
9
12
|
export { WA_ACCOUNT_SYNC_PROTOCOLS, WA_DIRTY_PROTOCOLS, WA_DIRTY_TYPES, WA_SUPPORTED_DIRTY_TYPES } from './dirty';
|
|
10
|
-
export { WA_GROUP_NOTIFICATION_TAGS, WA_NOTIFICATION_TYPES, WA_REGISTRATION_NOTIFICATION_TAGS } from './notification';
|
|
13
|
+
export { WA_BUSINESS_NOTIFICATION_TAGS, WA_GROUP_NOTIFICATION_TAGS, WA_NEWSLETTER_NOTIFICATION_TAGS, WA_NOTIFICATION_TYPES, WA_REGISTRATION_NOTIFICATION_TAGS } from './notification';
|
|
14
|
+
export { WA_BUSINESS_HOURS_DAYS, WA_BUSINESS_HOURS_MODES } from './business';
|
|
15
|
+
export type { WaBusinessHoursDay, WaBusinessHoursMode } from './business';
|
|
16
|
+
export { WA_CHATSTATE_MEDIA, WA_PRESENCE_LAST_SENTINELS, WA_PRESENCE_TYPES } from './presence';
|
|
17
|
+
export type { WaChatstateMedia, WaPresenceLastSentinel, WaPresenceType } from './presence';
|
|
11
18
|
export { WA_PRIVACY_TOKEN_NOTIFICATION_TYPE, WA_PRIVACY_TOKEN_TAGS, WA_PRIVACY_TOKEN_TYPES, WA_TC_TOKEN_DEFAULTS } from './privacy-token';
|
|
12
19
|
export { WA_PRIVACY_CATEGORIES, WA_PRIVACY_CATEGORY_TO_SETTING, WA_PRIVACY_DISALLOWED_LIST_CATEGORIES, WA_PRIVACY_SETTING_TO_CATEGORY, WA_PRIVACY_TAGS, WA_PRIVACY_VALUES } from './privacy';
|
|
13
20
|
export type { WaPrivacyCategory, WaPrivacySettingName, WaPrivacyValue } from './privacy';
|
|
14
21
|
export { WA_DEFAULTS } from './defaults';
|
|
22
|
+
export { WA_BIZ_BOT_TYPES, WA_BOT_DEFAULT_CAPABILITIES, WA_BOT_HKDF_INFO, WA_BOT_KNOWN_JIDS, WA_BOT_MSG_BODY_TYPES, WA_BOT_MSG_EDIT_TYPES, WA_BOT_MSG_SECRET_BYTES, WA_BOT_NODE_ATTRS, WA_META_NODE_ATTRS_BOT } from './bot';
|
|
23
|
+
export type { WaBizBotType, WaBotMsgBodyType, WaBotMsgEditType } from './bot';
|
|
24
|
+
export { WA_STATUS_DISTRIBUTION_SETTINGS } from './status';
|
|
25
|
+
export type { WaStatusDistributionSetting } from './status';
|
|
15
26
|
export { WA_EMAIL_CONTEXTS, WA_EMAIL_ERROR_CODES, WA_EMAIL_LIMITS, WA_EMAIL_TAGS, WA_EMAIL_XMLNS } from './email';
|
|
16
27
|
export type { WaEmailContext, WaEmailErrorCode } from './email';
|
|
17
28
|
export { AB_PROP_CONFIGS, resolveAbPropNameByCode, WA_ABPROPS_PROTOCOL_VERSION, WA_ABPROPS_REFRESH_BOUNDS } from './abprops';
|
|
18
29
|
export type { AbPropConfigEntry, AbPropName, AbPropType, AbPropValue } from './abprops';
|
|
19
30
|
export { WA_GROUP_PARTICIPANT_TYPES, type WaGroupSetting } from './group';
|
|
20
31
|
export { WA_USYNC_CONTEXTS, WA_USYNC_DEFAULTS, WA_USYNC_MODES } from './usync';
|
|
32
|
+
export { WA_NEWSLETTER_FETCH_KEY_TYPES, WA_NEWSLETTER_MUTE_TYPES, WA_NEWSLETTER_MUTE_VALUES, WA_NEWSLETTER_PICTURE_TYPES, WA_NEWSLETTER_RECEIVE_TYPES, WA_NEWSLETTER_ROLES, WA_NEWSLETTER_SEND_TYPES, WA_NEWSLETTER_STATE_TYPES, WA_NEWSLETTER_VERIFICATION_STATES, WA_NEWSLETTER_VIEW_ROLES } from './newsletter';
|
|
33
|
+
export type { WaNewsletterReceiveType, WaNewsletterRole, WaNewsletterSendType, WaNewsletterStateType } from './newsletter';
|
|
@@ -8,6 +8,9 @@ export declare const WA_DEFAULTS: Readonly<{
|
|
|
8
8
|
readonly HOSTED_DEVICE_ID: 99;
|
|
9
9
|
readonly MSGR_SERVER: "msgr";
|
|
10
10
|
readonly INTEROP_SERVER: "interop";
|
|
11
|
+
readonly NEWSLETTER_SERVER: "newsletter";
|
|
12
|
+
readonly BOT_SERVER: "bot";
|
|
13
|
+
readonly STATUS_BROADCAST_JID: "status@broadcast";
|
|
11
14
|
readonly DEVICE_BROWSER: "firefox";
|
|
12
15
|
readonly DEVICE_PLATFORM: string;
|
|
13
16
|
readonly CHAT_SOCKET_URLS: readonly ["wss://web.whatsapp.com/ws/chat", "wss://web.whatsapp.com:5222/ws/chat"];
|
|
@@ -3,4 +3,4 @@ export declare const WA_GROUP_PARTICIPANT_TYPES: Readonly<{
|
|
|
3
3
|
readonly ADMIN: "admin";
|
|
4
4
|
readonly REGULAR: "participant";
|
|
5
5
|
}>;
|
|
6
|
-
export type WaGroupSetting = 'announcement' | 'restrict' | 'ephemeral' | 'membership_approval_mode';
|
|
6
|
+
export type WaGroupSetting = 'announcement' | 'restrict' | 'ephemeral' | 'membership_approval_mode' | 'allow_non_admin_sub_group_creation' | 'group_history' | 'allow_admin_reports' | 'no_frequently_forwarded';
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './constants';
|
|
2
|
-
export { buildDeviceJid, canonicalizeSignalJid, canonicalizeSignalServer, getLoginIdentity, isHostedDeviceId, isHostedDeviceJid, isHostedServer,
|
|
2
|
+
export { applyDeviceToJid, buildDeviceJid, canonicalizeSignalJid, canonicalizeSignalServer, getLoginIdentity, isBotJid, isBroadcastJid, isGroupJid, isGroupOrBroadcastJid, isHostedDeviceId, isHostedDeviceJid, isHostedServer, isLidJid, isNewsletterJid, isStatusBroadcastJid, isUserJid, normalizeDeviceJid, normalizeRecipientJid, parseJidFull, parsePhoneJid, parseSignalAddressFromJid, signalAddressKey, splitJid, toUserJid } from './jid';
|
|
3
|
+
export type { ParsedJid } from './jid';
|