@enbox/dwn-sdk-js 0.0.6 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser.mjs +8 -8
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +762 -911
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/src/core/abstract-message.js +4 -0
- package/dist/esm/src/core/abstract-message.js.map +1 -1
- package/dist/esm/src/core/auth.js +22 -33
- package/dist/esm/src/core/auth.js.map +1 -1
- package/dist/esm/src/core/constants.js +11 -0
- package/dist/esm/src/core/constants.js.map +1 -0
- package/dist/esm/src/core/core-protocol.js +44 -0
- package/dist/esm/src/core/core-protocol.js.map +1 -0
- package/dist/esm/src/core/dwn-constant.js +7 -7
- package/dist/esm/src/core/dwn-constant.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +10 -12
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/grant-authorization.js +50 -52
- package/dist/esm/src/core/grant-authorization.js.map +1 -1
- package/dist/esm/src/core/message.js +85 -116
- package/dist/esm/src/core/message.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +63 -78
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-action.js +266 -0
- package/dist/esm/src/core/protocol-authorization-action.js.map +1 -0
- package/dist/esm/src/core/protocol-authorization-validation.js +321 -0
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -0
- package/dist/esm/src/core/protocol-authorization.js +144 -741
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/protocols-grant-authorization.js +24 -38
- package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/record-chain.js +64 -0
- package/dist/esm/src/core/record-chain.js.map +1 -0
- package/dist/esm/src/core/records-grant-authorization.js +53 -72
- package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/resumable-task-manager.js +50 -65
- package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
- package/dist/esm/src/core/tenant-gate.js +2 -13
- package/dist/esm/src/core/tenant-gate.js.map +1 -1
- package/dist/esm/src/dwn.js +108 -101
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/event-stream/event-emitter-event-log.js +204 -0
- package/dist/esm/src/event-stream/event-emitter-event-log.js.map +1 -0
- package/dist/esm/src/handlers/messages-read.js +67 -81
- package/dist/esm/src/handlers/messages-read.js.map +1 -1
- package/dist/esm/src/handlers/messages-subscribe.js +51 -63
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/messages-sync.js +75 -89
- package/dist/esm/src/handlers/messages-sync.js.map +1 -1
- package/dist/esm/src/handlers/protocols-configure.js +153 -163
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/protocols-query.js +52 -55
- package/dist/esm/src/handlers/protocols-query.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +97 -85
- package/dist/esm/src/handlers/records-count.js.map +1 -1
- package/dist/esm/src/handlers/records-delete.js +75 -93
- package/dist/esm/src/handlers/records-delete.js.map +1 -1
- package/dist/esm/src/handlers/records-query.js +116 -105
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-read.js +130 -132
- package/dist/esm/src/handlers/records-read.js.map +1 -1
- package/dist/esm/src/handlers/records-subscribe.js +164 -104
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +213 -280
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +5 -2
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/messages-read.js +24 -32
- package/dist/esm/src/interfaces/messages-read.js.map +1 -1
- package/dist/esm/src/interfaces/messages-subscribe.js +28 -41
- package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/messages-sync.js +26 -40
- package/dist/esm/src/interfaces/messages-sync.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-configure.js +87 -65
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-query.js +55 -68
- package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-count.js +50 -66
- package/dist/esm/src/interfaces/records-count.js.map +1 -1
- package/dist/esm/src/interfaces/records-delete.js +45 -55
- package/dist/esm/src/interfaces/records-delete.js.map +1 -1
- package/dist/esm/src/interfaces/records-query.js +60 -76
- package/dist/esm/src/interfaces/records-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-read.js +51 -67
- package/dist/esm/src/interfaces/records-read.js.map +1 -1
- package/dist/esm/src/interfaces/records-subscribe.js +53 -68
- package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/records-write-query.js +102 -0
- package/dist/esm/src/interfaces/records-write-query.js.map +1 -0
- package/dist/esm/src/interfaces/records-write-signing.js +81 -0
- package/dist/esm/src/interfaces/records-write-signing.js.map +1 -0
- package/dist/esm/src/interfaces/records-write.js +396 -610
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/jose/algorithms/signing/ed25519.js +10 -19
- package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -1
- package/dist/esm/src/jose/jws/general/builder.js +23 -35
- package/dist/esm/src/jose/jws/general/builder.js.map +1 -1
- package/dist/esm/src/jose/jws/general/verifier.js +56 -69
- package/dist/esm/src/jose/jws/general/verifier.js.map +1 -1
- package/dist/esm/src/protocols/permission-grant.js +43 -14
- package/dist/esm/src/protocols/permission-grant.js.map +1 -1
- package/dist/esm/src/protocols/permission-request.js +28 -14
- package/dist/esm/src/protocols/permission-request.js.map +1 -1
- package/dist/esm/src/protocols/permissions.js +325 -227
- package/dist/esm/src/protocols/permissions.js.map +1 -1
- package/dist/esm/src/smt/smt-store-level.js +42 -64
- package/dist/esm/src/smt/smt-store-level.js.map +1 -1
- package/dist/esm/src/smt/smt-store-memory.js +19 -45
- package/dist/esm/src/smt/smt-store-memory.js.map +1 -1
- package/dist/esm/src/smt/smt-utils.js +28 -45
- package/dist/esm/src/smt/smt-utils.js.map +1 -1
- package/dist/esm/src/smt/sparse-merkle-tree.js +426 -471
- package/dist/esm/src/smt/sparse-merkle-tree.js.map +1 -1
- package/dist/esm/src/state-index/state-index-level.js +113 -150
- package/dist/esm/src/state-index/state-index-level.js.map +1 -1
- package/dist/esm/src/store/blockstore-level.js +54 -156
- package/dist/esm/src/store/blockstore-level.js.map +1 -1
- package/dist/esm/src/store/blockstore-mock.js +48 -153
- package/dist/esm/src/store/blockstore-mock.js.map +1 -1
- package/dist/esm/src/store/data-store-level.js +137 -100
- package/dist/esm/src/store/data-store-level.js.map +1 -1
- package/dist/esm/src/store/index-level-compound.js +246 -0
- package/dist/esm/src/store/index-level-compound.js.map +1 -0
- package/dist/esm/src/store/index-level.js +307 -715
- package/dist/esm/src/store/index-level.js.map +1 -1
- package/dist/esm/src/store/level-wrapper.js +143 -244
- package/dist/esm/src/store/level-wrapper.js.map +1 -1
- package/dist/esm/src/store/message-store-level.js +71 -94
- package/dist/esm/src/store/message-store-level.js.map +1 -1
- package/dist/esm/src/store/resumable-task-store-level.js +62 -101
- package/dist/esm/src/store/resumable-task-store-level.js.map +1 -1
- package/dist/esm/src/store/storage-controller.js +131 -146
- package/dist/esm/src/store/storage-controller.js.map +1 -1
- package/dist/esm/src/types/permission-types.js.map +1 -1
- package/dist/esm/src/types/protocols-types.js +10 -0
- package/dist/esm/src/types/protocols-types.js.map +1 -1
- package/dist/esm/src/types/records-types.js.map +1 -1
- package/dist/esm/src/utils/abort.js +8 -19
- package/dist/esm/src/utils/abort.js.map +1 -1
- package/dist/esm/src/utils/array.js +15 -49
- package/dist/esm/src/utils/array.js.map +1 -1
- package/dist/esm/src/utils/cid.js +29 -77
- package/dist/esm/src/utils/cid.js.map +1 -1
- package/dist/esm/src/utils/data-stream.js +37 -65
- package/dist/esm/src/utils/data-stream.js.map +1 -1
- package/dist/esm/src/utils/encryption.js +136 -162
- package/dist/esm/src/utils/encryption.js.map +1 -1
- package/dist/esm/src/utils/filter.js +1 -12
- package/dist/esm/src/utils/filter.js.map +1 -1
- package/dist/esm/src/utils/hd-key.js +45 -71
- package/dist/esm/src/utils/hd-key.js.map +1 -1
- package/dist/esm/src/utils/jws.js +9 -20
- package/dist/esm/src/utils/jws.js.map +1 -1
- package/dist/esm/src/utils/memory-cache.js +12 -23
- package/dist/esm/src/utils/memory-cache.js.map +1 -1
- package/dist/esm/src/utils/messages.js +21 -33
- package/dist/esm/src/utils/messages.js.map +1 -1
- package/dist/esm/src/utils/private-key-signer.js +9 -17
- package/dist/esm/src/utils/private-key-signer.js.map +1 -1
- package/dist/esm/src/utils/protocols.js +62 -70
- package/dist/esm/src/utils/protocols.js.map +1 -1
- package/dist/esm/src/utils/records.js +103 -166
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/secp256k1.js +60 -96
- package/dist/esm/src/utils/secp256k1.js.map +1 -1
- package/dist/esm/src/utils/secp256r1.js +54 -71
- package/dist/esm/src/utils/secp256r1.js.map +1 -1
- package/dist/esm/src/utils/time.js +5 -18
- package/dist/esm/src/utils/time.js.map +1 -1
- package/dist/esm/src/utils/url.js +3 -3
- package/dist/esm/src/utils/url.js.map +1 -1
- package/dist/esm/tests/core/auth.spec.js +3 -12
- package/dist/esm/tests/core/auth.spec.js.map +1 -1
- package/dist/esm/tests/core/message.spec.js +50 -59
- package/dist/esm/tests/core/message.spec.js.map +1 -1
- package/dist/esm/tests/core/protocol-authorization.spec.js +10 -18
- package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
- package/dist/esm/tests/dwn.spec.js +65 -89
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/event-emitter-event-log.spec.js +305 -0
- package/dist/esm/tests/event-emitter-event-log.spec.js.map +1 -0
- package/dist/esm/tests/features/author-delegated-grant.spec.js +337 -347
- package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-delegated-grant.spec.js +160 -172
- package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-signature.spec.js +78 -82
- package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
- package/dist/esm/tests/features/permissions.spec.js +449 -184
- package/dist/esm/tests/features/permissions.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +981 -360
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-create-action.spec.js +45 -54
- package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-delete-action.spec.js +99 -108
- package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-update-action.spec.js +108 -117
- package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
- package/dist/esm/tests/features/records-immutable.spec.js +315 -0
- package/dist/esm/tests/features/records-immutable.spec.js.map +1 -0
- package/dist/esm/tests/features/records-prune.spec.js +178 -194
- package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
- package/dist/esm/tests/features/records-record-limit.spec.js +542 -0
- package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -0
- package/dist/esm/tests/features/records-tags.spec.js +456 -463
- package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
- package/dist/esm/tests/features/resumable-tasks.spec.js +88 -98
- package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-read.spec.js +215 -210
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +309 -171
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-sync.spec.js +272 -199
- package/dist/esm/tests/handlers/messages-sync.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-configure.spec.js +247 -241
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-query.spec.js +159 -172
- package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-count.spec.js +101 -105
- package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-delete.spec.js +266 -279
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-query.spec.js +984 -996
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +542 -671
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js +433 -302
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +1216 -1140
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/messages-get.spec.js +39 -48
- package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js +4 -13
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +212 -88
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/protocols-query.spec.js +8 -17
- package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-delete.spec.js +8 -17
- package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-query.spec.js +20 -29
- package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-read.spec.js +42 -51
- package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-subscribe.spec.js +16 -25
- package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +190 -219
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/jose/jws/general.spec.js +36 -45
- package/dist/esm/tests/jose/jws/general.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permission-grant.spec.js +44 -50
- package/dist/esm/tests/protocols/permission-grant.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permission-request.spec.js +23 -32
- package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permissions.spec.js +49 -55
- package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/aggregator.spec.js +127 -138
- package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/deleted-record.spec.js +372 -36
- package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +55 -64
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/nested-roles.spec.js +66 -76
- package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/subscriptions.spec.js +451 -354
- package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
- package/dist/esm/tests/smt/smt-store-level.spec.js +76 -87
- package/dist/esm/tests/smt/smt-store-level.spec.js.map +1 -1
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +344 -353
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +1 -1
- package/dist/esm/tests/state-index/state-index-level.spec.js +117 -126
- package/dist/esm/tests/state-index/state-index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-level.spec.js +44 -99
- package/dist/esm/tests/store/blockstore-level.spec.js.map +1 -1
- package/dist/esm/tests/store/blockstore-mock.spec.js +40 -120
- package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -1
- package/dist/esm/tests/store/data-store-level.spec.js +160 -108
- package/dist/esm/tests/store/data-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/index-level.spec.js +404 -414
- package/dist/esm/tests/store/index-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +13 -22
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +229 -238
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/test-event-stream.js +12 -13
- package/dist/esm/tests/test-event-stream.js.map +1 -1
- package/dist/esm/tests/test-stores.js +16 -13
- package/dist/esm/tests/test-stores.js.map +1 -1
- package/dist/esm/tests/test-suite.js +8 -15
- package/dist/esm/tests/test-suite.js.map +1 -1
- package/dist/esm/tests/utils/cid.spec.js +24 -33
- package/dist/esm/tests/utils/cid.spec.js.map +1 -1
- package/dist/esm/tests/utils/data-stream.spec.js +48 -57
- package/dist/esm/tests/utils/data-stream.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption-callbacks.spec.js +45 -54
- package/dist/esm/tests/utils/encryption-callbacks.spec.js.map +1 -1
- package/dist/esm/tests/utils/encryption.spec.js +229 -82
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -1
- package/dist/esm/tests/utils/filters.spec.js +46 -55
- package/dist/esm/tests/utils/filters.spec.js.map +1 -1
- package/dist/esm/tests/utils/hd-key.spec.js +10 -19
- package/dist/esm/tests/utils/hd-key.spec.js.map +1 -1
- package/dist/esm/tests/utils/jws.spec.js +3 -12
- package/dist/esm/tests/utils/jws.spec.js.map +1 -1
- package/dist/esm/tests/utils/memory-cache.spec.js +9 -18
- package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -1
- package/dist/esm/tests/utils/messages.spec.js +18 -20
- package/dist/esm/tests/utils/messages.spec.js.map +1 -1
- package/dist/esm/tests/utils/poller.js +22 -33
- package/dist/esm/tests/utils/poller.js.map +1 -1
- package/dist/esm/tests/utils/private-key-signer.spec.js +15 -24
- package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -1
- package/dist/esm/tests/utils/records.spec.js +14 -27
- package/dist/esm/tests/utils/records.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256k1.spec.js +16 -25
- package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -1
- package/dist/esm/tests/utils/secp256r1.spec.js +18 -27
- package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +446 -467
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js +2 -11
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +4 -13
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +8 -17
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +3 -12
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +4 -13
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +2 -11
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js +2 -11
- package/dist/esm/tests/validation/json-schemas/records/records-read.spec.js.map +1 -1
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +44 -24
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -1
- package/dist/types/generated/precompiled-validators.d.ts +49 -40
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/constants.d.ts +11 -0
- package/dist/types/src/core/constants.d.ts.map +1 -0
- package/dist/types/src/core/core-protocol.d.ts +89 -0
- package/dist/types/src/core/core-protocol.d.ts.map +1 -0
- package/dist/types/src/core/dwn-error.d.ts +9 -12
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/grant-authorization.d.ts +6 -2
- package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-action.d.ts +42 -0
- package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -0
- package/dist/types/src/core/protocol-authorization-validation.d.ts +81 -0
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -0
- package/dist/types/src/core/protocol-authorization.d.ts +24 -106
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/record-chain.d.ts +24 -0
- package/dist/types/src/core/record-chain.d.ts.map +1 -0
- package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/dwn.d.ts +19 -7
- package/dist/types/src/dwn.d.ts.map +1 -1
- package/dist/types/src/event-stream/event-emitter-event-log.d.ts +50 -0
- package/dist/types/src/event-stream/event-emitter-event-log.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-read.d.ts +3 -8
- package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-subscribe.d.ts +6 -10
- package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-sync.d.ts +3 -8
- package/dist/types/src/handlers/messages-sync.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-configure.d.ts +3 -10
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-query.d.ts +3 -8
- package/dist/types/src/handlers/protocols-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-count.d.ts +3 -6
- package/dist/types/src/handlers/records-count.d.ts.map +1 -1
- package/dist/types/src/handlers/records-delete.d.ts +3 -8
- package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
- package/dist/types/src/handlers/records-query.d.ts +3 -8
- package/dist/types/src/handlers/records-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-read.d.ts +3 -8
- package/dist/types/src/handlers/records-read.d.ts.map +1 -1
- package/dist/types/src/handlers/records-subscribe.d.ts +8 -10
- package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/records-write.d.ts +4 -24
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +8 -4
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/messages-subscribe.d.ts +5 -0
- package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-subscribe.d.ts +5 -0
- package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write-query.d.ts +33 -0
- package/dist/types/src/interfaces/records-write-query.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-write-signing.d.ts +34 -0
- package/dist/types/src/interfaces/records-write-signing.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-write.d.ts +13 -53
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/protocols/permission-grant.d.ts +1 -1
- package/dist/types/src/protocols/permission-grant.d.ts.map +1 -1
- package/dist/types/src/protocols/permission-request.d.ts +1 -1
- package/dist/types/src/protocols/permission-request.d.ts.map +1 -1
- package/dist/types/src/protocols/permissions.d.ts +40 -3
- package/dist/types/src/protocols/permissions.d.ts.map +1 -1
- package/dist/types/src/state-index/state-index-level.d.ts.map +1 -1
- package/dist/types/src/store/data-store-level.d.ts +20 -4
- package/dist/types/src/store/data-store-level.d.ts.map +1 -1
- package/dist/types/src/store/index-level-compound.d.ts +70 -0
- package/dist/types/src/store/index-level-compound.d.ts.map +1 -0
- package/dist/types/src/store/index-level.d.ts +4 -58
- package/dist/types/src/store/index-level.d.ts.map +1 -1
- package/dist/types/src/store/storage-controller.d.ts +4 -4
- package/dist/types/src/store/storage-controller.d.ts.map +1 -1
- package/dist/types/src/types/message-types.d.ts +3 -3
- package/dist/types/src/types/message-types.d.ts.map +1 -1
- package/dist/types/src/types/messages-types.d.ts +12 -3
- package/dist/types/src/types/messages-types.d.ts.map +1 -1
- package/dist/types/src/types/method-handler.d.ts +24 -3
- package/dist/types/src/types/method-handler.d.ts.map +1 -1
- package/dist/types/src/types/permission-types.d.ts +7 -0
- package/dist/types/src/types/permission-types.d.ts.map +1 -1
- package/dist/types/src/types/protocols-types.d.ts +41 -1
- package/dist/types/src/types/protocols-types.d.ts.map +1 -1
- package/dist/types/src/types/records-types.d.ts +16 -6
- package/dist/types/src/types/records-types.d.ts.map +1 -1
- package/dist/types/src/types/subscriptions.d.ts +151 -13
- package/dist/types/src/types/subscriptions.d.ts.map +1 -1
- package/dist/types/src/utils/hd-key.d.ts +1 -9
- package/dist/types/src/utils/hd-key.d.ts.map +1 -1
- package/dist/types/src/utils/messages.d.ts +7 -5
- package/dist/types/src/utils/messages.d.ts.map +1 -1
- package/dist/types/src/utils/protocols.d.ts +5 -0
- package/dist/types/src/utils/protocols.d.ts.map +1 -1
- package/dist/types/src/utils/records.d.ts +1 -11
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/tests/dwn.spec.d.ts.map +1 -1
- package/dist/types/tests/event-emitter-event-log.spec.d.ts +2 -0
- package/dist/types/tests/event-emitter-event-log.spec.d.ts.map +1 -0
- package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -1
- package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -1
- package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -1
- package/dist/types/tests/features/permissions.spec.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-composition.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-immutable.spec.d.ts +2 -0
- package/dist/types/tests/features/records-immutable.spec.d.ts.map +1 -0
- package/dist/types/tests/features/records-record-limit.spec.d.ts +2 -0
- package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -0
- package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -1
- package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-count.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -1
- package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -1
- package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -1
- package/dist/types/tests/test-event-stream.d.ts +11 -12
- package/dist/types/tests/test-event-stream.d.ts.map +1 -1
- package/dist/types/tests/test-suite.d.ts +2 -2
- package/dist/types/tests/test-suite.d.ts.map +1 -1
- package/dist/types/tests/utils/test-data-generator.d.ts +18 -0
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/core/constants.ts +11 -0
- package/src/core/core-protocol.ts +129 -0
- package/src/core/dwn-error.ts +15 -12
- package/src/core/grant-authorization.ts +20 -3
- package/src/core/protocol-authorization-action.ts +377 -0
- package/src/core/protocol-authorization-validation.ts +487 -0
- package/src/core/protocol-authorization.ts +111 -856
- package/src/core/record-chain.ts +99 -0
- package/src/core/records-grant-authorization.ts +6 -8
- package/src/dwn.ts +58 -73
- package/src/event-stream/event-emitter-event-log.ts +283 -0
- package/src/handlers/messages-read.ts +8 -9
- package/src/handlers/messages-subscribe.ts +24 -28
- package/src/handlers/messages-sync.ts +10 -16
- package/src/handlers/protocols-configure.ts +47 -32
- package/src/handlers/protocols-query.ts +6 -9
- package/src/handlers/records-count.ts +11 -10
- package/src/handlers/records-delete.ts +12 -21
- package/src/handlers/records-query.ts +12 -12
- package/src/handlers/records-read.ts +34 -22
- package/src/handlers/records-subscribe.ts +47 -26
- package/src/handlers/records-write.ts +47 -104
- package/src/index.ts +9 -5
- package/src/interfaces/messages-subscribe.ts +7 -1
- package/src/interfaces/protocols-configure.ts +73 -8
- package/src/interfaces/records-count.ts +1 -1
- package/src/interfaces/records-delete.ts +1 -1
- package/src/interfaces/records-query.ts +1 -1
- package/src/interfaces/records-read.ts +1 -1
- package/src/interfaces/records-subscribe.ts +8 -1
- package/src/interfaces/records-write-query.ts +139 -0
- package/src/interfaces/records-write-signing.ts +123 -0
- package/src/interfaces/records-write.ts +66 -261
- package/src/protocols/permission-grant.ts +1 -1
- package/src/protocols/permission-request.ts +1 -1
- package/src/protocols/permissions.ts +148 -6
- package/src/state-index/state-index-level.ts +5 -7
- package/src/store/data-store-level.ts +124 -34
- package/src/store/index-level-compound.ts +324 -0
- package/src/store/index-level.ts +68 -341
- package/src/store/storage-controller.ts +11 -11
- package/src/types/message-types.ts +3 -3
- package/src/types/messages-types.ts +12 -3
- package/src/types/method-handler.ts +26 -4
- package/src/types/mitt.d.ts +28 -0
- package/src/types/permission-types.ts +7 -0
- package/src/types/protocols-types.ts +46 -0
- package/src/types/records-types.ts +16 -6
- package/src/types/subscriptions.ts +178 -14
- package/src/utils/hd-key.ts +0 -9
- package/src/utils/messages.ts +17 -37
- package/src/utils/protocols.ts +8 -0
- package/src/utils/records.ts +8 -59
- package/dist/esm/src/event-stream/event-emitter-stream.js +0 -60
- package/dist/esm/src/event-stream/event-emitter-stream.js.map +0 -1
- package/dist/esm/tests/event-stream/event-emitter-stream.spec.js +0 -77
- package/dist/esm/tests/event-stream/event-emitter-stream.spec.js.map +0 -1
- package/dist/esm/tests/event-stream/event-stream.spec.js +0 -123
- package/dist/esm/tests/event-stream/event-stream.spec.js.map +0 -1
- package/dist/types/src/event-stream/event-emitter-stream.d.ts +0 -23
- package/dist/types/src/event-stream/event-emitter-stream.d.ts.map +0 -1
- package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts +0 -2
- package/dist/types/tests/event-stream/event-emitter-stream.spec.d.ts.map +0 -1
- package/dist/types/tests/event-stream/event-stream.spec.d.ts +0 -2
- package/dist/types/tests/event-stream/event-stream.spec.d.ts.map +0 -1
- package/src/event-stream/event-emitter-stream.ts +0 -69
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records-write-signing.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/records-write-signing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,KAAK,EAAkC,mBAAmB,EAAgC,MAAM,2BAA2B,CAAC;AAUnI;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,eAAe,EAAE,eAAe,GAAG,SAAS,GAC3C,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CASpC;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAUzH;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC;IACpC,UAAU,EAAE,aAAa,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,aAAa,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,GAAG,OAAO,CAAC,UAAU,CAAC,CAwBtB;AAED;;;GAGG;AACH,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiC9F"}
|
|
@@ -9,15 +9,15 @@ import type { EncryptionInput, JweEncryption } from '../utils/encryption.js';
|
|
|
9
9
|
import type { GenericMessage, GenericSignaturePayload } from '../types/message-types.js';
|
|
10
10
|
export type RecordsWriteOptions = {
|
|
11
11
|
recipient?: string;
|
|
12
|
-
protocol
|
|
13
|
-
protocolPath
|
|
12
|
+
protocol: string;
|
|
13
|
+
protocolPath: string;
|
|
14
14
|
protocolRole?: string;
|
|
15
15
|
schema?: string;
|
|
16
16
|
tags?: RecordsWriteTags;
|
|
17
17
|
recordId?: string;
|
|
18
18
|
/**
|
|
19
19
|
* Must be given if this message is for a non-root protocol record.
|
|
20
|
-
* If not given, it
|
|
20
|
+
* If not given, it means this write is for a root protocol record.
|
|
21
21
|
*/
|
|
22
22
|
parentContextId?: string;
|
|
23
23
|
data?: Uint8Array;
|
|
@@ -138,7 +138,7 @@ export declare class RecordsWrite implements MessageInterface<RecordsWriteMessag
|
|
|
138
138
|
* @param options.dateCreated If `undefined`, it will be auto-filled with current time.
|
|
139
139
|
* @param options.messageTimestamp If `undefined`, it will be auto-filled with current time.
|
|
140
140
|
* @param options.parentContextId Must be given if this message is for a non-root protocol record.
|
|
141
|
-
* If not given, it
|
|
141
|
+
* If not given, it means this write is for a root protocol record.
|
|
142
142
|
*/
|
|
143
143
|
static create(options: RecordsWriteOptions): Promise<RecordsWrite>;
|
|
144
144
|
private static getRecordIdFromContextId;
|
|
@@ -204,11 +204,6 @@ export declare class RecordsWrite implements MessageInterface<RecordsWriteMessag
|
|
|
204
204
|
* There is opportunity to integrate better with `validateSchema(...)`
|
|
205
205
|
*/
|
|
206
206
|
private validateIntegrity;
|
|
207
|
-
/**
|
|
208
|
-
* Validates the structural integrity of the `attestation` property.
|
|
209
|
-
* NOTE: Cryptographic verification of attestation signatures is performed in `authenticate()`.
|
|
210
|
-
*/
|
|
211
|
-
private static validateAttestationIntegrity;
|
|
212
207
|
/**
|
|
213
208
|
* Computes the deterministic Entry ID of this message.
|
|
214
209
|
*/
|
|
@@ -236,35 +231,12 @@ export declare class RecordsWrite implements MessageInterface<RecordsWriteMessag
|
|
|
236
231
|
* Checks if the given message is the initial entry of a record.
|
|
237
232
|
*/
|
|
238
233
|
static isInitialWrite(message: GenericMessage): Promise<boolean>;
|
|
239
|
-
/**
|
|
240
|
-
* Creates the JWE `encryption` property if encryption input is given. Else `undefined` is returned.
|
|
241
|
-
* Uses ECDH-ES+A256KW key agreement with X25519 and AEAD content encryption (A256GCM or XC20P).
|
|
242
|
-
* @param descriptor Descriptor of the `RecordsWrite` message which contains the information needed by key path derivation schemes.
|
|
243
|
-
*/
|
|
244
|
-
/**
|
|
245
|
-
* Creates the JWE `encryption` property if encryption input is given. Else `undefined` is returned.
|
|
246
|
-
* Uses ECDH-ES+A256KW key agreement with X25519 and AEAD content encryption (A256GCM or XC20P).
|
|
247
|
-
* @param descriptor Descriptor of the `RecordsWrite` message which contains the information needed by key path derivation schemes.
|
|
248
|
-
* @param encryptionInput The encryption input containing CEK, IV, and recipient key encryption inputs.
|
|
249
|
-
* @param tag The authentication tag from the AEAD content encryption (stored in the JWE, separate from the ciphertext).
|
|
250
|
-
*/
|
|
251
|
-
/**
|
|
252
|
-
* Creates the JWE `encryption` property if encryption input is given. Else `undefined` is returned.
|
|
253
|
-
* Uses ECDH-ES+A256KW key agreement with X25519 and AEAD content encryption (A256GCM or XC20P).
|
|
254
|
-
* @param descriptor Descriptor of the `RecordsWrite` message which contains the information needed by key path derivation schemes.
|
|
255
|
-
* @param encryptionInput The encryption input containing CEK, IV, authentication tag, and recipient key encryption inputs.
|
|
256
|
-
*/
|
|
257
|
-
private static createEncryptionProperty;
|
|
258
|
-
/**
|
|
259
|
-
* Creates the `attestation` property of a RecordsWrite message if given signature inputs; returns `undefined` otherwise.
|
|
260
|
-
*/
|
|
234
|
+
/** Delegate to `createAttestation` in `records-write-signing.ts`. */
|
|
261
235
|
static createAttestation(descriptorCid: string, signers?: MessageSigner[]): Promise<GeneralJws | undefined>;
|
|
262
|
-
/**
|
|
263
|
-
* Creates the `signature` property in the `authorization` of a `RecordsWrite` message.
|
|
264
|
-
*/
|
|
236
|
+
/** Delegate to `createSignerSignature` in `records-write-signing.ts`. */
|
|
265
237
|
static createSignerSignature(input: {
|
|
266
238
|
recordId: string;
|
|
267
|
-
contextId: string
|
|
239
|
+
contextId: string;
|
|
268
240
|
descriptorCid: string;
|
|
269
241
|
attestation: GeneralJws | undefined;
|
|
270
242
|
encryption: JweEncryption | undefined;
|
|
@@ -273,29 +245,17 @@ export declare class RecordsWrite implements MessageInterface<RecordsWriteMessag
|
|
|
273
245
|
permissionGrantId?: string;
|
|
274
246
|
protocolRole?: string;
|
|
275
247
|
}): Promise<GeneralJws>;
|
|
276
|
-
/**
|
|
277
|
-
* Gets the initial write from the given list of `RecordsWrite`.
|
|
278
|
-
*/
|
|
248
|
+
/** Delegate to `getInitialWrite` in `records-write-query.ts`. */
|
|
279
249
|
static getInitialWrite(messages: GenericMessage[]): Promise<RecordsWriteMessage>;
|
|
280
|
-
/**
|
|
281
|
-
* Verifies that immutable properties of the two given messages are identical.
|
|
282
|
-
* @throws {Error} if immutable properties between two RecordsWrite message
|
|
283
|
-
*/
|
|
250
|
+
/** Delegate to `verifyEqualityOfImmutableProperties` in `records-write-query.ts`. */
|
|
284
251
|
static verifyEqualityOfImmutableProperties(existingWriteMessage: RecordsWriteMessage, newMessage: RecordsWriteMessage): boolean;
|
|
285
|
-
/**
|
|
286
|
-
* Gets the DID of the attesters of the given message.
|
|
287
|
-
*/
|
|
252
|
+
/** Delegate to `getAttesters` in `records-write-query.ts`. */
|
|
288
253
|
static getAttesters(message: InternalRecordsWriteMessage): string[];
|
|
254
|
+
/** Delegate to `fetchNewestRecordsWrite` in `records-write-query.ts`. */
|
|
289
255
|
static fetchNewestRecordsWrite(messageStore: MessageStore, tenant: string, recordId: string): Promise<RecordsWriteMessage>;
|
|
290
|
-
/**
|
|
291
|
-
* Fetches the initial RecordsWrite of a record.
|
|
292
|
-
* @returns The initial RecordsWrite if found; `undefined` otherwise.
|
|
293
|
-
*/
|
|
256
|
+
/** Delegate to `fetchInitialRecordsWrite` in `records-write-query.ts`. */
|
|
294
257
|
static fetchInitialRecordsWrite(messageStore: MessageStore, tenant: string, recordId: string): Promise<RecordsWrite | undefined>;
|
|
295
|
-
/**
|
|
296
|
-
* Fetches the initial RecordsWrite message of a record.
|
|
297
|
-
* @returns The initial RecordsWriteMessage if found; `undefined` otherwise.
|
|
298
|
-
*/
|
|
258
|
+
/** Delegate to `fetchInitialRecordsWriteMessage` in `records-write-query.ts`. */
|
|
299
259
|
static fetchInitialRecordsWriteMessage(messageStore: MessageStore, tenant: string, recordId: string): Promise<RecordsWriteMessage | undefined>;
|
|
300
260
|
}
|
|
301
261
|
//# sourceMappingURL=records-write.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-write.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/records-write.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EACV,8BAA8B,EAC9B,2BAA2B,
|
|
1
|
+
{"version":3,"file":"records-write.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/records-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -51,7 +51,7 @@ export declare class PermissionGrant {
|
|
|
51
51
|
* and that the decoded data contains `scope` and `dateExpires`.
|
|
52
52
|
* @throws {DwnError} if any required field is missing.
|
|
53
53
|
*/
|
|
54
|
-
static parse(message: DataEncodedRecordsWriteMessage):
|
|
54
|
+
static parse(message: DataEncodedRecordsWriteMessage): PermissionGrant;
|
|
55
55
|
/**
|
|
56
56
|
* Validates that the message has the required structural fields for a permission grant.
|
|
57
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-grant.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAuB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/G;;GAEG;AACH,qBAAa,eAAe;IAE1B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElD;;;;;;OAMG;
|
|
1
|
+
{"version":3,"file":"permission-grant.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAuB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAO/G;;GAEG;AACH,qBAAa,eAAe;IAE1B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElD;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,eAAe;IAM7E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAuC9B,OAAO;CAiBR"}
|
|
@@ -36,7 +36,7 @@ export declare class PermissionRequest {
|
|
|
36
36
|
* and that the decoded data contains `scope`.
|
|
37
37
|
* @throws {DwnError} if any required field is missing.
|
|
38
38
|
*/
|
|
39
|
-
static parse(message: DataEncodedRecordsWriteMessage):
|
|
39
|
+
static parse(message: DataEncodedRecordsWriteMessage): PermissionRequest;
|
|
40
40
|
/**
|
|
41
41
|
* Validates that the message has the required structural fields for a permission request.
|
|
42
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permission-request.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAyB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOjH;;GAEG;AACH,qBAAa,iBAAiB;IAE5B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElD;;;;;;OAMG;
|
|
1
|
+
{"version":3,"file":"permission-request.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAyB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOjH;;GAEG;AACH,qBAAa,iBAAiB;IAE5B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAElD;;;;;;OAMG;WACW,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,iBAAiB;IAM/E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyB9B,OAAO;CAaR"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import type { Filter } from '../types/query-types.js';
|
|
2
|
+
import type { MessagesFilter } from '../types/messages-types.js';
|
|
1
3
|
import type { MessageSigner } from '../types/signer.js';
|
|
2
4
|
import type { MessageStore } from '../types/message-store.js';
|
|
3
5
|
import type { ProtocolDefinition } from '../types/protocols-types.js';
|
|
6
|
+
import type { CoreProtocol, CoreProtocolStores } from '../core/core-protocol.js';
|
|
4
7
|
import type { DataEncodedRecordsWriteMessage, RecordsWriteMessage } from '../types/records-types.js';
|
|
5
8
|
import type { PermissionConditions, PermissionGrantData, PermissionRequestData, PermissionRevocationData, PermissionScope } from '../types/permission-types.js';
|
|
6
9
|
import { PermissionGrant } from './permission-grant.js';
|
|
7
|
-
import { RecordsWrite } from '
|
|
10
|
+
import { RecordsWrite } from '../interfaces/records-write.js';
|
|
8
11
|
/**
|
|
9
12
|
* Options for creating a permission request.
|
|
10
13
|
*/
|
|
@@ -56,12 +59,16 @@ export type PermissionRevocationCreateOptions = {
|
|
|
56
59
|
};
|
|
57
60
|
/**
|
|
58
61
|
* This is a first-class DWN protocol for managing permission grants of a given DWN.
|
|
62
|
+
*
|
|
63
|
+
* It implements the `CoreProtocol` interface so that its lifecycle hooks
|
|
64
|
+
* (validation, pre-processing, post-processing) are dispatched generically
|
|
65
|
+
* by the `CoreProtocolRegistry` rather than being hardcoded in handlers.
|
|
59
66
|
*/
|
|
60
|
-
export declare class PermissionsProtocol {
|
|
67
|
+
export declare class PermissionsProtocol implements CoreProtocol {
|
|
61
68
|
/**
|
|
62
69
|
* The URI of the DWN Permissions protocol.
|
|
63
70
|
*/
|
|
64
|
-
static readonly uri = "https://
|
|
71
|
+
static readonly uri = "https://identity.foundation/dwn/permissions";
|
|
65
72
|
/**
|
|
66
73
|
* The protocol path of the `request` record.
|
|
67
74
|
*/
|
|
@@ -78,6 +85,36 @@ export declare class PermissionsProtocol {
|
|
|
78
85
|
* The definition of the Permissions protocol.
|
|
79
86
|
*/
|
|
80
87
|
static readonly definition: ProtocolDefinition;
|
|
88
|
+
/** @inheritdoc */
|
|
89
|
+
get uri(): string;
|
|
90
|
+
/** @inheritdoc */
|
|
91
|
+
get definition(): ProtocolDefinition;
|
|
92
|
+
/** @inheritdoc */
|
|
93
|
+
validateRecord(message: RecordsWriteMessage, dataBytes: Uint8Array): void;
|
|
94
|
+
/**
|
|
95
|
+
* Pre-processing hook for permission revocation records.
|
|
96
|
+
* Validates that the revocation's `tags.protocol` matches the grant's scoped protocol.
|
|
97
|
+
*/
|
|
98
|
+
preProcessWrite(tenant: string, message: RecordsWriteMessage, messageStore: MessageStore): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Post-processing hook for permission revocation records.
|
|
101
|
+
* When a grant is revoked, all messages authorized by that grant and created
|
|
102
|
+
* after the revocation timestamp are deleted from all stores.
|
|
103
|
+
*
|
|
104
|
+
* Deletion order is deliberate to avoid orphaned data in case of crash:
|
|
105
|
+
* 1. data store (large blobs first)
|
|
106
|
+
* 2. state index (SMT entries)
|
|
107
|
+
* 3. message store
|
|
108
|
+
*/
|
|
109
|
+
postProcessWrite(tenant: string, recordsWrite: RecordsWrite, stores: CoreProtocolStores): Promise<void>;
|
|
110
|
+
/** @inheritdoc */
|
|
111
|
+
mapErrorToStatusCode(errorCode: string): number | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* Constructs an additional filter for protocol-scoped message queries so that
|
|
114
|
+
* permission records (grants, requests, revocations) tagged with the target
|
|
115
|
+
* protocol appear alongside that protocol's own records in sync/subscribe/read results.
|
|
116
|
+
*/
|
|
117
|
+
constructAdditionalMessageFilter(filter: MessagesFilter): Filter | undefined;
|
|
81
118
|
static parseRequest(base64UrlEncodedRequest: string): PermissionRequestData;
|
|
82
119
|
/**
|
|
83
120
|
* Convenience method to create a permission request.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permissions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-index-level.d.ts","sourceRoot":"","sources":["../../../../src/state-index/state-index-level.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,OAAO,EAAE,mBAAmB,EAAgB,MAAM,2BAA2B,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAG,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAG,OAAO,mBAAmB,CAAC;CACnD,CAAC;AAEF,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,EAAE,CAAwB;IAElC;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAqD;IAExE;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAqD;gBAE9D,MAAM,CAAC,EAAE,qBAAqB;IAQpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"state-index-level.d.ts","sourceRoot":"","sources":["../../../../src/state-index/state-index-level.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAK1D,OAAO,EAAE,mBAAmB,EAAgB,MAAM,2BAA2B,CAAC;AAE9E,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAG,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAG,OAAO,mBAAmB,CAAC;CACnD,CAAC;AAEF,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,EAAE,CAAwB;IAElC;;;;OAIG;IACH,OAAO,CAAC,WAAW,CAAqD;IAExE;;;OAGG;IACH,OAAO,CAAC,aAAa,CAAqD;gBAE9D,MAAM,CAAC,EAAE,qBAAqB;IAQpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAYrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB7E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB5D,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhE,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1F,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAK/D,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO/F;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAYvB;;;OAGG;YACW,UAAU;IAYxB;;OAEG;YACW,YAAY;IAO1B;;OAEG;YACW,gBAAgB;IAS9B;;OAEG;YACW,mBAAmB;IAKjC;;OAEG;YACW,gBAAgB;CAG/B"}
|
|
@@ -5,8 +5,13 @@ import { createLevelDatabase } from './level-wrapper.js';
|
|
|
5
5
|
* A simple implementation of {@link DataStore} that works in both the browser and server-side.
|
|
6
6
|
* Leverages LevelDB under the hood.
|
|
7
7
|
*
|
|
8
|
-
* It has the following structure (`+` represents an additional sublevel
|
|
9
|
-
* '
|
|
8
|
+
* It has the following sublevel structure (`+` represents an additional sublevel):
|
|
9
|
+
* 'refs' + <tenant> + <recordId> : key <dataCid> → JSON { dataSize }
|
|
10
|
+
* 'blocks' + <dataCid> : key <blockCid> → block data (shared)
|
|
11
|
+
* 'refcounts' : key <dataCid> → JSON { count, dataSize }
|
|
12
|
+
*
|
|
13
|
+
* Identical data (same dataCid) is stored only once in the blocks sublevel.
|
|
14
|
+
* Multiple (tenant, recordId) pairs can reference the same blocks.
|
|
10
15
|
*/
|
|
11
16
|
export declare class DataStoreLevel implements DataStore {
|
|
12
17
|
config: DataStoreLevelConfig;
|
|
@@ -22,9 +27,20 @@ export declare class DataStoreLevel implements DataStore {
|
|
|
22
27
|
*/
|
|
23
28
|
clear(): Promise<void>;
|
|
24
29
|
/**
|
|
25
|
-
* Gets the
|
|
30
|
+
* Gets the refs sublevel for the given tenant and recordId.
|
|
31
|
+
* Caller uses `dataCid` as the key within the returned partition.
|
|
32
|
+
*/
|
|
33
|
+
private getRefsPartition;
|
|
34
|
+
/**
|
|
35
|
+
* Gets the shared blocks sublevel for the given dataCid.
|
|
36
|
+
* Used as a Blockstore for ipfs-unixfs-importer/exporter.
|
|
37
|
+
*/
|
|
38
|
+
private getBlocksPartition;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the refcounts sublevel.
|
|
41
|
+
* Key: `dataCid` → JSON `{ count, dataSize }`.
|
|
26
42
|
*/
|
|
27
|
-
private
|
|
43
|
+
private getRefcountsPartition;
|
|
28
44
|
}
|
|
29
45
|
export type DataStoreLevelConfig = {
|
|
30
46
|
blockstoreLocation?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-store-level.d.ts","sourceRoot":"","sources":["../../../../src/store/data-store-level.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"data-store-level.d.ts","sourceRoot":"","sources":["../../../../src/store/data-store-level.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEhG,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQzD;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,YAAW,SAAS;IAC9C,MAAM,EAAE,oBAAoB,CAAC;IAE7B,UAAU,EAAE,eAAe,CAAC;gBAEhB,MAAM,GAAE,oBAAyB;IAahC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkDpH,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC;IAmC/F,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCrF;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;;OAGG;YACW,gBAAgB;IAM9B;;;OAGG;YACW,kBAAkB;IAKhC;;;OAGG;YACW,qBAAqB;CAIpC;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,mBAAmB,CAAC;CAClD,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import type { Filter, KeyValues, QueryOptions } from '../types/query-types.js';
|
|
2
|
+
import type { IndexedItem, IndexLevelOptions } from './index-level.js';
|
|
3
|
+
import type { LevelWrapperBatchOperation } from './level-wrapper.js';
|
|
4
|
+
import type { CompoundIndexDefinition } from './index-level.js';
|
|
5
|
+
import type { LevelWrapper } from './level-wrapper.js';
|
|
6
|
+
/** Separator between compound key segments (higher than \x00 so prefix scans work correctly). */
|
|
7
|
+
export declare const COMPOUND_SEGMENT_SEPARATOR = "\u0001";
|
|
8
|
+
/**
|
|
9
|
+
* Gets the compound index partition for a given compound index definition.
|
|
10
|
+
* Compound index sublevels use the naming convention `__compound:<name>__`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getCompoundIndexPartition(db: LevelWrapper<string>, tenant: string, compoundIndex: CompoundIndexDefinition): Promise<LevelWrapper<string>>;
|
|
13
|
+
/**
|
|
14
|
+
* Builds a compound index key from the given indexes and compound index definition.
|
|
15
|
+
*
|
|
16
|
+
* Key format: `<prop1>\x01<prop2>\x01...\x01<sortValue>\x00<messageCid>`
|
|
17
|
+
*
|
|
18
|
+
* @returns the compound key, or undefined if the indexes don't contain all required properties.
|
|
19
|
+
*/
|
|
20
|
+
export declare function buildCompoundKey(messageCid: string, indexes: KeyValues, compoundIndex: CompoundIndexDefinition, encodeValue: (value: string | number | boolean) => string, delimiter: string): string | undefined;
|
|
21
|
+
/**
|
|
22
|
+
* Builds the prefix portion of a compound key from filter values (without the sort/messageCid suffix).
|
|
23
|
+
* Used for range scans: all entries with this prefix match the filter.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildCompoundPrefix(filter: Filter, compoundIndex: CompoundIndexDefinition, encodeValue: (value: string | number | boolean) => string): string | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Creates a put operation for a compound index entry.
|
|
28
|
+
* Returns undefined if the indexes don't contain all required compound index properties.
|
|
29
|
+
*/
|
|
30
|
+
export declare function createCompoundIndexPutOperation(db: LevelWrapper<string>, tenant: string, item: IndexedItem, compoundIndex: CompoundIndexDefinition, encodeValue: (value: string | number | boolean) => string, delimiter: string): Promise<LevelWrapperBatchOperation<string>> | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Creates a delete operation for a compound index entry.
|
|
33
|
+
* Returns undefined if the indexes don't contain all required compound index properties.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createCompoundIndexDeleteOperation(db: LevelWrapper<string>, tenant: string, messageCid: string, indexes: KeyValues, compoundIndex: CompoundIndexDefinition, encodeValue: (value: string | number | boolean) => string, delimiter: string): Promise<LevelWrapperBatchOperation<string>> | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Generic helper to create a batch operation for any named partition under a tenant.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createOperationForPartition(db: LevelWrapper<string>, tenant: string, partitionName: string, operation: LevelWrapperBatchOperation<string>): Promise<LevelWrapperBatchOperation<string>>;
|
|
40
|
+
/**
|
|
41
|
+
* Selects the best compound index that covers the given filter and sort requirements.
|
|
42
|
+
*
|
|
43
|
+
* A compound index "covers" a query when:
|
|
44
|
+
* 1. Every property in the compound index definition is present in the filter as an equality filter.
|
|
45
|
+
* 2. The compound index's sort property matches the query's sort property.
|
|
46
|
+
*
|
|
47
|
+
* Among multiple matching compound indexes, the one with the most properties is preferred
|
|
48
|
+
* (more specific = fewer false positives in the prefix scan).
|
|
49
|
+
*/
|
|
50
|
+
export declare function selectCompoundIndex(filter: Filter, queryOptions: QueryOptions, compoundIndexes: CompoundIndexDefinition[]): CompoundIndexDefinition | undefined;
|
|
51
|
+
/**
|
|
52
|
+
* Queries using a compound index. This is the most efficient query strategy: a single LevelDB
|
|
53
|
+
* range scan that filters, sorts, and paginates all at once.
|
|
54
|
+
*
|
|
55
|
+
* The compound key encodes the filter properties as a prefix and the sort property as a suffix,
|
|
56
|
+
* so iterating over keys with the filter prefix yields results in sort order.
|
|
57
|
+
*
|
|
58
|
+
* Any remaining filter properties not covered by the compound index are verified in memory.
|
|
59
|
+
*
|
|
60
|
+
* @param queryWithIteratorPagingFallback callback to fall back to iterator paging if compound prefix fails.
|
|
61
|
+
*/
|
|
62
|
+
export declare function queryWithCompoundIndex(db: LevelWrapper<string>, tenant: string, filter: Filter, queryOptions: QueryOptions, compoundIndex: CompoundIndexDefinition, encodeValue: (value: string | number | boolean) => string, delimiter: string, queryWithIteratorPagingFallback: (tenant: string, filters: Filter[], queryOptions: QueryOptions, options?: IndexLevelOptions) => Promise<IndexedItem[]>, options?: IndexLevelOptions): Promise<IndexedItem[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Counts items matching a compound index prefix without loading full records.
|
|
65
|
+
* Iterates only keys (not values) for maximum efficiency.
|
|
66
|
+
*
|
|
67
|
+
* @param queryFallback callback to fall back to full query if compound prefix fails.
|
|
68
|
+
*/
|
|
69
|
+
export declare function countWithCompoundIndex(db: LevelWrapper<string>, tenant: string, filter: Filter, compoundIndex: CompoundIndexDefinition, encodeValue: (value: string | number | boolean) => string, queryFallback: (tenant: string, filters: Filter[], queryOptions: QueryOptions, options?: IndexLevelOptions) => Promise<IndexedItem[]>, options?: IndexLevelOptions): Promise<number>;
|
|
70
|
+
//# sourceMappingURL=index-level-compound.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-level-compound.d.ts","sourceRoot":"","sources":["../../../../src/store/index-level-compound.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,6 +143,10 @@ export declare class IndexLevel {
|
|
|
143
143
|
queryWithInMemoryPaging(tenant: string, filters: Filter[], queryOptions: QueryOptions, options?: IndexLevelOptions): Promise<IndexedItem[]>;
|
|
144
144
|
/**
|
|
145
145
|
* Execute a filtered query against a single filter and return all results.
|
|
146
|
+
*
|
|
147
|
+
* Sub-queries (exact match, range, OneOf) are executed sequentially to avoid opening
|
|
148
|
+
* multiple concurrent IndexedDB cursors. Firefox's IDB implementation intermittently
|
|
149
|
+
* drops results when cursors overlap — see https://github.com/enboxorg/enbox/issues/264
|
|
146
150
|
*/
|
|
147
151
|
private executeSingleFilterQuery;
|
|
148
152
|
private getAllItems;
|
|
@@ -203,64 +207,6 @@ export declare class IndexLevel {
|
|
|
203
207
|
* NOTE: we currently only use this for strings, numbers and booleans.
|
|
204
208
|
*/
|
|
205
209
|
static encodeValue(value: string | number | boolean): string;
|
|
206
|
-
/**
|
|
207
|
-
* Gets the compound index partition for a given compound index definition.
|
|
208
|
-
* Compound index sublevels use the naming convention `__compound:<name>__`.
|
|
209
|
-
*/
|
|
210
|
-
private getCompoundIndexPartition;
|
|
211
|
-
/**
|
|
212
|
-
* Builds a compound index key from the given indexes and compound index definition.
|
|
213
|
-
*
|
|
214
|
-
* Key format: `<prop1>\x01<prop2>\x01...\x01<sortValue>\x00<messageCid>`
|
|
215
|
-
*
|
|
216
|
-
* @returns the compound key, or undefined if the indexes don't contain all required properties.
|
|
217
|
-
*/
|
|
218
|
-
private static buildCompoundKey;
|
|
219
|
-
/**
|
|
220
|
-
* Builds the prefix portion of a compound key from filter values (without the sort/messageCid suffix).
|
|
221
|
-
* Used for range scans: all entries with this prefix match the filter.
|
|
222
|
-
*/
|
|
223
|
-
private static buildCompoundPrefix;
|
|
224
|
-
/**
|
|
225
|
-
* Creates a put operation for a compound index entry.
|
|
226
|
-
* Returns undefined if the indexes don't contain all required compound index properties.
|
|
227
|
-
*/
|
|
228
|
-
private createCompoundIndexPutOperation;
|
|
229
|
-
/**
|
|
230
|
-
* Creates a delete operation for a compound index entry.
|
|
231
|
-
* Returns undefined if the indexes don't contain all required compound index properties.
|
|
232
|
-
*/
|
|
233
|
-
private createCompoundIndexDeleteOperation;
|
|
234
|
-
/**
|
|
235
|
-
* Generic helper to create a batch operation for any named partition under a tenant.
|
|
236
|
-
*/
|
|
237
|
-
private createOperationForPartition;
|
|
238
|
-
/**
|
|
239
|
-
* Selects the best compound index that covers the given filter and sort requirements.
|
|
240
|
-
*
|
|
241
|
-
* A compound index "covers" a query when:
|
|
242
|
-
* 1. Every property in the compound index definition is present in the filter as an equality filter.
|
|
243
|
-
* 2. The compound index's sort property matches the query's sort property.
|
|
244
|
-
*
|
|
245
|
-
* Among multiple matching compound indexes, the one with the most properties is preferred
|
|
246
|
-
* (more specific = fewer false positives in the prefix scan).
|
|
247
|
-
*/
|
|
248
|
-
private selectCompoundIndex;
|
|
249
|
-
/**
|
|
250
|
-
* Queries using a compound index. This is the most efficient query strategy: a single LevelDB
|
|
251
|
-
* range scan that filters, sorts, and paginates all at once.
|
|
252
|
-
*
|
|
253
|
-
* The compound key encodes the filter properties as a prefix and the sort property as a suffix,
|
|
254
|
-
* so iterating over keys with the filter prefix yields results in sort order.
|
|
255
|
-
*
|
|
256
|
-
* Any remaining filter properties not covered by the compound index are verified in memory.
|
|
257
|
-
*/
|
|
258
|
-
private queryWithCompoundIndex;
|
|
259
|
-
/**
|
|
260
|
-
* Counts items matching a compound index prefix without loading full records.
|
|
261
|
-
* Iterates only keys (not values) for maximum efficiency.
|
|
262
|
-
*/
|
|
263
|
-
private countWithCompoundIndex;
|
|
264
210
|
private static shouldQueryWithInMemoryPaging;
|
|
265
211
|
static isFilterConcise(filter: Filter, queryOptions: QueryOptions): boolean;
|
|
266
212
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-level.d.ts","sourceRoot":"","sources":["../../../../src/store/index-level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,YAAY,EAAe,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index-level.d.ts","sourceRoot":"","sources":["../../../../src/store/index-level.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { DataStore } from '../types/data-store.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EventLog } from '../types/subscriptions.js';
|
|
3
3
|
import type { GenericMessage } from '../types/message-types.js';
|
|
4
4
|
import type { MessageStore } from '../types/message-store.js';
|
|
5
5
|
import type { StateIndex } from '../types/state-index.js';
|
|
@@ -15,12 +15,12 @@ export declare class StorageController {
|
|
|
15
15
|
private messageStore;
|
|
16
16
|
private dataStore;
|
|
17
17
|
private stateIndex;
|
|
18
|
-
private
|
|
19
|
-
constructor({ messageStore, dataStore, stateIndex,
|
|
18
|
+
private eventLog?;
|
|
19
|
+
constructor({ messageStore, dataStore, stateIndex, eventLog }: {
|
|
20
20
|
messageStore: MessageStore;
|
|
21
21
|
dataStore: DataStore;
|
|
22
22
|
stateIndex: StateIndex;
|
|
23
|
-
|
|
23
|
+
eventLog?: EventLog;
|
|
24
24
|
});
|
|
25
25
|
performRecordsDelete({ tenant, message }: ResumableRecordsDeleteData): Promise<void>;
|
|
26
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-controller.d.ts","sourceRoot":"","sources":["../../../../src/store/storage-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"storage-controller.d.ts","sourceRoot":"","sources":["../../../../src/store/storage-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,oBAAoB,EAA+C,MAAM,2BAA2B,CAAC;AAUnH,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,CAAC;CAC/B,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAiB;IAE5B,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,QAAQ,CAAC,CAAW;gBAET,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;QACpE,YAAY,EAAG,YAAY,CAAC;QAC5B,SAAS,EAAG,SAAS,CAAC;QACtB,UAAU,EAAG,UAAU,CAAC;QACxB,QAAQ,CAAC,EAAG,QAAQ,CAAA;KAAC;IAQV,oBAAoB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC;IA0CjG;;;OAGG;mBACkB,2BAA2B;IA2BhD;;OAEG;WACiB,sBAAsB,CACxC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;IAsChB;;;OAGG;mBACkB,mBAAmB;IA2BxC;;;OAGG;WACiB,yCAAyC,CAC3D,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,cAAc,EAAE,EAClC,aAAa,EAAE,cAAc,EAC7B,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,IAAI,CAAC;CAqCjB"}
|
|
@@ -57,12 +57,12 @@ export type DelegatedGrantRecordsWriteMessage = {
|
|
|
57
57
|
signature: GeneralJws;
|
|
58
58
|
};
|
|
59
59
|
recordId: string;
|
|
60
|
-
contextId
|
|
60
|
+
contextId: string;
|
|
61
61
|
descriptor: {
|
|
62
62
|
interface: DwnInterfaceName.Records;
|
|
63
63
|
method: DwnMethodName.Write;
|
|
64
|
-
protocol
|
|
65
|
-
protocolPath
|
|
64
|
+
protocol: string;
|
|
65
|
+
protocolPath: string;
|
|
66
66
|
recipient?: string;
|
|
67
67
|
schema?: string;
|
|
68
68
|
parentId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../../src/types/message-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,SAAS,EAAE,UAAU,CAAC;IAEtB;;OAEG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;IAEzD;;OAEG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAE5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,iCAAiC,CAAC;IAExD;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE;QAC3B,2EAA2E;QAC3E,SAAS,EAAE,MAAM,CAAC;QAClB,kEAAkE;QAClE,YAAY,EAAE,YAAY,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,aAAa,EAAE;QACb;;WAEG;QACH,SAAS,EAAE,UAAU,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,
|
|
1
|
+
{"version":3,"file":"message-types.d.ts","sourceRoot":"","sources":["../../../../src/types/message-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACxF,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAExE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;OAGG;IACH,SAAS,EAAE,UAAU,CAAC;IAEtB;;OAEG;IACH,oBAAoB,CAAC,EAAE,iCAAiC,CAAC;IAEzD;;OAEG;IACH,cAAc,CAAC,EAAE,UAAU,CAAC;IAE5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,iCAAiC,CAAC;IAExD;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE;QAC3B,2EAA2E;QAC3E,SAAS,EAAE,MAAM,CAAC;QAClB,kEAAkE;QAClE,YAAY,EAAE,YAAY,CAAC;KAC5B,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,aAAa,EAAE;QACb;;WAEG;QACH,SAAS,EAAE,UAAU,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAElB,UAAU,EAAE;QACV,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC;QACpC,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;CACf,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,CAAC,EAAE,aAAa,CAAC;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,aAAa,CAAC;CAClC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MessageEvent } from './subscriptions.js';
|
|
2
1
|
import type { RangeCriterion } from './query-types.js';
|
|
2
|
+
import type { SubscriptionListener } from './subscriptions.js';
|
|
3
3
|
import type { AuthorizationModel, GenericMessage, GenericMessageReply, MessageSubscription } from './message-types.js';
|
|
4
4
|
import type { DwnInterfaceName, DwnMethodName } from '../enums/dwn-interface-method.js';
|
|
5
5
|
/**
|
|
@@ -49,9 +49,12 @@ export type MessagesSyncReply = GenericMessageReply & {
|
|
|
49
49
|
hash?: string;
|
|
50
50
|
entries?: string[];
|
|
51
51
|
};
|
|
52
|
-
|
|
52
|
+
/**
|
|
53
|
+
* @deprecated Use {@link SubscriptionListener} directly. Retained as an alias for migration.
|
|
54
|
+
*/
|
|
55
|
+
export type MessageSubscriptionHandler = SubscriptionListener;
|
|
53
56
|
export type MessagesSubscribeMessageOptions = {
|
|
54
|
-
subscriptionHandler:
|
|
57
|
+
subscriptionHandler: SubscriptionListener;
|
|
55
58
|
};
|
|
56
59
|
export type MessagesSubscribeMessage = {
|
|
57
60
|
authorization: AuthorizationModel;
|
|
@@ -66,5 +69,11 @@ export type MessagesSubscribeDescriptor = {
|
|
|
66
69
|
messageTimestamp: string;
|
|
67
70
|
filters: MessagesFilter[];
|
|
68
71
|
permissionGrantId?: string;
|
|
72
|
+
/**
|
|
73
|
+
* Opaque EventLog cursor string to resume from. When provided, the handler replays
|
|
74
|
+
* events from the EventLog starting after this cursor instead of returning no
|
|
75
|
+
* initial snapshot. An EOSE marker is sent after catch-up.
|
|
76
|
+
*/
|
|
77
|
+
cursor?: string;
|
|
69
78
|
};
|
|
70
79
|
//# sourceMappingURL=messages-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-types.d.ts","sourceRoot":"","sources":["../../../../src/types/messages-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"messages-types.d.ts","sourceRoot":"","sources":["../../../../src/types/messages-types.ts"],"names":[],"mappings":"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"}
|