@oxidezap/baileyrs 0.0.26 → 0.0.28
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 +31 -460
- package/lib/Bridge/adapt.d.ts +2 -0
- package/lib/Bridge/adapt.d.ts.map +1 -1
- package/lib/Bridge/adapt.js +2 -1
- package/lib/Bridge/adapt.js.map +1 -1
- package/lib/Bridge/history-sync-wire.d.ts +17 -0
- package/lib/Bridge/history-sync-wire.d.ts.map +1 -0
- package/lib/Bridge/history-sync-wire.js +61 -0
- package/lib/Bridge/history-sync-wire.js.map +1 -0
- package/lib/Bridge/index.d.ts +1 -1
- package/lib/Bridge/index.d.ts.map +1 -1
- package/lib/Bridge/index.js +3 -3
- package/lib/Bridge/index.js.map +1 -1
- package/lib/Bridge/primitives.d.ts +4 -0
- package/lib/Bridge/primitives.d.ts.map +1 -1
- package/lib/Bridge/primitives.js +14 -0
- package/lib/Bridge/primitives.js.map +1 -1
- package/lib/Bridge/schema.d.ts +9 -2
- package/lib/Bridge/schema.d.ts.map +1 -1
- package/lib/Bridge/schema.js +263 -35
- package/lib/Bridge/schema.js.map +1 -1
- package/lib/Bridge/types.d.ts +117 -3
- package/lib/Bridge/types.d.ts.map +1 -1
- package/lib/Compatibility/group-metadata.d.ts +9 -0
- package/lib/Compatibility/group-metadata.d.ts.map +1 -0
- package/lib/Compatibility/group-metadata.js +70 -0
- package/lib/Compatibility/group-metadata.js.map +1 -0
- package/lib/Compatibility/group-notifications.d.ts +22 -0
- package/lib/Compatibility/group-notifications.d.ts.map +1 -0
- package/lib/Compatibility/group-notifications.js +307 -0
- package/lib/Compatibility/group-notifications.js.map +1 -0
- package/lib/Compatibility/group-stub-params.d.ts +32 -0
- package/lib/Compatibility/group-stub-params.d.ts.map +1 -0
- package/lib/Compatibility/group-stub-params.js +57 -0
- package/lib/Compatibility/group-stub-params.js.map +1 -0
- package/lib/Compatibility/internal/async-primitives.d.ts +16 -0
- package/lib/Compatibility/internal/async-primitives.d.ts.map +1 -0
- package/lib/Compatibility/internal/async-primitives.js +42 -0
- package/lib/Compatibility/internal/async-primitives.js.map +1 -0
- package/lib/Compatibility/internal/auth-state.d.ts +15 -0
- package/lib/Compatibility/internal/auth-state.d.ts.map +1 -0
- package/lib/Compatibility/internal/auth-state.js +21 -0
- package/lib/Compatibility/internal/auth-state.js.map +1 -0
- package/lib/Compatibility/internal/cache-store.d.ts +7 -0
- package/lib/Compatibility/internal/cache-store.d.ts.map +1 -0
- package/lib/Compatibility/internal/cache-store.js +19 -0
- package/lib/Compatibility/internal/cache-store.js.map +1 -0
- package/lib/Compatibility/internal/expiring-lru-map.d.ts +21 -0
- package/lib/Compatibility/internal/expiring-lru-map.d.ts.map +1 -0
- package/lib/Compatibility/internal/expiring-lru-map.js +68 -0
- package/lib/Compatibility/internal/expiring-lru-map.js.map +1 -0
- package/lib/Compatibility/internal/make-mutex.d.ts +7 -0
- package/lib/Compatibility/internal/make-mutex.d.ts.map +1 -0
- package/lib/Compatibility/internal/make-mutex.js +31 -0
- package/lib/Compatibility/internal/make-mutex.js.map +1 -0
- package/lib/Compatibility/internal/native-memory-store.d.ts +6 -0
- package/lib/Compatibility/internal/native-memory-store.d.ts.map +1 -0
- package/lib/Compatibility/internal/native-memory-store.js +8 -0
- package/lib/Compatibility/internal/native-memory-store.js.map +1 -0
- package/lib/Compatibility/internal/numeric-enum.d.ts +8 -0
- package/lib/Compatibility/internal/numeric-enum.d.ts.map +1 -0
- package/lib/Compatibility/internal/numeric-enum.js +11 -0
- package/lib/Compatibility/internal/numeric-enum.js.map +1 -0
- package/lib/Compatibility/internal/signal-key-store.d.ts +9 -0
- package/lib/Compatibility/internal/signal-key-store.d.ts.map +1 -0
- package/lib/Compatibility/internal/signal-key-store.js +17 -0
- package/lib/Compatibility/internal/signal-key-store.js.map +1 -0
- package/lib/Compatibility/legacy-store/adapter.d.ts +4 -0
- package/lib/Compatibility/legacy-store/adapter.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/adapter.js +301 -0
- package/lib/Compatibility/legacy-store/adapter.js.map +1 -0
- package/lib/Compatibility/legacy-store/codecs/basic.d.ts +6 -0
- package/lib/Compatibility/legacy-store/codecs/basic.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/codecs/basic.js +184 -0
- package/lib/Compatibility/legacy-store/codecs/basic.js.map +1 -0
- package/lib/Compatibility/legacy-store/codecs/index.d.ts +6 -0
- package/lib/Compatibility/legacy-store/codecs/index.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/codecs/index.js +7 -0
- package/lib/Compatibility/legacy-store/codecs/index.js.map +1 -0
- package/lib/Compatibility/legacy-store/codecs/signal.d.ts +8 -0
- package/lib/Compatibility/legacy-store/codecs/signal.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/codecs/signal.js +219 -0
- package/lib/Compatibility/legacy-store/codecs/signal.js.map +1 -0
- package/lib/Compatibility/legacy-store/common.d.ts +25 -0
- package/lib/Compatibility/legacy-store/common.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/common.js +112 -0
- package/lib/Compatibility/legacy-store/common.js.map +1 -0
- package/lib/Compatibility/legacy-store/constants.d.ts +226 -0
- package/lib/Compatibility/legacy-store/constants.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/constants.js +199 -0
- package/lib/Compatibility/legacy-store/constants.js.map +1 -0
- package/lib/Compatibility/legacy-store/device.d.ts +9 -0
- package/lib/Compatibility/legacy-store/device.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/device.js +192 -0
- package/lib/Compatibility/legacy-store/device.js.map +1 -0
- package/lib/Compatibility/legacy-store/multi-file.d.ts +6 -0
- package/lib/Compatibility/legacy-store/multi-file.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/multi-file.js +84 -0
- package/lib/Compatibility/legacy-store/multi-file.js.map +1 -0
- package/lib/Compatibility/legacy-store/native-projection.d.ts +8 -0
- package/lib/Compatibility/legacy-store/native-projection.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/native-projection.js +109 -0
- package/lib/Compatibility/legacy-store/native-projection.js.map +1 -0
- package/lib/Compatibility/legacy-store/routing.d.ts +18 -0
- package/lib/Compatibility/legacy-store/routing.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/routing.js +162 -0
- package/lib/Compatibility/legacy-store/routing.js.map +1 -0
- package/lib/Compatibility/legacy-store/types.d.ts +41 -0
- package/lib/Compatibility/legacy-store/types.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/types.js +3 -0
- package/lib/Compatibility/legacy-store/types.js.map +1 -0
- package/lib/Compatibility/legacy-store/validation.d.ts +9 -0
- package/lib/Compatibility/legacy-store/validation.d.ts.map +1 -0
- package/lib/Compatibility/legacy-store/validation.js +49 -0
- package/lib/Compatibility/legacy-store/validation.js.map +1 -0
- package/lib/Compatibility/media-type.d.ts +10 -0
- package/lib/Compatibility/media-type.d.ts.map +1 -0
- package/lib/Compatibility/media-type.js +31 -0
- package/lib/Compatibility/media-type.js.map +1 -0
- package/lib/Compatibility/message-keys.d.ts +9 -0
- package/lib/Compatibility/message-keys.d.ts.map +1 -0
- package/lib/Compatibility/message-keys.js +15 -0
- package/lib/Compatibility/message-keys.js.map +1 -0
- package/lib/Compatibility/message-relay.d.ts +26 -0
- package/lib/Compatibility/message-relay.d.ts.map +1 -0
- package/lib/Compatibility/message-relay.js +61 -0
- package/lib/Compatibility/message-relay.js.map +1 -0
- package/lib/Compatibility/message-upsert.d.ts +11 -0
- package/lib/Compatibility/message-upsert.d.ts.map +1 -0
- package/lib/Compatibility/message-upsert.js +8 -0
- package/lib/Compatibility/message-upsert.js.map +1 -0
- package/lib/Compatibility/participating-refresh.d.ts +9 -0
- package/lib/Compatibility/participating-refresh.d.ts.map +1 -0
- package/lib/Compatibility/participating-refresh.js +14 -0
- package/lib/Compatibility/participating-refresh.js.map +1 -0
- package/lib/Compatibility/proto-runtime.d.ts +9 -0
- package/lib/Compatibility/proto-runtime.d.ts.map +1 -0
- package/lib/Compatibility/proto-runtime.js +567 -0
- package/lib/Compatibility/proto-runtime.js.map +1 -0
- package/lib/Compatibility/public-api/auth-utils.d.ts +6 -0
- package/lib/Compatibility/public-api/auth-utils.d.ts.map +1 -0
- package/lib/Compatibility/public-api/auth-utils.js +202 -0
- package/lib/Compatibility/public-api/auth-utils.js.map +1 -0
- package/lib/Compatibility/public-api/enum-types.d.ts +163 -0
- package/lib/Compatibility/public-api/enum-types.d.ts.map +1 -0
- package/lib/Compatibility/public-api/enum-types.js +10 -0
- package/lib/Compatibility/public-api/enum-types.js.map +1 -0
- package/lib/Compatibility/public-api/identity-change-handler.d.ts +42 -0
- package/lib/Compatibility/public-api/identity-change-handler.d.ts.map +1 -0
- package/lib/Compatibility/public-api/identity-change-handler.js +38 -0
- package/lib/Compatibility/public-api/identity-change-handler.js.map +1 -0
- package/lib/Compatibility/public-api/message-retry-manager.d.ts +62 -0
- package/lib/Compatibility/public-api/message-retry-manager.d.ts.map +1 -0
- package/lib/Compatibility/public-api/message-retry-manager.js +180 -0
- package/lib/Compatibility/public-api/message-retry-manager.js.map +1 -0
- package/lib/Compatibility/public-api/pre-key-manager.d.ts +14 -0
- package/lib/Compatibility/public-api/pre-key-manager.d.ts.map +1 -0
- package/lib/Compatibility/public-api/pre-key-manager.js +83 -0
- package/lib/Compatibility/public-api/pre-key-manager.js.map +1 -0
- package/lib/Compatibility/public-api/stanza-ack.d.ts +4 -0
- package/lib/Compatibility/public-api/stanza-ack.d.ts.map +1 -0
- package/lib/Compatibility/public-api/stanza-ack.js +20 -0
- package/lib/Compatibility/public-api/stanza-ack.js.map +1 -0
- package/lib/Compatibility/signal-repository.d.ts +12 -0
- package/lib/Compatibility/signal-repository.d.ts.map +1 -0
- package/lib/Compatibility/signal-repository.js +131 -0
- package/lib/Compatibility/signal-repository.js.map +1 -0
- package/lib/Compatibility/socket-results.d.ts +28 -0
- package/lib/Compatibility/socket-results.d.ts.map +1 -0
- package/lib/Compatibility/socket-results.js +72 -0
- package/lib/Compatibility/socket-results.js.map +1 -0
- package/lib/Compatibility/stanza-responses.d.ts +13 -0
- package/lib/Compatibility/stanza-responses.d.ts.map +1 -0
- package/lib/Compatibility/stanza-responses.js +16 -0
- package/lib/Compatibility/stanza-responses.js.map +1 -0
- package/lib/Compatibility/tagged-message-waiter.d.ts +5 -0
- package/lib/Compatibility/tagged-message-waiter.d.ts.map +1 -0
- package/lib/Compatibility/tagged-message-waiter.js +42 -0
- package/lib/Compatibility/tagged-message-waiter.js.map +1 -0
- package/lib/Compatibility/usync/adapter.d.ts +13 -0
- package/lib/Compatibility/usync/adapter.d.ts.map +1 -0
- package/lib/Compatibility/usync/adapter.js +291 -0
- package/lib/Compatibility/usync/adapter.js.map +1 -0
- package/lib/Compatibility/websocket-client.d.ts +40 -0
- package/lib/Compatibility/websocket-client.d.ts.map +1 -0
- package/lib/Compatibility/websocket-client.js +120 -0
- package/lib/Compatibility/websocket-client.js.map +1 -0
- package/lib/Defaults/index.d.ts +70 -3
- package/lib/Defaults/index.d.ts.map +1 -1
- package/lib/Defaults/index.js +107 -15
- package/lib/Defaults/index.js.map +1 -1
- package/lib/Platform/crypto.d.ts +6 -0
- package/lib/Platform/crypto.d.ts.map +1 -0
- package/lib/Platform/crypto.js +36 -0
- package/lib/Platform/crypto.js.map +1 -0
- package/lib/Socket/blocking.d.ts +2 -2
- package/lib/Socket/blocking.d.ts.map +1 -1
- package/lib/Socket/blocking.js +2 -1
- package/lib/Socket/blocking.js.map +1 -1
- package/lib/Socket/chat-actions.d.ts +2 -9
- package/lib/Socket/chat-actions.d.ts.map +1 -1
- package/lib/Socket/chat-actions.js +24 -13
- package/lib/Socket/chat-actions.js.map +1 -1
- package/lib/Socket/communities.d.ts +61 -0
- package/lib/Socket/communities.d.ts.map +1 -0
- package/lib/Socket/communities.js +72 -0
- package/lib/Socket/communities.js.map +1 -0
- package/lib/Socket/contacts.d.ts +4 -2
- package/lib/Socket/contacts.d.ts.map +1 -1
- package/lib/Socket/contacts.js +6 -4
- package/lib/Socket/contacts.js.map +1 -1
- package/lib/Socket/events.d.ts +13 -5
- package/lib/Socket/events.d.ts.map +1 -1
- package/lib/Socket/events.js +282 -57
- package/lib/Socket/events.js.map +1 -1
- package/lib/Socket/group-notifications.d.ts +1 -30
- package/lib/Socket/group-notifications.d.ts.map +1 -1
- package/lib/Socket/group-notifications.js +3 -268
- package/lib/Socket/group-notifications.js.map +1 -1
- package/lib/Socket/groups.d.ts +17 -36
- package/lib/Socket/groups.d.ts.map +1 -1
- package/lib/Socket/groups.js +111 -116
- package/lib/Socket/groups.js.map +1 -1
- package/lib/Socket/index.d.ts +140 -201
- package/lib/Socket/index.d.ts.map +1 -1
- package/lib/Socket/index.js +215 -345
- package/lib/Socket/index.js.map +1 -1
- package/lib/Socket/message-capping.d.ts +4 -0
- package/lib/Socket/message-capping.d.ts.map +1 -0
- package/lib/Socket/message-capping.js +22 -0
- package/lib/Socket/message-capping.js.map +1 -0
- package/lib/Socket/messages.d.ts +8 -14
- package/lib/Socket/messages.d.ts.map +1 -1
- package/lib/Socket/messages.js +74 -40
- package/lib/Socket/messages.js.map +1 -1
- package/lib/Socket/newsletter.d.ts +5 -0
- package/lib/Socket/newsletter.d.ts.map +1 -1
- package/lib/Socket/newsletter.js +7 -0
- package/lib/Socket/newsletter.js.map +1 -1
- package/lib/Socket/prekeys.d.ts +10 -0
- package/lib/Socket/prekeys.d.ts.map +1 -0
- package/lib/Socket/prekeys.js +21 -0
- package/lib/Socket/prekeys.js.map +1 -0
- package/lib/Socket/presence.d.ts +3 -3
- package/lib/Socket/presence.d.ts.map +1 -1
- package/lib/Socket/presence.js +2 -2
- package/lib/Socket/presence.js.map +1 -1
- package/lib/Socket/profile.d.ts +6 -8
- package/lib/Socket/profile.d.ts.map +1 -1
- package/lib/Socket/profile.js +18 -17
- package/lib/Socket/profile.js.map +1 -1
- package/lib/Socket/reachout.js +1 -1
- package/lib/Socket/transport.d.ts.map +1 -1
- package/lib/Socket/transport.js +13 -1
- package/lib/Socket/transport.js.map +1 -1
- package/lib/Socket/types.d.ts +4 -2
- package/lib/Socket/types.d.ts.map +1 -1
- package/lib/Socket/types.js.map +1 -1
- package/lib/Socket/usync.d.ts +12 -0
- package/lib/Socket/usync.d.ts.map +1 -0
- package/lib/Socket/usync.js +27 -0
- package/lib/Socket/usync.js.map +1 -0
- package/lib/Types/Auth.d.ts +28 -30
- package/lib/Types/Auth.d.ts.map +1 -1
- package/lib/Types/Auth.js +1 -1
- package/lib/Types/Auth.js.map +1 -1
- package/lib/Types/BinaryNode.d.ts +0 -4
- package/lib/Types/BinaryNode.d.ts.map +1 -1
- package/lib/Types/Bussines.d.ts +1 -1
- package/lib/Types/Bussines.d.ts.map +1 -1
- package/lib/Types/Call.d.ts +3 -1
- package/lib/Types/Call.d.ts.map +1 -1
- package/lib/Types/Chat.d.ts +2 -2
- package/lib/Types/Chat.d.ts.map +1 -1
- package/lib/Types/Events.d.ts +16 -5
- package/lib/Types/Events.d.ts.map +1 -1
- package/lib/Types/Events.js +1 -1
- package/lib/Types/Events.js.map +1 -1
- package/lib/Types/GroupMetadata.d.ts +4 -0
- package/lib/Types/GroupMetadata.d.ts.map +1 -1
- package/lib/Types/Label.d.ts +3 -23
- package/lib/Types/Label.d.ts.map +1 -1
- package/lib/Types/Label.js +24 -23
- package/lib/Types/Label.js.map +1 -1
- package/lib/Types/LabelAssociation.d.ts +5 -6
- package/lib/Types/LabelAssociation.d.ts.map +1 -1
- package/lib/Types/LabelAssociation.js +4 -5
- package/lib/Types/LabelAssociation.js.map +1 -1
- package/lib/Types/Message.d.ts +45 -10
- package/lib/Types/Message.d.ts.map +1 -1
- package/lib/Types/Message.js +5 -7
- package/lib/Types/Message.js.map +1 -1
- package/lib/Types/Newsletter.d.ts +5 -28
- package/lib/Types/Newsletter.d.ts.map +1 -1
- package/lib/Types/Newsletter.js +34 -30
- package/lib/Types/Newsletter.js.map +1 -1
- package/lib/Types/Product.d.ts +75 -0
- package/lib/Types/Product.d.ts.map +1 -0
- package/lib/Types/Product.js +2 -0
- package/lib/Types/Product.js.map +1 -0
- package/lib/Types/Reachout.d.ts +3 -18
- package/lib/Types/Reachout.d.ts.map +1 -1
- package/lib/Types/Reachout.js +20 -19
- package/lib/Types/Reachout.js.map +1 -1
- package/lib/Types/Signal.d.ts +91 -0
- package/lib/Types/Signal.d.ts.map +1 -0
- package/lib/Types/Signal.js +2 -0
- package/lib/Types/Signal.js.map +1 -0
- package/lib/Types/Socket.d.ts +76 -30
- package/lib/Types/Socket.d.ts.map +1 -1
- package/lib/Types/State.d.ts +19 -0
- package/lib/Types/State.d.ts.map +1 -1
- package/lib/Types/State.js +26 -1
- package/lib/Types/State.js.map +1 -1
- package/lib/Types/USync.d.ts +9 -0
- package/lib/Types/USync.d.ts.map +1 -0
- package/lib/Types/USync.js +2 -0
- package/lib/Types/USync.js.map +1 -0
- package/lib/Types/index.d.ts +9 -12
- package/lib/Types/index.d.ts.map +1 -1
- package/lib/Types/index.js +30 -30
- package/lib/Types/index.js.map +1 -1
- package/lib/Utils/auth-utils.d.ts +2 -0
- package/lib/Utils/auth-utils.d.ts.map +1 -0
- package/lib/Utils/auth-utils.js +3 -0
- package/lib/Utils/auth-utils.js.map +1 -0
- package/lib/Utils/boom.d.ts +8 -32
- package/lib/Utils/boom.d.ts.map +1 -1
- package/lib/Utils/boom.js +7 -62
- package/lib/Utils/boom.js.map +1 -1
- package/lib/Utils/browser-utils.d.ts +1 -0
- package/lib/Utils/browser-utils.d.ts.map +1 -1
- package/lib/Utils/browser-utils.js +6 -0
- package/lib/Utils/browser-utils.js.map +1 -1
- package/lib/Utils/companion-reg-client-utils.d.ts +8 -0
- package/lib/Utils/companion-reg-client-utils.d.ts.map +1 -0
- package/lib/Utils/companion-reg-client-utils.js +32 -0
- package/lib/Utils/companion-reg-client-utils.js.map +1 -0
- package/lib/Utils/crypto.d.ts +31 -0
- package/lib/Utils/crypto.d.ts.map +1 -0
- package/lib/Utils/crypto.js +81 -0
- package/lib/Utils/crypto.js.map +1 -0
- package/lib/Utils/event-buffer.d.ts +15 -4
- package/lib/Utils/event-buffer.d.ts.map +1 -1
- package/lib/Utils/event-buffer.js +471 -34
- package/lib/Utils/event-buffer.js.map +1 -1
- package/lib/Utils/generics.d.ts +52 -15
- package/lib/Utils/generics.d.ts.map +1 -1
- package/lib/Utils/generics.js +269 -25
- package/lib/Utils/generics.js.map +1 -1
- package/lib/Utils/group-stub-params.d.ts +1 -28
- package/lib/Utils/group-stub-params.d.ts.map +1 -1
- package/lib/Utils/group-stub-params.js +2 -44
- package/lib/Utils/group-stub-params.js.map +1 -1
- package/lib/Utils/identity-change-handler.d.ts +2 -0
- package/lib/Utils/identity-change-handler.d.ts.map +1 -0
- package/lib/Utils/identity-change-handler.js +4 -0
- package/lib/Utils/identity-change-handler.js.map +1 -0
- package/lib/Utils/index.d.ts +9 -0
- package/lib/Utils/index.d.ts.map +1 -1
- package/lib/Utils/index.js +19 -10
- package/lib/Utils/index.js.map +1 -1
- package/lib/Utils/logger.d.ts.map +1 -1
- package/lib/Utils/message-retry-manager.d.ts +2 -0
- package/lib/Utils/message-retry-manager.d.ts.map +1 -0
- package/lib/Utils/message-retry-manager.js +4 -0
- package/lib/Utils/message-retry-manager.js.map +1 -0
- package/lib/Utils/messages-media.d.ts +28 -6
- package/lib/Utils/messages-media.d.ts.map +1 -1
- package/lib/Utils/messages-media.js +119 -1
- package/lib/Utils/messages-media.js.map +1 -1
- package/lib/Utils/messages.d.ts +33 -9
- package/lib/Utils/messages.d.ts.map +1 -1
- package/lib/Utils/messages.js +106 -33
- package/lib/Utils/messages.js.map +1 -1
- package/lib/Utils/native-crypto-provider.d.ts +10 -8
- package/lib/Utils/native-crypto-provider.d.ts.map +1 -1
- package/lib/Utils/native-crypto-provider.js +13 -56
- package/lib/Utils/native-crypto-provider.js.map +1 -1
- package/lib/Utils/pre-key-manager.d.ts +2 -0
- package/lib/Utils/pre-key-manager.d.ts.map +1 -0
- package/lib/Utils/pre-key-manager.js +3 -0
- package/lib/Utils/pre-key-manager.js.map +1 -0
- package/lib/Utils/process-history-message.d.ts +15 -4
- package/lib/Utils/process-history-message.d.ts.map +1 -1
- package/lib/Utils/process-history-message.js +162 -95
- package/lib/Utils/process-history-message.js.map +1 -1
- package/lib/Utils/process-message.d.ts +25 -0
- package/lib/Utils/process-message.d.ts.map +1 -0
- package/lib/Utils/process-message.js +79 -0
- package/lib/Utils/process-message.js.map +1 -0
- package/lib/Utils/signal.d.ts +29 -0
- package/lib/Utils/signal.d.ts.map +1 -0
- package/lib/Utils/signal.js +133 -0
- package/lib/Utils/signal.js.map +1 -0
- package/lib/Utils/sparse-array.d.ts +9 -0
- package/lib/Utils/sparse-array.d.ts.map +1 -0
- package/lib/Utils/sparse-array.js +12 -0
- package/lib/Utils/sparse-array.js.map +1 -0
- package/lib/Utils/stanza-ack.d.ts +2 -0
- package/lib/Utils/stanza-ack.d.ts.map +1 -0
- package/lib/Utils/stanza-ack.js +3 -0
- package/lib/Utils/stanza-ack.js.map +1 -0
- package/lib/Utils/use-bridge-store.d.ts.map +1 -1
- package/lib/Utils/use-bridge-store.js +191 -7
- package/lib/Utils/use-bridge-store.js.map +1 -1
- package/lib/Utils/use-memory-store.d.ts +8 -4
- package/lib/Utils/use-memory-store.d.ts.map +1 -1
- package/lib/Utils/use-memory-store.js +87 -10
- package/lib/Utils/use-memory-store.js.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.d.ts +4 -2
- package/lib/Utils/use-multi-file-auth-state.d.ts.map +1 -1
- package/lib/Utils/use-multi-file-auth-state.js +13 -5
- package/lib/Utils/use-multi-file-auth-state.js.map +1 -1
- package/lib/Utils/wrap-legacy-store.d.ts +8 -32
- package/lib/Utils/wrap-legacy-store.d.ts.map +1 -1
- package/lib/Utils/wrap-legacy-store.js +7 -1214
- package/lib/Utils/wrap-legacy-store.js.map +1 -1
- package/lib/WABinary/generic-utils.d.ts +8 -0
- package/lib/WABinary/generic-utils.d.ts.map +1 -1
- package/lib/WABinary/generic-utils.js +63 -1
- package/lib/WABinary/generic-utils.js.map +1 -1
- package/lib/WABinary/index.js +2 -2
- package/lib/WABinary/jid-utils.d.ts +22 -10
- package/lib/WABinary/jid-utils.d.ts.map +1 -1
- package/lib/WABinary/jid-utils.js +40 -9
- package/lib/WABinary/jid-utils.js.map +1 -1
- package/lib/WAProto/compatibility-schema.d.ts +25 -0
- package/lib/WAProto/compatibility-schema.d.ts.map +1 -0
- package/lib/WAProto/compatibility-schema.js +6 -0
- package/lib/WAProto/compatibility-schema.js.map +1 -0
- package/lib/WAProto/runtime.d.ts +14019 -0
- package/lib/WAProto/runtime.js +17 -0
- package/lib/WAProto/runtime.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts +27 -0
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +39 -0
- package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js +33 -0
- package/lib/WAUSync/Protocols/USyncContactProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts +23 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +41 -0
- package/lib/WAUSync/Protocols/USyncDeviceProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts +13 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +19 -0
- package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncLIDProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js +15 -0
- package/lib/WAUSync/Protocols/USyncLIDProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts +13 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js +25 -0
- package/lib/WAUSync/Protocols/USyncStatusProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts +10 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +21 -0
- package/lib/WAUSync/Protocols/USyncUsernameProtocol.js.map +1 -0
- package/lib/WAUSync/Protocols/index.d.ts +6 -0
- package/lib/WAUSync/Protocols/index.d.ts.map +1 -0
- package/lib/WAUSync/Protocols/index.js +6 -0
- package/lib/WAUSync/Protocols/index.js.map +1 -0
- package/lib/WAUSync/USyncQuery.d.ts +30 -0
- package/lib/WAUSync/USyncQuery.d.ts.map +1 -0
- package/lib/WAUSync/USyncQuery.js +78 -0
- package/lib/WAUSync/USyncQuery.js.map +1 -0
- package/lib/WAUSync/USyncUser.d.ts +17 -0
- package/lib/WAUSync/USyncUser.d.ts.map +1 -0
- package/lib/WAUSync/USyncUser.js +31 -0
- package/lib/WAUSync/USyncUser.js.map +1 -0
- package/lib/WAUSync/index.d.ts +4 -0
- package/lib/WAUSync/index.d.ts.map +1 -0
- package/lib/WAUSync/index.js +4 -0
- package/lib/WAUSync/index.js.map +1 -0
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -9
- package/lib/index.js.map +1 -1
- package/package.json +33 -15
- package/lib/Bridge/__tests__/adapt.test.d.ts +0 -2
- package/lib/Bridge/__tests__/adapt.test.d.ts.map +0 -1
- package/lib/Bridge/__tests__/adapt.test.js +0 -387
- package/lib/Bridge/__tests__/adapt.test.js.map +0 -1
- package/lib/Bridge/__tests__/dts-drift.test.d.ts +0 -13
- package/lib/Bridge/__tests__/dts-drift.test.d.ts.map +0 -1
- package/lib/Bridge/__tests__/dts-drift.test.js +0 -90
- package/lib/Bridge/__tests__/dts-drift.test.js.map +0 -1
- package/lib/Bridge/__tests__/fixtures.d.ts +0 -192
- package/lib/Bridge/__tests__/fixtures.d.ts.map +0 -1
- package/lib/Bridge/__tests__/fixtures.js +0 -99
- package/lib/Bridge/__tests__/fixtures.js.map +0 -1
- package/lib/Utils/__tests__/_legacy-store-fixtures.d.ts +0 -73
- package/lib/Utils/__tests__/_legacy-store-fixtures.d.ts.map +0 -1
- package/lib/Utils/__tests__/_legacy-store-fixtures.js +0 -113
- package/lib/Utils/__tests__/_legacy-store-fixtures.js.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.d.ts +0 -10
- package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.d.ts.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.js +0 -291
- package/lib/Utils/__tests__/wrap-legacy-store-coverage.test.js.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts +0 -8
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.d.ts.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js +0 -91
- package/lib/Utils/__tests__/wrap-legacy-store-lid-mapping.test.js.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts +0 -10
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.d.ts.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js +0 -125
- package/lib/Utils/__tests__/wrap-legacy-store-sender-key.test.js.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.d.ts +0 -2
- package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.d.ts.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.js +0 -214
- package/lib/Utils/__tests__/wrap-legacy-store-session-ratchet.test.js.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts +0 -14
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.d.ts.map +0 -1
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.js +0 -305
- package/lib/Utils/__tests__/wrap-legacy-store-session.test.js.map +0 -1
- package/lib/Utils/bridge-call.d.ts +0 -22
- package/lib/Utils/bridge-call.d.ts.map +0 -1
- package/lib/Utils/bridge-call.js +0 -105
- package/lib/Utils/bridge-call.js.map +0 -1
- package/lib/Utils/lid-mapping-store.d.ts +0 -81
- package/lib/Utils/lid-mapping-store.d.ts.map +0 -1
- package/lib/Utils/lid-mapping-store.js +0 -126
- package/lib/Utils/lid-mapping-store.js.map +0 -1
- package/lib/__tests__/expect.d.ts +0 -44
- package/lib/__tests__/expect.d.ts.map +0 -1
- package/lib/__tests__/expect.js +0 -100
- package/lib/__tests__/expect.js.map +0 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a fixed-length sparse array without initializing every slot.
|
|
3
|
+
*
|
|
4
|
+
* History-sync decoders fill a contiguous prefix and truncate malformed or
|
|
5
|
+
* absent entries before exposing the result. Keeping this operation explicit
|
|
6
|
+
* avoids repeated array growth without paying `Array.from`'s O(length) fill.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createSparseArray<T>(length: number): T[];
|
|
9
|
+
//# sourceMappingURL=sparse-array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparse-array.d.ts","sourceRoot":"","sources":["../../src/Utils/sparse-array.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAGxD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create a fixed-length sparse array without initializing every slot.
|
|
3
|
+
*
|
|
4
|
+
* History-sync decoders fill a contiguous prefix and truncate malformed or
|
|
5
|
+
* absent entries before exposing the result. Keeping this operation explicit
|
|
6
|
+
* avoids repeated array growth without paying `Array.from`'s O(length) fill.
|
|
7
|
+
*/
|
|
8
|
+
export function createSparseArray(length) {
|
|
9
|
+
// oxlint-disable-next-line unicorn/no-new-array -- sparse allocation is intentional; callers fill and truncate the prefix
|
|
10
|
+
return new Array(length);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=sparse-array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sparse-array.js","sourceRoot":"","sources":["../../src/Utils/sparse-array.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAI,MAAc;IAClD,0HAA0H;IAC1H,OAAO,IAAI,KAAK,CAAI,MAAM,CAAC,CAAA;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stanza-ack.d.ts","sourceRoot":"","sources":["../../src/Utils/stanza-ack.ts"],"names":[],"mappings":"AACA,cAAc,2CAA2C,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stanza-ack.js","sourceRoot":"","sources":["../../src/Utils/stanza-ack.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,cAAc,2CAA2C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-bridge-store.d.ts","sourceRoot":"","sources":["../../src/Utils/use-bridge-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"use-bridge-store.d.ts","sourceRoot":"","sources":["../../src/Utils/use-bridge-store.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AA+C5D;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,CAqUvG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Buffer } from 'node:buffer';
|
|
2
|
-
import { mkdir, readFile, unlink, writeFile } from 'node:fs/promises';
|
|
2
|
+
import { mkdir, readdir, readFile, unlink, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
/**
|
|
5
5
|
* Stores whose loss on SIGKILL produces undecryptable messages or
|
|
@@ -36,6 +36,14 @@ const CRITICAL_STORES = new Set([
|
|
|
36
36
|
'sync_version',
|
|
37
37
|
'mutation_mac'
|
|
38
38
|
]);
|
|
39
|
+
/**
|
|
40
|
+
* `ENOENT` is the only error tolerated on a write/readdir: it means the auth
|
|
41
|
+
* folder was removed (e.g. during shutdown/cleanup). Any other error (ENOSPC,
|
|
42
|
+
* EACCES, EIO, ENOTDIR) is a real persistence failure that MUST propagate —
|
|
43
|
+
* swallowing it would silently lose Signal session state or message secrets
|
|
44
|
+
* while the caller believes the write succeeded.
|
|
45
|
+
*/
|
|
46
|
+
const isEnoent = (e) => e?.code === 'ENOENT';
|
|
39
47
|
/**
|
|
40
48
|
* Creates a file-based store for the WASM bridge.
|
|
41
49
|
*
|
|
@@ -62,6 +70,18 @@ export async function useBridgeStore(folder) {
|
|
|
62
70
|
}
|
|
63
71
|
};
|
|
64
72
|
const filePath = (store, key) => join(folder, `${store}-${encodeURIComponent(key)}.bin`);
|
|
73
|
+
// Durable write that propagates real failures but tolerates the folder
|
|
74
|
+
// having been removed (shutdown race). Used by both `set` and `setMany`.
|
|
75
|
+
const writeCritical = async (store, key, value) => {
|
|
76
|
+
try {
|
|
77
|
+
await writeFile(filePath(store, key), value);
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
if (!isEnoent(e))
|
|
81
|
+
throw e;
|
|
82
|
+
// folder removed during shutdown — nothing to persist into
|
|
83
|
+
}
|
|
84
|
+
};
|
|
65
85
|
// Batch write queue: coalesces rapid writes to the same key
|
|
66
86
|
const pendingWrites = new Map();
|
|
67
87
|
const WRITE_DELAY_MS = 50;
|
|
@@ -78,6 +98,28 @@ export async function useBridgeStore(folder) {
|
|
|
78
98
|
// Ignore — folder may have been deleted during cleanup
|
|
79
99
|
}
|
|
80
100
|
};
|
|
101
|
+
// Delete many keys concurrently (shared by `deleteMany` and `deletePrefix`).
|
|
102
|
+
// Defined as a closure rather than a method so callers don't depend on
|
|
103
|
+
// `this` — the bridge invokes every store callback with `this = null`.
|
|
104
|
+
const doDeleteMany = async (store, keys) => {
|
|
105
|
+
if (keys.length === 0)
|
|
106
|
+
return;
|
|
107
|
+
await Promise.all(keys.map(async (key) => {
|
|
108
|
+
const cacheKey = `${store}\0${key}`;
|
|
109
|
+
cache.delete(cacheKey);
|
|
110
|
+
const existing = pendingWrites.get(cacheKey);
|
|
111
|
+
if (existing) {
|
|
112
|
+
clearTimeout(existing.timer);
|
|
113
|
+
pendingWrites.delete(cacheKey);
|
|
114
|
+
}
|
|
115
|
+
try {
|
|
116
|
+
await unlink(filePath(store, key));
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// ignore if file doesn't exist
|
|
120
|
+
}
|
|
121
|
+
}));
|
|
122
|
+
};
|
|
81
123
|
const FLUSH_MAX_PASSES = 32;
|
|
82
124
|
const flushAll = async () => {
|
|
83
125
|
// Drain in a loop because new sets can land while we're awaiting the
|
|
@@ -94,6 +136,59 @@ export async function useBridgeStore(folder) {
|
|
|
94
136
|
throw new Error(`use-bridge-store flushAll did not quiesce after ${FLUSH_MAX_PASSES} passes (${pendingWrites.size} pending writes remain)`);
|
|
95
137
|
}
|
|
96
138
|
};
|
|
139
|
+
// Enumerate live keys in a namespace (shared by `listKeys` and
|
|
140
|
+
// `deletePrefix`). Closure, not a method, so it never depends on `this`.
|
|
141
|
+
// Files are `<store>-<encodeURIComponent(key)>.bin`; store names never
|
|
142
|
+
// contain a hyphen, so split on the FIRST hyphen and decode the remainder.
|
|
143
|
+
// readdir (durable view) is unioned with not-yet-flushed debounced writes
|
|
144
|
+
// so a key written <50ms ago isn't missed; a flush is awaited first so a
|
|
145
|
+
// torn debounce window can't drop a key. Pending deletes both cancel their
|
|
146
|
+
// `pendingWrites` entry AND unlink immediately, so they never appear here.
|
|
147
|
+
const doListKeys = async (store, prefix) => {
|
|
148
|
+
await flushAll();
|
|
149
|
+
const filePrefix = `${store}-`;
|
|
150
|
+
const found = new Set();
|
|
151
|
+
let entries;
|
|
152
|
+
try {
|
|
153
|
+
entries = await readdir(folder);
|
|
154
|
+
}
|
|
155
|
+
catch (e) {
|
|
156
|
+
// Folder removed (shutdown) → genuinely empty. Any other error
|
|
157
|
+
// (EACCES/EIO) must NOT masquerade as "no keys", or the core would
|
|
158
|
+
// think persisted state is gone and could prune live indexes.
|
|
159
|
+
if (isEnoent(e))
|
|
160
|
+
entries = [];
|
|
161
|
+
else
|
|
162
|
+
throw e;
|
|
163
|
+
}
|
|
164
|
+
for (const file of entries) {
|
|
165
|
+
if (!file.startsWith(filePrefix) || !file.endsWith('.bin'))
|
|
166
|
+
continue;
|
|
167
|
+
const encoded = file.slice(filePrefix.length, -'.bin'.length);
|
|
168
|
+
let key;
|
|
169
|
+
try {
|
|
170
|
+
key = decodeURIComponent(encoded);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
continue; // skip a filename we can't decode rather than crash
|
|
174
|
+
}
|
|
175
|
+
if (prefix && !key.startsWith(prefix))
|
|
176
|
+
continue;
|
|
177
|
+
found.add(key);
|
|
178
|
+
}
|
|
179
|
+
// Union any writes still pending after the flush (a fresh set could land
|
|
180
|
+
// while flushAll awaited). Belt-and-suspenders.
|
|
181
|
+
for (const cacheKey of pendingWrites.keys()) {
|
|
182
|
+
const sep = cacheKey.indexOf('\0');
|
|
183
|
+
if (sep < 0 || cacheKey.slice(0, sep) !== store)
|
|
184
|
+
continue;
|
|
185
|
+
const key = cacheKey.slice(sep + 1);
|
|
186
|
+
if (prefix && !key.startsWith(prefix))
|
|
187
|
+
continue;
|
|
188
|
+
found.add(key);
|
|
189
|
+
}
|
|
190
|
+
return [...found];
|
|
191
|
+
};
|
|
97
192
|
return {
|
|
98
193
|
async get(store, key) {
|
|
99
194
|
const cacheKey = `${store}\0${key}`;
|
|
@@ -128,12 +223,9 @@ export async function useBridgeStore(folder) {
|
|
|
128
223
|
clearTimeout(existing.timer);
|
|
129
224
|
pendingWrites.delete(cacheKey);
|
|
130
225
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
catch {
|
|
135
|
-
// Directory may have been removed during shutdown
|
|
136
|
-
}
|
|
226
|
+
// Propagate real failures (ENOSPC/EACCES/…) — losing a critical
|
|
227
|
+
// Signal write silently corrupts the next decrypt.
|
|
228
|
+
await writeCritical(store, key, value);
|
|
137
229
|
return;
|
|
138
230
|
}
|
|
139
231
|
// Non-critical writes: coalesce rapid writes to the same key
|
|
@@ -162,6 +254,98 @@ export async function useBridgeStore(folder) {
|
|
|
162
254
|
// ignore if file doesn't exist
|
|
163
255
|
}
|
|
164
256
|
},
|
|
257
|
+
// Batched variant of `set`. The bridge calls this (when present) to
|
|
258
|
+
// persist a burst of entries in a single FFI crossing instead of N
|
|
259
|
+
// round-trips (e.g. ~20k messageSecrets from a history sync). Per-entry
|
|
260
|
+
// semantics are identical to `set` — same skip-if-equal, same cache
|
|
261
|
+
// touch, same critical-vs-debounced write policy.
|
|
262
|
+
async setMany(store, entries) {
|
|
263
|
+
// Empty batch is a valid no-op.
|
|
264
|
+
if (entries.length === 0)
|
|
265
|
+
return;
|
|
266
|
+
const critical = CRITICAL_STORES.has(store);
|
|
267
|
+
// Collect critical writes so we can run them concurrently with
|
|
268
|
+
// Promise.all instead of awaiting each writeFile serially in a loop.
|
|
269
|
+
const criticalWrites = [];
|
|
270
|
+
for (const [key, value] of entries) {
|
|
271
|
+
const cacheKey = `${store}\0${key}`;
|
|
272
|
+
// Skip write if value is identical to cached version.
|
|
273
|
+
// Buffer.compare accepts Uint8Array directly (no copy), unlike
|
|
274
|
+
// Buffer.from(prev).equals(Buffer.from(value)) which copied both.
|
|
275
|
+
const prev = cache.get(cacheKey);
|
|
276
|
+
if (prev && prev.length === value.length && Buffer.compare(prev, value) === 0) {
|
|
277
|
+
continue;
|
|
278
|
+
}
|
|
279
|
+
touchCache(cacheKey, value);
|
|
280
|
+
if (critical) {
|
|
281
|
+
// Cancel any pending debounced write for this key first,
|
|
282
|
+
// exactly like `set` does, then write immediately.
|
|
283
|
+
const existing = pendingWrites.get(cacheKey);
|
|
284
|
+
if (existing) {
|
|
285
|
+
clearTimeout(existing.timer);
|
|
286
|
+
pendingWrites.delete(cacheKey);
|
|
287
|
+
}
|
|
288
|
+
// Propagate real failures: if a critical write in the batch
|
|
289
|
+
// fails, setMany rejects, and the Rust core skips the
|
|
290
|
+
// follow-up self-index rewrite (so the index can't claim a
|
|
291
|
+
// value exists that was never persisted).
|
|
292
|
+
criticalWrites.push(writeCritical(store, key, value));
|
|
293
|
+
continue;
|
|
294
|
+
}
|
|
295
|
+
// Non-critical writes: coalesce rapid writes to the same key.
|
|
296
|
+
// The debounce already coalesces a burst, so scheduling each
|
|
297
|
+
// entry is fine — no immediate flush needed.
|
|
298
|
+
const existing = pendingWrites.get(cacheKey);
|
|
299
|
+
if (existing) {
|
|
300
|
+
clearTimeout(existing.timer);
|
|
301
|
+
}
|
|
302
|
+
const path = filePath(store, key);
|
|
303
|
+
const timer = setTimeout(() => void flushWrite(cacheKey), WRITE_DELAY_MS);
|
|
304
|
+
timer.unref(); // Don't keep the process alive for debounced writes
|
|
305
|
+
pendingWrites.set(cacheKey, { path, value, timer });
|
|
306
|
+
}
|
|
307
|
+
// Run all critical writes concurrently.
|
|
308
|
+
if (criticalWrites.length > 0) {
|
|
309
|
+
await Promise.all(criticalWrites);
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
// Batched variant of `delete`. Per-key semantics are identical to
|
|
313
|
+
// `delete`; unlinks run concurrently via Promise.all.
|
|
314
|
+
deleteMany: doDeleteMany,
|
|
315
|
+
// Read many keys at once. Cache-aside per key (like `get`), so a hit
|
|
316
|
+
// never touches disk; misses read the file. Missing keys are omitted.
|
|
317
|
+
async getMany(store, keys) {
|
|
318
|
+
if (keys.length === 0)
|
|
319
|
+
return [];
|
|
320
|
+
const results = await Promise.all(keys.map(async (key) => {
|
|
321
|
+
const cacheKey = `${store}\0${key}`;
|
|
322
|
+
const cached = cache.get(cacheKey);
|
|
323
|
+
if (cached)
|
|
324
|
+
return [key, cached];
|
|
325
|
+
const pending = pendingWrites.get(cacheKey);
|
|
326
|
+
if (pending)
|
|
327
|
+
return [key, pending.value];
|
|
328
|
+
try {
|
|
329
|
+
const data = await readFile(filePath(store, key));
|
|
330
|
+
const arr = new Uint8Array(data.buffer, data.byteOffset, data.byteLength);
|
|
331
|
+
touchCache(cacheKey, arr);
|
|
332
|
+
return [key, arr];
|
|
333
|
+
}
|
|
334
|
+
catch {
|
|
335
|
+
return null;
|
|
336
|
+
}
|
|
337
|
+
}));
|
|
338
|
+
return results.filter((r) => r !== null);
|
|
339
|
+
},
|
|
340
|
+
listKeys: doListKeys,
|
|
341
|
+
async deletePrefix(store, prefix) {
|
|
342
|
+
const keys = await doListKeys(store, prefix);
|
|
343
|
+
await doDeleteMany(store, keys);
|
|
344
|
+
return keys.length;
|
|
345
|
+
},
|
|
346
|
+
// File-per-key can do everything; enumeration via readdir lets the core
|
|
347
|
+
// drop its hand-maintained meta-indexes for this backend.
|
|
348
|
+
capabilities: { batch: true, enumerate: true, prefixDelete: true },
|
|
165
349
|
flush: flushAll
|
|
166
350
|
};
|
|
167
351
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-bridge-store.js","sourceRoot":"","sources":["../../src/Utils/use-bridge-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"use-bridge-store.js","sourceRoot":"","sources":["../../src/Utils/use-bridge-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAGhC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACpD,SAAS;IACT,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,cAAc;IACd,cAAc;CACd,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAW,EAAE,CAAE,CAA2B,EAAE,IAAI,KAAK,QAAQ,CAAA;AAEzF;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAc;IAClD,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAExC,wDAAwD;IACxD,MAAM,iBAAiB,GAAG,IAAI,CAAA;IAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAA;IAC3C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,KAAiB,EAAE,EAAE;QACrD,0DAA0D;QAC1D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACjB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,qCAAqC;QACrC,IAAI,KAAK,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAM,CAAA;YACxC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACpB,CAAC;IACF,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAExG,uEAAuE;IACvE,yEAAyE;IACzE,MAAM,aAAa,GAAG,KAAK,EAAE,KAAa,EAAE,GAAW,EAAE,KAAiB,EAAiB,EAAE;QAC5F,IAAI,CAAC;YACJ,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QAC7C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,CAAA;YACzB,2DAA2D;QAC5D,CAAC;IACF,CAAC,CAAA;IAED,4DAA4D;IAC5D,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqF,CAAA;IAClH,MAAM,cAAc,GAAG,EAAE,CAAA;IAEzB,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QAC7C,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC9B,IAAI,CAAC;YACJ,MAAM,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;QAAC,MAAM,CAAC;YACR,uDAAuD;QACxD,CAAC;IACF,CAAC,CAAA;IAED,6EAA6E;IAC7E,uEAAuE;IACvE,uEAAuE;IACvE,MAAM,YAAY,GAAG,KAAK,EAAE,KAAa,EAAE,IAAc,EAAiB,EAAE;QAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QAC7B,MAAM,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;YACpB,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,CAAA;YACnC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACd,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC5B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC/B,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YACnC,CAAC;YAAC,MAAM,CAAC;gBACR,+BAA+B;YAChC,CAAC;QACF,CAAC,CAAC,CACF,CAAA;IACF,CAAC,CAAA;IAED,MAAM,gBAAgB,GAAG,EAAE,CAAA;IAC3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC3B,qEAAqE;QACrE,qEAAqE;QACrE,qEAAqE;QACrE,gEAAgE;QAChE,gEAAgE;QAChE,iEAAiE;QACjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrE,MAAM,IAAI,GAAG,CAAC,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC,CAAA;YACtC,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAA;QACxC,CAAC;QACD,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACd,mDAAmD,gBAAgB,YAAY,aAAa,CAAC,IAAI,yBAAyB,CAC1H,CAAA;QACF,CAAC;IACF,CAAC,CAAA;IAED,+DAA+D;IAC/D,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,0EAA0E;IAC1E,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,UAAU,GAAG,KAAK,EAAE,KAAa,EAAE,MAAe,EAAqB,EAAE;QAC9E,MAAM,QAAQ,EAAE,CAAA;QAEhB,MAAM,UAAU,GAAG,GAAG,KAAK,GAAG,CAAA;QAC9B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAA;QAE/B,IAAI,OAAiB,CAAA;QACrB,IAAI,CAAC;YACJ,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;QAChC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,+DAA+D;YAC/D,mEAAmE;YACnE,8DAA8D;YAC9D,IAAI,QAAQ,CAAC,CAAC,CAAC;gBAAE,OAAO,GAAG,EAAE,CAAA;;gBACxB,MAAM,CAAC,CAAA;QACb,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,SAAQ;YACpE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;YAC7D,IAAI,GAAW,CAAA;YACf,IAAI,CAAC;gBACJ,GAAG,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;YAClC,CAAC;YAAC,MAAM,CAAC;gBACR,SAAQ,CAAC,oDAAoD;YAC9D,CAAC;YACD,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAQ;YAC/C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QAED,yEAAyE;QACzE,gDAAgD;QAChD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,KAAK;gBAAE,SAAQ;YACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;YACnC,IAAI,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,SAAQ;YAC/C,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;QAED,OAAO,CAAC,GAAG,KAAK,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,OAAO;QACN,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,GAAW;YACnC,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,CAAA;YAEnC,oBAAoB;YACpB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAClC,IAAI,MAAM;gBAAE,OAAO,MAAM,CAAA;YAEzB,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC3C,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC,KAAK,CAAA;YAEjC,IAAI,CAAC;gBACJ,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;gBACjD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;gBACzB,OAAO,GAAG,CAAA;YACX,CAAC;YAAC,MAAM,CAAC;gBACR,OAAO,IAAI,CAAA;YACZ,CAAC;QACF,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,KAAiB;YACtD,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,CAAA;YAEnC,qDAAqD;YACrD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAChC,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1D,OAAM;YACP,CAAC;YAED,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAE3B,IAAI,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5C,IAAI,QAAQ,EAAE,CAAC;oBACd,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;oBAC5B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBAC/B,CAAC;gBAED,gEAAgE;gBAChE,mDAAmD;gBACnD,MAAM,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;gBAEtC,OAAM;YACP,CAAC;YAED,6DAA6D;YAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACd,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAC7B,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAA;YACzE,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,oDAAoD;YAClE,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;QACpD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,GAAW;YACtC,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,CAAA;YACnC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAEtB,uBAAuB;YACvB,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YAC5C,IAAI,QAAQ,EAAE,CAAC;gBACd,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC5B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC/B,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YACnC,CAAC;YAAC,MAAM,CAAC;gBACR,+BAA+B;YAChC,CAAC;QACF,CAAC;QAED,oEAAoE;QACpE,mEAAmE;QACnE,wEAAwE;QACxE,oEAAoE;QACpE,kDAAkD;QAClD,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,OAA2C;YACvE,gCAAgC;YAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAEhC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC3C,+DAA+D;YAC/D,qEAAqE;YACrE,MAAM,cAAc,GAAoB,EAAE,CAAA;YAE1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,CAAA;gBAEnC,sDAAsD;gBACtD,+DAA+D;gBAC/D,kEAAkE;gBAClE,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAChC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/E,SAAQ;gBACT,CAAC;gBAED,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBAE3B,IAAI,QAAQ,EAAE,CAAC;oBACd,yDAAyD;oBACzD,mDAAmD;oBACnD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;oBAC5C,IAAI,QAAQ,EAAE,CAAC;wBACd,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;wBAC5B,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;oBAC/B,CAAC;oBAED,4DAA4D;oBAC5D,sDAAsD;oBACtD,2DAA2D;oBAC3D,0CAA0C;oBAC1C,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAA;oBACrD,SAAQ;gBACT,CAAC;gBAED,8DAA8D;gBAC9D,6DAA6D;gBAC7D,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC5C,IAAI,QAAQ,EAAE,CAAC;oBACd,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC7B,CAAC;gBAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBACjC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAA;gBACzE,KAAK,CAAC,KAAK,EAAE,CAAA,CAAC,oDAAoD;gBAClE,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAA;YACpD,CAAC;YAED,wCAAwC;YACxC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YAClC,CAAC;QACF,CAAC;QAED,kEAAkE;QAClE,sDAAsD;QACtD,UAAU,EAAE,YAAY;QAExB,qEAAqE;QACrE,sEAAsE;QACtE,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,IAAc;YAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YAEhC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAwC,EAAE;gBAC5D,MAAM,QAAQ,GAAG,GAAG,KAAK,KAAK,GAAG,EAAE,CAAA;gBACnC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAClC,IAAI,MAAM;oBAAE,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;gBAChC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;gBAC3C,IAAI,OAAO;oBAAE,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;gBACxC,IAAI,CAAC;oBACJ,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;oBACjD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;oBACzE,UAAU,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;oBACzB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;gBAClB,CAAC;gBAAC,MAAM,CAAC;oBACR,OAAO,IAAI,CAAA;gBACZ,CAAC;YACF,CAAC,CAAC,CACF,CAAA;YAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAA6B,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAA;QACpE,CAAC;QAED,QAAQ,EAAE,UAAU;QAEpB,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,MAAc;YAC/C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;YAC5C,MAAM,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAE/B,OAAO,IAAI,CAAC,MAAM,CAAA;QACnB,CAAC;QAED,wEAAwE;QACxE,0DAA0D;QAC1D,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE;QAElE,KAAK,EAAE,QAAQ;KACf,CAAA;AACF,CAAC"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
import type { AuthenticationState } from '../Types/index.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a purely in-memory store
|
|
3
|
+
* Creates a purely in-memory authentication store.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* By default, a reusable host Map owns the bytes. `{ native: true }` instead
|
|
6
|
+
* selects the socket-local in-memory backend already owned by the core, avoiding
|
|
7
|
+
* host/WASM storage crossings. Native state is intentionally ephemeral and is
|
|
8
|
+
* not reusable by a later socket instance.
|
|
7
9
|
*/
|
|
8
|
-
export declare function useMemoryStore(
|
|
10
|
+
export declare function useMemoryStore(options?: {
|
|
11
|
+
native?: boolean;
|
|
12
|
+
}): NonNullable<AuthenticationState['store']>;
|
|
9
13
|
//# sourceMappingURL=use-memory-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-memory-store.d.ts","sourceRoot":"","sources":["../../src/Utils/use-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"use-memory-store.d.ts","sourceRoot":"","sources":["../../src/Utils/use-memory-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAK5D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CA2F5G"}
|
|
@@ -1,23 +1,100 @@
|
|
|
1
|
-
|
|
1
|
+
import { markNativeMemoryStore } from '../Compatibility/internal/native-memory-store.js';
|
|
2
2
|
/**
|
|
3
|
-
* Creates a purely in-memory store
|
|
3
|
+
* Creates a purely in-memory authentication store.
|
|
4
4
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* By default, a reusable host Map owns the bytes. `{ native: true }` instead
|
|
6
|
+
* selects the socket-local in-memory backend already owned by the core, avoiding
|
|
7
|
+
* host/WASM storage crossings. Native state is intentionally ephemeral and is
|
|
8
|
+
* not reusable by a later socket instance.
|
|
7
9
|
*/
|
|
8
|
-
export function useMemoryStore() {
|
|
9
|
-
const
|
|
10
|
-
|
|
10
|
+
export function useMemoryStore(options = {}) {
|
|
11
|
+
const stores = new Map();
|
|
12
|
+
const bucketForWrite = (store) => {
|
|
13
|
+
let bucket = stores.get(store);
|
|
14
|
+
if (!bucket) {
|
|
15
|
+
bucket = new Map();
|
|
16
|
+
stores.set(store, bucket);
|
|
17
|
+
}
|
|
18
|
+
return bucket;
|
|
19
|
+
};
|
|
20
|
+
const deleteEmptyBucket = (store, bucket) => {
|
|
21
|
+
if (bucket.size === 0)
|
|
22
|
+
stores.delete(store);
|
|
23
|
+
};
|
|
24
|
+
const memoryStore = {
|
|
11
25
|
async get(store, key) {
|
|
12
|
-
return
|
|
26
|
+
return stores.get(store)?.get(key) ?? null;
|
|
13
27
|
},
|
|
14
28
|
async set(store, key, value) {
|
|
15
|
-
|
|
29
|
+
bucketForWrite(store).set(key, value);
|
|
16
30
|
},
|
|
17
31
|
async delete(store, key) {
|
|
18
|
-
|
|
32
|
+
const bucket = stores.get(store);
|
|
33
|
+
if (!bucket)
|
|
34
|
+
return;
|
|
35
|
+
bucket.delete(key);
|
|
36
|
+
deleteEmptyBucket(store, bucket);
|
|
37
|
+
},
|
|
38
|
+
async setMany(store, entries) {
|
|
39
|
+
if (entries.length === 0)
|
|
40
|
+
return;
|
|
41
|
+
const bucket = bucketForWrite(store);
|
|
42
|
+
for (const [key, value] of entries)
|
|
43
|
+
bucket.set(key, value);
|
|
44
|
+
},
|
|
45
|
+
async getMany(store, keys) {
|
|
46
|
+
const bucket = stores.get(store);
|
|
47
|
+
if (!bucket)
|
|
48
|
+
return [];
|
|
49
|
+
const out = [];
|
|
50
|
+
for (const key of keys) {
|
|
51
|
+
const value = bucket.get(key);
|
|
52
|
+
if (value !== undefined)
|
|
53
|
+
out.push([key, value]);
|
|
54
|
+
}
|
|
55
|
+
return out;
|
|
56
|
+
},
|
|
57
|
+
async deleteMany(store, keys) {
|
|
58
|
+
const bucket = stores.get(store);
|
|
59
|
+
if (!bucket)
|
|
60
|
+
return;
|
|
61
|
+
for (const key of keys)
|
|
62
|
+
bucket.delete(key);
|
|
63
|
+
deleteEmptyBucket(store, bucket);
|
|
64
|
+
},
|
|
65
|
+
async listKeys(store, prefix) {
|
|
66
|
+
const bucket = stores.get(store);
|
|
67
|
+
if (!bucket)
|
|
68
|
+
return [];
|
|
69
|
+
const out = [];
|
|
70
|
+
for (const key of bucket.keys()) {
|
|
71
|
+
if (prefix && !key.startsWith(prefix))
|
|
72
|
+
continue;
|
|
73
|
+
out.push(key);
|
|
74
|
+
}
|
|
75
|
+
return out;
|
|
76
|
+
},
|
|
77
|
+
async deletePrefix(store, prefix) {
|
|
78
|
+
const bucket = stores.get(store);
|
|
79
|
+
if (!bucket)
|
|
80
|
+
return 0;
|
|
81
|
+
let deleted = 0;
|
|
82
|
+
for (const key of bucket.keys()) {
|
|
83
|
+
if (!key.startsWith(prefix))
|
|
84
|
+
continue;
|
|
85
|
+
bucket.delete(key);
|
|
86
|
+
deleted += 1;
|
|
87
|
+
}
|
|
88
|
+
deleteEmptyBucket(store, bucket);
|
|
89
|
+
return deleted;
|
|
19
90
|
},
|
|
91
|
+
// Declares the optional primitives the bridge may use. An in-memory Map
|
|
92
|
+
// can do everything; enumeration lets the core drop its meta-indexes.
|
|
93
|
+
capabilities: { batch: true, enumerate: true, prefixDelete: true },
|
|
20
94
|
async flush() { }
|
|
21
95
|
};
|
|
96
|
+
if (options.native)
|
|
97
|
+
markNativeMemoryStore(memoryStore);
|
|
98
|
+
return memoryStore;
|
|
22
99
|
}
|
|
23
100
|
//# sourceMappingURL=use-memory-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-memory-store.js","sourceRoot":"","sources":["../../src/Utils/use-memory-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-memory-store.js","sourceRoot":"","sources":["../../src/Utils/use-memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,10 @@ import type { AuthenticationState } from '../Types/index.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Creates a file-based authentication state for the Rust bridge.
|
|
4
4
|
*
|
|
5
|
-
* All crypto keys, sessions, and identity are managed by the Rust
|
|
6
|
-
* and persisted as `.bin` files via the bridge store.
|
|
5
|
+
* All effective crypto keys, sessions, and identity are managed by the Rust
|
|
6
|
+
* engine and persisted as `.bin` files via the bridge store. The returned
|
|
7
|
+
* `creds` and `keys` are complete upstream-compatible mirrors so unchanged
|
|
8
|
+
* application code can inspect them or clear legacy entries safely.
|
|
7
9
|
*
|
|
8
10
|
* Returns a `saveCreds` no-op for upstream-Baileys API parity. Upstream
|
|
9
11
|
* bots wire `ev.on('creds.update', saveCreds)` as the persistence hook;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-multi-file-auth-state.d.ts","sourceRoot":"","sources":["../../src/Utils/use-multi-file-auth-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"use-multi-file-auth-state.d.ts","sourceRoot":"","sources":["../../src/Utils/use-multi-file-auth-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAK5D;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,qBAAqB,WACzB,MAAM,KACZ,OAAO,CAAC;IAAE,KAAK,EAAE,mBAAmB,CAAC;IAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAyBxE,CAAA"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { mkdir, stat } from 'node:fs/promises';
|
|
2
|
-
import {
|
|
2
|
+
import { projectNativeStore } from '../Compatibility/legacy-store/native-projection.js';
|
|
3
|
+
import { initAuthCreds } from './generics.js';
|
|
4
|
+
import { useBridgeStore } from './use-bridge-store.js';
|
|
3
5
|
/**
|
|
4
6
|
* Creates a file-based authentication state for the Rust bridge.
|
|
5
7
|
*
|
|
6
|
-
* All crypto keys, sessions, and identity are managed by the Rust
|
|
7
|
-
* and persisted as `.bin` files via the bridge store.
|
|
8
|
+
* All effective crypto keys, sessions, and identity are managed by the Rust
|
|
9
|
+
* engine and persisted as `.bin` files via the bridge store. The returned
|
|
10
|
+
* `creds` and `keys` are complete upstream-compatible mirrors so unchanged
|
|
11
|
+
* application code can inspect them or clear legacy entries safely.
|
|
8
12
|
*
|
|
9
13
|
* Returns a `saveCreds` no-op for upstream-Baileys API parity. Upstream
|
|
10
14
|
* bots wire `ev.on('creds.update', saveCreds)` as the persistence hook;
|
|
@@ -25,10 +29,14 @@ export const useMultiFileAuthState = async (folder) => {
|
|
|
25
29
|
await mkdir(folder, { recursive: true });
|
|
26
30
|
}
|
|
27
31
|
const store = await useBridgeStore(folder);
|
|
32
|
+
const creds = initAuthCreds();
|
|
33
|
+
const keys = projectNativeStore(store, creds);
|
|
28
34
|
return {
|
|
29
|
-
state: { store },
|
|
35
|
+
state: { creds, keys, store },
|
|
30
36
|
saveCreds: async () => {
|
|
31
|
-
// no-op: bridge owns creds and writes them through
|
|
37
|
+
// no-op: bridge owns effective creds and writes them through
|
|
38
|
+
// `store.set('device', …)`; the in-process mirror is merged before this
|
|
39
|
+
// hook runs.
|
|
32
40
|
// Kept on the surface so upstream-Baileys code paths keep type-checking.
|
|
33
41
|
}
|
|
34
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-multi-file-auth-state.js","sourceRoot":"","sources":["../../src/Utils/use-multi-file-auth-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD
|
|
1
|
+
{"version":3,"file":"use-multi-file-auth-state.js","sourceRoot":"","sources":["../../src/Utils/use-multi-file-auth-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAA;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACzC,MAAc,EAC4D,EAAE;IAC5E,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IACrD,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACd,8CAA8C,MAAM,oDAAoD,CACxG,CAAA;QACF,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,KAAK,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAA;IAC1C,MAAM,KAAK,GAAG,aAAa,EAAE,CAAA;IAC7B,MAAM,IAAI,GAAgC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAE1E,OAAO;QACN,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;QAC7B,SAAS,EAAE,KAAK,IAAI,EAAE;YACrB,6DAA6D;YAC7D,wEAAwE;YACxE,aAAa;YACb,yEAAyE;QAC1E,CAAC;KACD,CAAA;AACF,CAAC,CAAA"}
|
|
@@ -1,36 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* MongoDB, Redis, etc.) — zero migration needed.
|
|
2
|
+
* Compatibility facade for callers that still provide Baileys
|
|
3
|
+
* `{ creds, keys }` authentication state.
|
|
5
4
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* auth: { store: await wrapLegacyStore(state, saveCreds) }
|
|
10
|
-
* })
|
|
11
|
-
* ```
|
|
5
|
+
* The implementation lives in `Compatibility/legacy-store/`: the WASM bridge sees only its
|
|
6
|
+
* native byte-store contract, while every Baileys-specific projection remains
|
|
7
|
+
* in this package.
|
|
12
8
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export
|
|
16
|
-
flush(): Promise<void>;
|
|
17
|
-
dispose(): void;
|
|
18
|
-
}
|
|
19
|
-
export declare function wrapLegacyStore(state: AuthenticationState, saveCreds: () => Promise<void>, logger?: {
|
|
20
|
-
warn: (obj: unknown, msg?: string) => void;
|
|
21
|
-
}): Promise<WrappedLegacyStore>;
|
|
22
|
-
/**
|
|
23
|
-
* Loads an upstream Baileys session (creds.json + key .json files) and returns
|
|
24
|
-
* the standard `{ state, saveCreds }` tuple that `wrapLegacyStore` expects.
|
|
25
|
-
*
|
|
26
|
-
* ```typescript
|
|
27
|
-
* const { state, saveCreds } = await useLegacyMultiFileAuthState('/path/to/baileys_auth_info')
|
|
28
|
-
* const store = await wrapLegacyStore(state, saveCreds)
|
|
29
|
-
* const sock = makeWASocket({ auth: { store } })
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export declare function useLegacyMultiFileAuthState(folder: string): Promise<{
|
|
33
|
-
state: AuthenticationState;
|
|
34
|
-
saveCreds: () => Promise<void>;
|
|
35
|
-
}>;
|
|
9
|
+
export { wrapLegacyStore } from '../Compatibility/legacy-store/adapter.js';
|
|
10
|
+
export { useLegacyMultiFileAuthState } from '../Compatibility/legacy-store/multi-file.js';
|
|
11
|
+
export type { WrappedLegacyStore } from '../Compatibility/legacy-store/types.js';
|
|
36
12
|
//# sourceMappingURL=wrap-legacy-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrap-legacy-store.d.ts","sourceRoot":"","sources":["../../src/Utils/wrap-legacy-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"wrap-legacy-store.d.ts","sourceRoot":"","sources":["../../src/Utils/wrap-legacy-store.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,6CAA6C,CAAA;AACzF,YAAY,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAA"}
|