@enbox/dwn-sdk-js 0.4.0 → 0.4.1
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 +4 -4
- package/dist/browser.mjs +8 -8
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +799 -885
- package/dist/esm/generated/precompiled-validators.js.map +1 -1
- package/dist/esm/src/core/dwn-constant.js +5 -0
- package/dist/esm/src/core/dwn-constant.js.map +1 -1
- package/dist/esm/src/core/dwn-error.js +12 -4
- package/dist/esm/src/core/dwn-error.js.map +1 -1
- package/dist/esm/src/core/grant-authorization.js +9 -18
- package/dist/esm/src/core/grant-authorization.js.map +1 -1
- package/dist/esm/src/core/message-reply.js.map +1 -1
- package/dist/esm/src/core/messages-grant-authorization.js +28 -45
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-action.js +25 -27
- package/dist/esm/src/core/protocol-authorization-action.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization-validation.js +30 -68
- package/dist/esm/src/core/protocol-authorization-validation.js.map +1 -1
- package/dist/esm/src/core/protocol-authorization.js +44 -118
- package/dist/esm/src/core/protocol-authorization.js.map +1 -1
- package/dist/esm/src/core/protocols-grant-authorization.js +5 -5
- package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/recording-validation-state-reader.js +84 -0
- package/dist/esm/src/core/recording-validation-state-reader.js.map +1 -0
- package/dist/esm/src/core/records-grant-authorization.js +11 -11
- package/dist/esm/src/core/records-grant-authorization.js.map +1 -1
- package/dist/esm/src/core/replication-apply.js +123 -28
- package/dist/esm/src/core/replication-apply.js.map +1 -1
- package/dist/esm/src/core/resumable-task-manager.js +5 -4
- package/dist/esm/src/core/resumable-task-manager.js.map +1 -1
- package/dist/esm/src/core/validation-state-reader.js +237 -0
- package/dist/esm/src/core/validation-state-reader.js.map +1 -0
- package/dist/esm/src/dwn.js +165 -132
- package/dist/esm/src/dwn.js.map +1 -1
- package/dist/esm/src/enums/dwn-interface-method.js +0 -1
- package/dist/esm/src/enums/dwn-interface-method.js.map +1 -1
- package/dist/esm/src/event-stream/durable-event-log.js +365 -0
- package/dist/esm/src/event-stream/durable-event-log.js.map +1 -0
- package/dist/esm/src/event-stream/event-emitter-wake-publisher.js +25 -0
- package/dist/esm/src/event-stream/event-emitter-wake-publisher.js.map +1 -0
- package/dist/esm/src/handlers/messages-query.js +159 -0
- package/dist/esm/src/handlers/messages-query.js.map +1 -0
- package/dist/esm/src/handlers/messages-read.js +5 -5
- package/dist/esm/src/handlers/messages-read.js.map +1 -1
- package/dist/esm/src/handlers/messages-subscribe.js +8 -8
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/protocols-configure.js +30 -49
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -1
- package/dist/esm/src/handlers/protocols-query.js +1 -1
- package/dist/esm/src/handlers/protocols-query.js.map +1 -1
- package/dist/esm/src/handlers/records-count.js +20 -11
- package/dist/esm/src/handlers/records-count.js.map +1 -1
- package/dist/esm/src/handlers/records-delete.js +20 -16
- package/dist/esm/src/handlers/records-delete.js.map +1 -1
- package/dist/esm/src/handlers/records-query.js +35 -11
- package/dist/esm/src/handlers/records-query.js.map +1 -1
- package/dist/esm/src/handlers/records-read.js +52 -42
- package/dist/esm/src/handlers/records-read.js.map +1 -1
- package/dist/esm/src/handlers/records-subscribe.js +107 -11
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -1
- package/dist/esm/src/handlers/records-write.js +62 -116
- package/dist/esm/src/handlers/records-write.js.map +1 -1
- package/dist/esm/src/index.js +6 -7
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/{messages-sync.js → messages-query.js} +21 -15
- package/dist/esm/src/interfaces/messages-query.js.map +1 -0
- package/dist/esm/src/interfaces/protocols-configure.js +7 -3
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -1
- package/dist/esm/src/interfaces/protocols-query.js +3 -4
- package/dist/esm/src/interfaces/protocols-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-count.js +4 -3
- package/dist/esm/src/interfaces/records-count.js.map +1 -1
- package/dist/esm/src/interfaces/records-delete.js +21 -4
- package/dist/esm/src/interfaces/records-delete.js.map +1 -1
- package/dist/esm/src/interfaces/records-query.js +4 -3
- package/dist/esm/src/interfaces/records-query.js.map +1 -1
- package/dist/esm/src/interfaces/records-read.js +3 -3
- package/dist/esm/src/interfaces/records-read.js.map +1 -1
- package/dist/esm/src/interfaces/records-subscribe.js +4 -3
- package/dist/esm/src/interfaces/records-subscribe.js.map +1 -1
- package/dist/esm/src/interfaces/records-write.js +27 -13
- package/dist/esm/src/interfaces/records-write.js.map +1 -1
- package/dist/esm/src/protocols/permissions.js +27 -34
- package/dist/esm/src/protocols/permissions.js.map +1 -1
- package/dist/esm/src/store/index-level.js +24 -9
- package/dist/esm/src/store/index-level.js.map +1 -1
- package/dist/esm/src/store/level-wrapper.js +7 -0
- package/dist/esm/src/store/level-wrapper.js.map +1 -1
- package/dist/esm/src/store/message-store-level.js +536 -42
- package/dist/esm/src/store/message-store-level.js.map +1 -1
- package/dist/esm/src/store/storage-controller.js +58 -49
- package/dist/esm/src/store/storage-controller.js.map +1 -1
- package/dist/esm/src/types/message-types.js.map +1 -1
- package/dist/esm/src/types/validation-state-reader.js +2 -0
- package/dist/esm/src/types/validation-state-reader.js.map +1 -0
- package/dist/esm/src/utils/messages.js +17 -0
- package/dist/esm/src/utils/messages.js.map +1 -1
- package/dist/esm/src/utils/record-limit-occupancy.js +244 -0
- package/dist/esm/src/utils/record-limit-occupancy.js.map +1 -0
- package/dist/esm/src/utils/records.js +50 -14
- package/dist/esm/src/utils/records.js.map +1 -1
- package/dist/esm/src/utils/replication.js +85 -0
- package/dist/esm/src/utils/replication.js.map +1 -0
- package/dist/esm/tests/core/grant-authorization.spec.js +4 -4
- package/dist/esm/tests/core/grant-authorization.spec.js.map +1 -1
- package/dist/esm/tests/core/process-message-parity.spec.js +222 -0
- package/dist/esm/tests/core/process-message-parity.spec.js.map +1 -0
- package/dist/esm/tests/core/protocol-authorization.spec.js +5 -2
- package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -1
- package/dist/esm/tests/core/records-grant-authorization.spec.js +5 -5
- package/dist/esm/tests/core/records-grant-authorization.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-apply.spec.js +55 -1
- package/dist/esm/tests/core/replication-apply.spec.js.map +1 -1
- package/dist/esm/tests/core/replication-replay-property.spec.js +350 -0
- package/dist/esm/tests/core/replication-replay-property.spec.js.map +1 -0
- package/dist/esm/tests/core/validation-read-closure.spec.js +469 -0
- package/dist/esm/tests/core/validation-read-closure.spec.js.map +1 -0
- package/dist/esm/tests/core/validation-state-reader.spec.js +716 -0
- package/dist/esm/tests/core/validation-state-reader.spec.js.map +1 -0
- package/dist/esm/tests/durable-event-log.spec.js +373 -0
- package/dist/esm/tests/durable-event-log.spec.js.map +1 -0
- package/dist/esm/tests/dwn.spec.js +504 -35
- package/dist/esm/tests/dwn.spec.js.map +1 -1
- package/dist/esm/tests/features/author-delegated-grant.spec.js +9 -6
- package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-delegated-grant.spec.js +1 -4
- package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -1
- package/dist/esm/tests/features/owner-signature.spec.js +1 -4
- package/dist/esm/tests/features/owner-signature.spec.js.map +1 -1
- package/dist/esm/tests/features/permissions.spec.js +165 -4
- package/dist/esm/tests/features/permissions.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-composition.spec.js +8 -11
- package/dist/esm/tests/features/protocol-composition.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-create-action.spec.js +1 -4
- package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-delete-action.spec.js +3 -5
- package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -1
- package/dist/esm/tests/features/protocol-update-action.spec.js +3 -6
- package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -1
- package/dist/esm/tests/features/records-delivery.spec.js +1 -4
- package/dist/esm/tests/features/records-delivery.spec.js.map +1 -1
- package/dist/esm/tests/features/records-immutable.spec.js +1 -4
- package/dist/esm/tests/features/records-immutable.spec.js.map +1 -1
- package/dist/esm/tests/features/records-nested-query-scope.spec.js +281 -0
- package/dist/esm/tests/features/records-nested-query-scope.spec.js.map +1 -0
- package/dist/esm/tests/features/records-prune-cross-protocol.spec.js +3 -7
- package/dist/esm/tests/features/records-prune-cross-protocol.spec.js.map +1 -1
- package/dist/esm/tests/features/records-prune.spec.js +11 -22
- package/dist/esm/tests/features/records-prune.spec.js.map +1 -1
- package/dist/esm/tests/features/records-record-limit.spec.js +441 -231
- package/dist/esm/tests/features/records-record-limit.spec.js.map +1 -1
- package/dist/esm/tests/features/records-squash.spec.js +6 -4
- package/dist/esm/tests/features/records-squash.spec.js.map +1 -1
- package/dist/esm/tests/features/records-tags.spec.js +1 -4
- package/dist/esm/tests/features/records-tags.spec.js.map +1 -1
- package/dist/esm/tests/features/resumable-tasks.spec.js +3 -5
- package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/message-store.fuzz.spec.js +1 -2
- package/dist/esm/tests/fuzz/message-store.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/process-message.fuzz.spec.js +2 -4
- package/dist/esm/tests/fuzz/process-message.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/fuzz/schema-validation.fuzz.spec.js +1 -1
- package/dist/esm/tests/fuzz/schema-validation.fuzz.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-query.spec.js +246 -0
- package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -0
- package/dist/esm/tests/handlers/messages-read.spec.js +2 -5
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +3 -14
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-configure.spec.js +27 -26
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -1
- package/dist/esm/tests/handlers/protocols-query.spec.js +1 -4
- package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-count.spec.js +1 -4
- package/dist/esm/tests/handlers/records-count.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-delete.spec.js +312 -30
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-query.spec.js +32 -9
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-read.spec.js +4 -4
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-subscribe.spec.js +33 -14
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -1
- package/dist/esm/tests/handlers/records-write.spec.js +82 -36
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-delete.spec.js +69 -2
- package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -1
- package/dist/esm/tests/interfaces/records-write.spec.js +4 -3
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -1
- package/dist/esm/tests/protocols/permissions.spec.js +55 -6
- package/dist/esm/tests/protocols/permissions.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/aggregator.spec.js +1 -4
- package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/deleted-record.spec.js +1 -4
- package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +1 -4
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/nested-roles.spec.js +1 -4
- package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -1
- package/dist/esm/tests/scenarios/subscriptions.spec.js +1 -4
- package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store-level.spec.js +361 -5
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -1
- package/dist/esm/tests/store/message-store.spec.js +60 -0
- package/dist/esm/tests/store/message-store.spec.js.map +1 -1
- package/dist/esm/tests/test-event-stream.js +7 -3
- package/dist/esm/tests/test-event-stream.js.map +1 -1
- package/dist/esm/tests/test-stores.js +19 -9
- package/dist/esm/tests/test-stores.js.map +1 -1
- package/dist/esm/tests/test-suite.js +4 -2
- package/dist/esm/tests/test-suite.js.map +1 -1
- package/dist/esm/tests/utils/test-data-generator.js +25 -0
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -1
- package/dist/esm/tests/utils/test-stub-generator.js.map +1 -1
- package/dist/esm/tests/utils/test-validation-state-reader.js +16 -0
- package/dist/esm/tests/utils/test-validation-state-reader.js.map +1 -0
- package/dist/types/generated/precompiled-validators.d.ts +6 -6
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -1
- package/dist/types/src/core/core-protocol.d.ts +3 -3
- package/dist/types/src/core/core-protocol.d.ts.map +1 -1
- package/dist/types/src/core/dwn-constant.d.ts +5 -0
- package/dist/types/src/core/dwn-constant.d.ts.map +1 -1
- package/dist/types/src/core/dwn-error.d.ts +12 -4
- package/dist/types/src/core/dwn-error.d.ts.map +1 -1
- package/dist/types/src/core/grant-authorization.d.ts +5 -5
- package/dist/types/src/core/grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/message-reply.d.ts +5 -4
- package/dist/types/src/core/message-reply.d.ts.map +1 -1
- package/dist/types/src/core/messages-grant-authorization.d.ts +12 -14
- package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-action.d.ts +4 -5
- package/dist/types/src/core/protocol-authorization-action.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization-validation.d.ts +13 -16
- package/dist/types/src/core/protocol-authorization-validation.d.ts.map +1 -1
- package/dist/types/src/core/protocol-authorization.d.ts +8 -33
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -1
- package/dist/types/src/core/protocols-grant-authorization.d.ts +4 -4
- package/dist/types/src/core/protocols-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/recording-validation-state-reader.d.ts +75 -0
- package/dist/types/src/core/recording-validation-state-reader.d.ts.map +1 -0
- package/dist/types/src/core/records-grant-authorization.d.ts +8 -8
- package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -1
- package/dist/types/src/core/replication-apply.d.ts +36 -0
- package/dist/types/src/core/replication-apply.d.ts.map +1 -1
- package/dist/types/src/core/resumable-task-manager.d.ts +1 -1
- package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -1
- package/dist/types/src/core/validation-state-reader.d.ts +79 -0
- package/dist/types/src/core/validation-state-reader.d.ts.map +1 -0
- package/dist/types/src/dwn.d.ts +33 -20
- package/dist/types/src/dwn.d.ts.map +1 -1
- package/dist/types/src/enums/dwn-interface-method.d.ts +0 -1
- package/dist/types/src/enums/dwn-interface-method.d.ts.map +1 -1
- package/dist/types/src/event-stream/durable-event-log.d.ts +69 -0
- package/dist/types/src/event-stream/durable-event-log.d.ts.map +1 -0
- package/dist/types/src/event-stream/event-emitter-wake-publisher.d.ts +13 -0
- package/dist/types/src/event-stream/event-emitter-wake-publisher.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-query.d.ts +20 -0
- package/dist/types/src/handlers/messages-query.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-read.d.ts +1 -1
- package/dist/types/src/handlers/messages-read.d.ts.map +1 -1
- package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/protocols-configure.d.ts +0 -5
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/handlers/records-count.d.ts +2 -1
- package/dist/types/src/handlers/records-count.d.ts.map +1 -1
- package/dist/types/src/handlers/records-delete.d.ts +2 -2
- package/dist/types/src/handlers/records-delete.d.ts.map +1 -1
- package/dist/types/src/handlers/records-query.d.ts +1 -1
- package/dist/types/src/handlers/records-query.d.ts.map +1 -1
- package/dist/types/src/handlers/records-read.d.ts +2 -1
- package/dist/types/src/handlers/records-read.d.ts.map +1 -1
- package/dist/types/src/handlers/records-subscribe.d.ts +4 -5
- package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/handlers/records-write.d.ts +3 -11
- package/dist/types/src/handlers/records-write.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +14 -16
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/interfaces/messages-query.d.ts +23 -0
- package/dist/types/src/interfaces/messages-query.d.ts.map +1 -0
- package/dist/types/src/interfaces/protocols-configure.d.ts +3 -3
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -1
- package/dist/types/src/interfaces/protocols-query.d.ts +2 -2
- package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-count.d.ts +3 -3
- package/dist/types/src/interfaces/records-count.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-delete.d.ts +11 -3
- package/dist/types/src/interfaces/records-delete.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-query.d.ts +3 -3
- package/dist/types/src/interfaces/records-query.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-read.d.ts +3 -3
- package/dist/types/src/interfaces/records-read.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-subscribe.d.ts +3 -3
- package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -1
- package/dist/types/src/interfaces/records-write.d.ts +15 -7
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -1
- package/dist/types/src/protocols/permissions.d.ts +9 -12
- package/dist/types/src/protocols/permissions.d.ts.map +1 -1
- package/dist/types/src/store/index-level.d.ts +10 -1
- package/dist/types/src/store/index-level.d.ts.map +1 -1
- package/dist/types/src/store/level-wrapper.d.ts +5 -0
- package/dist/types/src/store/level-wrapper.d.ts.map +1 -1
- package/dist/types/src/store/message-store-level.d.ts +94 -14
- package/dist/types/src/store/message-store-level.d.ts.map +1 -1
- package/dist/types/src/store/storage-controller.d.ts +17 -14
- package/dist/types/src/store/storage-controller.d.ts.map +1 -1
- package/dist/types/src/types/message-store.d.ts +29 -1
- package/dist/types/src/types/message-store.d.ts.map +1 -1
- package/dist/types/src/types/message-types.d.ts +2 -0
- package/dist/types/src/types/message-types.d.ts.map +1 -1
- package/dist/types/src/types/messages-types.d.ts +21 -37
- package/dist/types/src/types/messages-types.d.ts.map +1 -1
- package/dist/types/src/types/method-handler.d.ts +2 -2
- package/dist/types/src/types/method-handler.d.ts.map +1 -1
- package/dist/types/src/types/permission-types.d.ts +1 -1
- package/dist/types/src/types/subscriptions.d.ts +50 -39
- package/dist/types/src/types/subscriptions.d.ts.map +1 -1
- package/dist/types/src/types/validation-state-reader.d.ts +116 -0
- package/dist/types/src/types/validation-state-reader.d.ts.map +1 -0
- package/dist/types/src/utils/messages.d.ts +10 -0
- package/dist/types/src/utils/messages.d.ts.map +1 -1
- package/dist/types/src/utils/record-limit-occupancy.d.ts +40 -0
- package/dist/types/src/utils/record-limit-occupancy.d.ts.map +1 -0
- package/dist/types/src/utils/records.d.ts +25 -3
- package/dist/types/src/utils/records.d.ts.map +1 -1
- package/dist/types/src/utils/replication.d.ts +22 -0
- package/dist/types/src/utils/replication.d.ts.map +1 -0
- package/dist/types/tests/core/process-message-parity.spec.d.ts +2 -0
- package/dist/types/tests/core/process-message-parity.spec.d.ts.map +1 -0
- package/dist/types/tests/core/replication-replay-property.spec.d.ts +2 -0
- package/dist/types/tests/core/replication-replay-property.spec.d.ts.map +1 -0
- package/dist/types/tests/core/validation-read-closure.spec.d.ts +2 -0
- package/dist/types/tests/core/validation-read-closure.spec.d.ts.map +1 -0
- package/dist/types/tests/core/validation-state-reader.spec.d.ts +2 -0
- package/dist/types/tests/core/validation-state-reader.spec.d.ts.map +1 -0
- package/dist/types/tests/durable-event-log.spec.d.ts +2 -0
- package/dist/types/tests/durable-event-log.spec.d.ts.map +1 -0
- package/dist/types/tests/dwn.spec.d.ts.map +1 -1
- 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/protocol-create-action.spec.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-delete-action.spec.d.ts.map +1 -1
- package/dist/types/tests/features/protocol-update-action.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-delivery.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-immutable.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-nested-query-scope.spec.d.ts +2 -0
- package/dist/types/tests/features/records-nested-query-scope.spec.d.ts.map +1 -0
- package/dist/types/tests/features/records-prune-cross-protocol.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-prune.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-record-limit.spec.d.ts.map +1 -1
- package/dist/types/tests/features/records-squash.spec.d.ts.map +1 -1
- 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-query.spec.d.ts +2 -0
- package/dist/types/tests/handlers/messages-query.spec.d.ts.map +1 -0
- 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/protocols-configure.spec.d.ts.map +1 -1
- package/dist/types/tests/handlers/protocols-query.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/end-to-end-tests.spec.d.ts.map +1 -1
- package/dist/types/tests/scenarios/nested-roles.spec.d.ts.map +1 -1
- package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -1
- package/dist/types/tests/store/message-store.spec.d.ts.map +1 -1
- package/dist/types/tests/test-event-stream.d.ts +1 -1
- package/dist/types/tests/test-event-stream.d.ts.map +1 -1
- package/dist/types/tests/test-stores.d.ts +5 -4
- package/dist/types/tests/test-stores.d.ts.map +1 -1
- package/dist/types/tests/test-suite.d.ts +1 -2
- package/dist/types/tests/test-suite.d.ts.map +1 -1
- package/dist/types/tests/utils/test-data-generator.d.ts +20 -1
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -1
- package/dist/types/tests/utils/test-validation-state-reader.d.ts +15 -0
- package/dist/types/tests/utils/test-validation-state-reader.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/core/core-protocol.ts +3 -3
- package/src/core/dwn-constant.ts +7 -1
- package/src/core/dwn-error.ts +12 -4
- package/src/core/grant-authorization.ts +11 -20
- package/src/core/message-reply.ts +6 -5
- package/src/core/messages-grant-authorization.ts +37 -70
- package/src/core/protocol-authorization-action.ts +29 -38
- package/src/core/protocol-authorization-validation.ts +39 -96
- package/src/core/protocol-authorization.ts +56 -202
- package/src/core/protocols-grant-authorization.ts +9 -9
- package/src/core/recording-validation-state-reader.ts +130 -0
- package/src/core/records-grant-authorization.ts +16 -16
- package/src/core/replication-apply.ts +172 -32
- package/src/core/resumable-task-manager.ts +10 -8
- package/src/core/validation-state-reader.ts +350 -0
- package/src/dwn.ts +285 -192
- package/src/enums/dwn-interface-method.ts +0 -1
- package/src/event-stream/durable-event-log.ts +509 -0
- package/src/event-stream/event-emitter-wake-publisher.ts +34 -0
- package/src/handlers/messages-query.ts +203 -0
- package/src/handlers/messages-read.ts +9 -10
- package/src/handlers/messages-subscribe.ts +12 -13
- package/src/handlers/protocols-configure.ts +37 -58
- package/src/handlers/protocols-query.ts +1 -1
- package/src/handlers/records-count.ts +24 -17
- package/src/handlers/records-delete.ts +29 -27
- package/src/handlers/records-query.ts +38 -17
- package/src/handlers/records-read.ts +63 -50
- package/src/handlers/records-subscribe.ts +132 -19
- package/src/handlers/records-write.ts +77 -168
- package/src/index.ts +14 -17
- package/src/interfaces/messages-query.ts +70 -0
- package/src/interfaces/protocols-configure.ts +12 -4
- package/src/interfaces/protocols-query.ts +4 -5
- package/src/interfaces/records-count.ts +9 -4
- package/src/interfaces/records-delete.ts +25 -5
- package/src/interfaces/records-query.ts +9 -4
- package/src/interfaces/records-read.ts +4 -4
- package/src/interfaces/records-subscribe.ts +9 -4
- package/src/interfaces/records-write.ts +41 -13
- package/src/protocols/permissions.ts +32 -52
- package/src/store/index-level.ts +30 -9
- package/src/store/level-wrapper.ts +9 -1
- package/src/store/message-store-level.ts +757 -47
- package/src/store/storage-controller.ts +74 -63
- package/src/types/message-store.ts +45 -2
- package/src/types/message-types.ts +3 -1
- package/src/types/messages-types.ts +26 -45
- package/src/types/method-handler.ts +3 -3
- package/src/types/permission-types.ts +1 -1
- package/src/types/subscriptions.ts +53 -42
- package/src/types/validation-state-reader.ts +127 -0
- package/src/utils/messages.ts +25 -1
- package/src/utils/record-limit-occupancy.ts +377 -0
- package/src/utils/records.ts +69 -13
- package/src/utils/replication.ts +122 -0
- package/dist/esm/src/core/record-chain.js +0 -64
- package/dist/esm/src/core/record-chain.js.map +0 -1
- package/dist/esm/src/event-stream/event-emitter-event-log.js +0 -334
- package/dist/esm/src/event-stream/event-emitter-event-log.js.map +0 -1
- package/dist/esm/src/handlers/messages-sync.js +0 -278
- package/dist/esm/src/handlers/messages-sync.js.map +0 -1
- package/dist/esm/src/interfaces/messages-sync.js.map +0 -1
- package/dist/esm/src/smt/smt-store-level.js +0 -103
- package/dist/esm/src/smt/smt-store-level.js.map +0 -1
- package/dist/esm/src/smt/smt-store-memory.js +0 -41
- package/dist/esm/src/smt/smt-store-memory.js.map +0 -1
- package/dist/esm/src/smt/smt-utils.js +0 -129
- package/dist/esm/src/smt/smt-utils.js.map +0 -1
- package/dist/esm/src/smt/sparse-merkle-tree.js +0 -577
- package/dist/esm/src/smt/sparse-merkle-tree.js.map +0 -1
- package/dist/esm/src/state-index/state-index-level.js +0 -191
- package/dist/esm/src/state-index/state-index-level.js.map +0 -1
- package/dist/esm/src/types/smt-types.js +0 -5
- package/dist/esm/src/types/smt-types.js.map +0 -1
- package/dist/esm/src/types/state-index.js +0 -2
- package/dist/esm/src/types/state-index.js.map +0 -1
- package/dist/esm/tests/event-emitter-event-log.spec.js +0 -499
- package/dist/esm/tests/event-emitter-event-log.spec.js.map +0 -1
- package/dist/esm/tests/handlers/messages-sync.spec.js +0 -1088
- package/dist/esm/tests/handlers/messages-sync.spec.js.map +0 -1
- package/dist/esm/tests/smt/smt-store-level.spec.js +0 -132
- package/dist/esm/tests/smt/smt-store-level.spec.js.map +0 -1
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js +0 -732
- package/dist/esm/tests/smt/sparse-merkle-tree.spec.js.map +0 -1
- package/dist/esm/tests/state-index/state-index-level.spec.js +0 -245
- package/dist/esm/tests/state-index/state-index-level.spec.js.map +0 -1
- package/dist/types/src/core/record-chain.d.ts +0 -24
- package/dist/types/src/core/record-chain.d.ts.map +0 -1
- package/dist/types/src/event-stream/event-emitter-event-log.d.ts +0 -80
- package/dist/types/src/event-stream/event-emitter-event-log.d.ts.map +0 -1
- package/dist/types/src/handlers/messages-sync.d.ts +0 -39
- package/dist/types/src/handlers/messages-sync.d.ts.map +0 -1
- package/dist/types/src/interfaces/messages-sync.d.ts +0 -20
- package/dist/types/src/interfaces/messages-sync.d.ts.map +0 -1
- package/dist/types/src/smt/smt-store-level.d.ts +0 -32
- package/dist/types/src/smt/smt-store-level.d.ts.map +0 -1
- package/dist/types/src/smt/smt-store-memory.d.ts +0 -22
- package/dist/types/src/smt/smt-store-memory.d.ts.map +0 -1
- package/dist/types/src/smt/smt-utils.d.ts +0 -58
- package/dist/types/src/smt/smt-utils.d.ts.map +0 -1
- package/dist/types/src/smt/sparse-merkle-tree.d.ts +0 -124
- package/dist/types/src/smt/sparse-merkle-tree.d.ts.map +0 -1
- package/dist/types/src/state-index/state-index-level.d.ts +0 -83
- package/dist/types/src/state-index/state-index-level.d.ts.map +0 -1
- package/dist/types/src/types/smt-types.d.ts +0 -81
- package/dist/types/src/types/smt-types.d.ts.map +0 -1
- package/dist/types/src/types/state-index.d.ts +0 -90
- package/dist/types/src/types/state-index.d.ts.map +0 -1
- package/dist/types/tests/event-emitter-event-log.spec.d.ts +0 -2
- package/dist/types/tests/event-emitter-event-log.spec.d.ts.map +0 -1
- package/dist/types/tests/handlers/messages-sync.spec.d.ts +0 -2
- package/dist/types/tests/handlers/messages-sync.spec.d.ts.map +0 -1
- package/dist/types/tests/smt/smt-store-level.spec.d.ts +0 -2
- package/dist/types/tests/smt/smt-store-level.spec.d.ts.map +0 -1
- package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts +0 -2
- package/dist/types/tests/smt/sparse-merkle-tree.spec.d.ts.map +0 -1
- package/dist/types/tests/state-index/state-index-level.spec.d.ts +0 -2
- package/dist/types/tests/state-index/state-index-level.spec.d.ts.map +0 -1
- package/src/core/record-chain.ts +0 -99
- package/src/event-stream/event-emitter-event-log.ts +0 -430
- package/src/handlers/messages-sync.ts +0 -403
- package/src/interfaces/messages-sync.ts +0 -69
- package/src/smt/smt-store-level.ts +0 -143
- package/src/smt/smt-store-memory.ts +0 -53
- package/src/smt/smt-utils.ts +0 -149
- package/src/smt/sparse-merkle-tree.ts +0 -698
- package/src/state-index/state-index-level.ts +0 -239
- package/src/types/smt-types.ts +0 -95
- package/src/types/state-index.ts +0 -100
|
@@ -18,14 +18,17 @@ export type ProgressToken = {
|
|
|
18
18
|
epoch: string;
|
|
19
19
|
/** Monotonic decimal string within `(streamId, epoch)`. Compared numerically. */
|
|
20
20
|
position: string;
|
|
21
|
-
/**
|
|
22
|
-
|
|
21
|
+
/**
|
|
22
|
+
* The CID of the message associated with this event. Omitted for high-water
|
|
23
|
+
* cursors that do not point at a delivered in-scope message.
|
|
24
|
+
*/
|
|
25
|
+
messageCid?: string;
|
|
23
26
|
};
|
|
24
27
|
/**
|
|
25
28
|
* Reason code for a {@link ProgressGapInfo} — explains why the cursor
|
|
26
29
|
* cannot be resumed.
|
|
27
30
|
*/
|
|
28
|
-
export type ProgressGapReason = 'token_too_old' | 'epoch_mismatch' | 'stream_mismatch';
|
|
31
|
+
export type ProgressGapReason = 'token_too_old' | 'token_too_new' | 'epoch_mismatch' | 'stream_mismatch' | 'message_mismatch';
|
|
29
32
|
/**
|
|
30
33
|
* Metadata attached to a `DwnError(DwnErrorCode.EventLogProgressGap, ...)`
|
|
31
34
|
* when an EventLog implementation cannot resume from a given cursor.
|
|
@@ -43,13 +46,7 @@ export type ProgressGapInfo = {
|
|
|
43
46
|
reason: ProgressGapReason;
|
|
44
47
|
};
|
|
45
48
|
/**
|
|
46
|
-
*
|
|
47
|
-
* subscribers. Not intended for direct consumer use — consumers should use
|
|
48
|
-
* {@link SubscriptionListener} via {@link EventLog.subscribe}.
|
|
49
|
-
*/
|
|
50
|
-
export type EventListener = (tenant: string, event: MessageEvent, indexes: KeyValues, seq: number) => void;
|
|
51
|
-
/**
|
|
52
|
-
* MessageEvent contains the message being emitted and an optional initial write message.
|
|
49
|
+
* MessageEvent contains a committed message and an optional initial write message.
|
|
53
50
|
*/
|
|
54
51
|
export type MessageEvent = {
|
|
55
52
|
message: GenericMessage;
|
|
@@ -76,6 +73,16 @@ export type SubscriptionEvent = {
|
|
|
76
73
|
cursor: ProgressToken;
|
|
77
74
|
/** The event payload (message + optional initialWrite). */
|
|
78
75
|
event: MessageEvent;
|
|
76
|
+
/** Original row sequence for this message. */
|
|
77
|
+
seq?: string;
|
|
78
|
+
/** CID of the message that produced this event. */
|
|
79
|
+
messageCid?: string;
|
|
80
|
+
/** Whether this event's source row was latest base state at read time. */
|
|
81
|
+
isLatestBaseState?: boolean;
|
|
82
|
+
/** Protocol index value associated with the source row, when present. */
|
|
83
|
+
protocol?: string;
|
|
84
|
+
/** Base64url-encoded inline data carried beside the message payload. */
|
|
85
|
+
encodedData?: string;
|
|
79
86
|
};
|
|
80
87
|
/**
|
|
81
88
|
* End-of-Stored-Events marker. Sent after all catch-up events have been replayed
|
|
@@ -127,8 +134,7 @@ export type EventLogSubscribeOptions = {
|
|
|
127
134
|
* an EOSE marker, then live events. When omitted, only live events are delivered.
|
|
128
135
|
*
|
|
129
136
|
* Tokens must be obtained from a prior interaction with the same EventLog
|
|
130
|
-
* instance (e.g. `SubscriptionEvent.cursor
|
|
131
|
-
* or the return value of `emit()`).
|
|
137
|
+
* instance (e.g. `SubscriptionEvent.cursor` or `EventLogReadResult.cursor`).
|
|
132
138
|
*/
|
|
133
139
|
cursor?: ProgressToken;
|
|
134
140
|
/**
|
|
@@ -141,15 +147,19 @@ export type EventLogSubscribeOptions = {
|
|
|
141
147
|
* A single entry returned by {@link EventLog.read}.
|
|
142
148
|
*/
|
|
143
149
|
export type EventLogEntry = {
|
|
144
|
-
/** Monotonic sequence number scoped to (instance, tenant). */
|
|
145
|
-
seq:
|
|
150
|
+
/** Monotonic sequence number scoped to (instance, tenant), as a decimal string. */
|
|
151
|
+
seq: string;
|
|
152
|
+
/** The actual delivered log position. Equal to `seq` for store-backed feeds. */
|
|
153
|
+
position?: string;
|
|
146
154
|
/** The event payload. */
|
|
147
155
|
event: MessageEvent;
|
|
156
|
+
/** Base64url-encoded inline data carried beside the message payload. */
|
|
157
|
+
encodedData?: string;
|
|
148
158
|
/** Indexes associated with the event (used for filter matching). */
|
|
149
159
|
indexes: KeyValues;
|
|
150
160
|
/**
|
|
151
161
|
* The CID of the message that produced this event. Populated by
|
|
152
|
-
* implementations that track it
|
|
162
|
+
* implementations that track it.
|
|
153
163
|
* Consumers should fall back to computing the CID from the message
|
|
154
164
|
* if this is absent.
|
|
155
165
|
*/
|
|
@@ -172,15 +182,10 @@ export type EventLogReadOptions = {
|
|
|
172
182
|
export type EventLogReadResult = {
|
|
173
183
|
/** Events matching the read request, ordered by ascending seq. */
|
|
174
184
|
events: EventLogEntry[];
|
|
175
|
-
/**
|
|
176
|
-
* Progress token for resuming subsequent reads or subscriptions.
|
|
177
|
-
*
|
|
178
|
-
* - When events are returned: token of the last event.
|
|
179
|
-
* - When no events are returned but a cursor was provided: the input cursor
|
|
180
|
-
* (meaning "you are caught up, nothing new since this point").
|
|
181
|
-
* - When no events exist and no cursor was provided: `undefined`.
|
|
182
|
-
*/
|
|
185
|
+
/** High-water progress token for resuming subsequent reads or subscriptions. */
|
|
183
186
|
cursor?: ProgressToken;
|
|
187
|
+
/** True when the scan reached the captured tenant head. */
|
|
188
|
+
drained: boolean;
|
|
184
189
|
};
|
|
185
190
|
/**
|
|
186
191
|
* The EventLog interface provides persistent, ordered event storage with
|
|
@@ -190,20 +195,11 @@ export type EventLogReadResult = {
|
|
|
190
195
|
* that enable cursor-based resume after disconnects.
|
|
191
196
|
*
|
|
192
197
|
* The interface is intentionally transport-agnostic — implementations can be
|
|
193
|
-
* backed by
|
|
194
|
-
*
|
|
195
|
-
*
|
|
198
|
+
* backed by an embedded store, SQL, or another durable ordered feed. Each
|
|
199
|
+
* implementation owns the catch-up + live transition strategy appropriate to
|
|
200
|
+
* its backend.
|
|
196
201
|
*/
|
|
197
202
|
export interface EventLog {
|
|
198
|
-
/**
|
|
199
|
-
* Persist an event and notify in-process subscribers.
|
|
200
|
-
* @param tenant The tenant DID.
|
|
201
|
-
* @param event The event payload.
|
|
202
|
-
* @param indexes Index values for the event.
|
|
203
|
-
* @param messageCid The CID of the message being emitted — embedded in the returned token.
|
|
204
|
-
* @returns A {@link ProgressToken} assigned to the event, or `undefined` on failure.
|
|
205
|
-
*/
|
|
206
|
-
emit(tenant: string, event: MessageEvent, indexes: KeyValues, messageCid: string): Promise<ProgressToken | undefined>;
|
|
207
203
|
/**
|
|
208
204
|
* Read events from the log starting after `cursor`, optionally filtered.
|
|
209
205
|
*/
|
|
@@ -233,11 +229,26 @@ export interface EventLog {
|
|
|
233
229
|
oldest: ProgressToken;
|
|
234
230
|
latest: ProgressToken;
|
|
235
231
|
} | undefined>;
|
|
236
|
-
/**
|
|
237
|
-
* Delete events older than the given sequence number or ISO-8601 timestamp.
|
|
238
|
-
*/
|
|
239
|
-
trim(tenant: string, olderThan: number | string): Promise<void>;
|
|
240
232
|
open(): Promise<void>;
|
|
241
233
|
close(): Promise<void>;
|
|
242
234
|
}
|
|
235
|
+
export type Wake = {
|
|
236
|
+
tenant: string;
|
|
237
|
+
seq: string;
|
|
238
|
+
};
|
|
239
|
+
export interface WakePublisher {
|
|
240
|
+
publish(wake: Wake): void;
|
|
241
|
+
}
|
|
242
|
+
export interface WakeSubscriber {
|
|
243
|
+
subscribe(listener: (wake: Wake) => void): () => void;
|
|
244
|
+
}
|
|
245
|
+
export interface ReplicationFeedReader {
|
|
246
|
+
logRead(tenant: string, options?: EventLogReadOptions): Promise<EventLogReadResult>;
|
|
247
|
+
logBounds(tenant: string): Promise<{
|
|
248
|
+
oldest: ProgressToken;
|
|
249
|
+
latest: ProgressToken;
|
|
250
|
+
} | undefined>;
|
|
251
|
+
fingerprint(tenant: string, scopes: string[]): Promise<string>;
|
|
252
|
+
epoch(): Promise<string>;
|
|
253
|
+
}
|
|
243
254
|
//# sourceMappingURL=subscriptions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../src/types/subscriptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAMnG;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,yDAAyD;IACzD,QAAQ,EAAG,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,EAAG,MAAM,CAAC;IACf,iFAAiF;IACjF,QAAQ,EAAG,MAAM,CAAC;IAClB
|
|
1
|
+
{"version":3,"file":"subscriptions.d.ts","sourceRoot":"","sources":["../../../../src/types/subscriptions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import type { GenericMessage } from './message-types.js';
|
|
2
|
+
import type { PermissionGrant } from '../protocols/permission-grant.js';
|
|
3
|
+
import type { ProtocolDefinition } from './protocols-types.js';
|
|
4
|
+
import type { RecordsWrite } from '../interfaces/records-write.js';
|
|
5
|
+
import type { RecordsWriteMessage } from './records-types.js';
|
|
6
|
+
/**
|
|
7
|
+
* The single narrow surface through which validation logic reads state.
|
|
8
|
+
*
|
|
9
|
+
* Every validation-time state read performed during message admission routes through this
|
|
10
|
+
* interface, so the replay basis (initial writes ∪ latest states ∪ tombstones ∪ protocol-config
|
|
11
|
+
* history ∪ permission records) provably stays closed under admission's read set. Validation
|
|
12
|
+
* modules (`core/protocol-authorization*`, `protocols/permissions*`) are lint-banned from
|
|
13
|
+
* importing `MessageStore` directly; a new protocol-engine feature that needs new state must add
|
|
14
|
+
* a reader method here.
|
|
15
|
+
*/
|
|
16
|
+
export interface ValidationStateReader {
|
|
17
|
+
/**
|
|
18
|
+
* Fetches a record's initial `RecordsWrite` by entry ID, parsed.
|
|
19
|
+
* @returns the initial write, or `undefined` when no message carries the entry ID.
|
|
20
|
+
*/
|
|
21
|
+
fetchInitialRecordsWrite(tenant: string, recordId: string): Promise<RecordsWrite | undefined>;
|
|
22
|
+
/**
|
|
23
|
+
* Fetches a record's initial write from among all of the record's writes.
|
|
24
|
+
* @returns the initial write message, or `undefined` when the record has no messages at all.
|
|
25
|
+
* @throws {DwnError} with `RecordsWriteGetInitialWriteNotFound` when writes exist for the
|
|
26
|
+
* record but none of them is the initial write.
|
|
27
|
+
*/
|
|
28
|
+
fetchInitialWrite(tenant: string, recordId: string): Promise<RecordsWriteMessage | undefined>;
|
|
29
|
+
/**
|
|
30
|
+
* Constructs the chain of existing records from the root to the given
|
|
31
|
+
* descendant, each represented by its initial `RecordsWrite`.
|
|
32
|
+
* @returns the chain root-first; an empty array when `descendantRecordId` is `undefined`.
|
|
33
|
+
* @throws {DwnError} with `ProtocolAuthorizationParentNotFoundConstructingRecordChain` when any
|
|
34
|
+
* link in the chain is missing.
|
|
35
|
+
*/
|
|
36
|
+
constructRecordChain(tenant: string, descendantRecordId: string | undefined): Promise<RecordsWriteMessage[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Fetches the immediate parent record for protocolPath/contextId verification.
|
|
39
|
+
*
|
|
40
|
+
* Queries the latest-state write first — the fast path that excludes deleted parents. If no
|
|
41
|
+
* latest write exists, a retained initial write is sufficient for immutable parent facts
|
|
42
|
+
* (protocolPath/contextId) provided no local tombstone exists for that record.
|
|
43
|
+
* @returns the parent write, or `undefined` when the parent is absent (or deleted).
|
|
44
|
+
*/
|
|
45
|
+
fetchParentRecord(input: {
|
|
46
|
+
tenant: string;
|
|
47
|
+
parentProtocolUri: string;
|
|
48
|
+
parentId: string;
|
|
49
|
+
}): Promise<RecordsWriteMessage | undefined>;
|
|
50
|
+
/**
|
|
51
|
+
* Checks whether a role record matching the invoked-role selector exists.
|
|
52
|
+
* Filter-only — role validation never reads record data. The latest-state match is the fast
|
|
53
|
+
* path. If no latest match exists, a retained initial role write is sufficient for immutable
|
|
54
|
+
* role facts (recipient/path/context) provided no local tombstone exists for that role record.
|
|
55
|
+
*/
|
|
56
|
+
hasMatchingRoleRecord(input: {
|
|
57
|
+
tenant: string;
|
|
58
|
+
protocol: string;
|
|
59
|
+
protocolPath: string;
|
|
60
|
+
recipient: string;
|
|
61
|
+
contextIdPrefix?: string;
|
|
62
|
+
}): Promise<boolean>;
|
|
63
|
+
/**
|
|
64
|
+
* Queries the latest-state role records matching the given
|
|
65
|
+
* selector, used to reject duplicate role assignments to the same recipient. Filter-only.
|
|
66
|
+
*/
|
|
67
|
+
queryLatestRoleRecords(input: {
|
|
68
|
+
tenant: string;
|
|
69
|
+
protocol: string;
|
|
70
|
+
protocolPath: string;
|
|
71
|
+
recipient: string;
|
|
72
|
+
contextIdPrefix?: string;
|
|
73
|
+
}): Promise<RecordsWriteMessage[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Fetches the permission grant with the given record ID, with its scope parsed from grant data.
|
|
76
|
+
* @throws {DwnError} with `GrantAuthorizationGrantMissing` when the grant does not exist.
|
|
77
|
+
*/
|
|
78
|
+
fetchGrant(tenant: string, permissionGrantId: string): Promise<PermissionGrant>;
|
|
79
|
+
/**
|
|
80
|
+
* Fetches the oldest latest-state revocation record for the given permission grant, if any.
|
|
81
|
+
* Grant activity checks compare the oldest revocation timestamp to the incoming message timestamp.
|
|
82
|
+
*/
|
|
83
|
+
fetchOldestGrantRevocation(tenant: string, permissionGrantId: string): Promise<GenericMessage | undefined>;
|
|
84
|
+
/**
|
|
85
|
+
* Fetches the newest `RecordsWrite` associated with a record, used to authorize `Messages.Read`
|
|
86
|
+
* access to `RecordsDelete` messages by projecting the delete back to the deleted record's
|
|
87
|
+
* protocol scope.
|
|
88
|
+
* @throws {DwnError} with `RecordsWriteGetNewestWriteRecordNotFound` when no write exists.
|
|
89
|
+
*/
|
|
90
|
+
fetchNewestRecordsWrite(tenant: string, recordId: string): Promise<RecordsWriteMessage>;
|
|
91
|
+
/**
|
|
92
|
+
* Fetches the protocol definition for the given protocol URI.
|
|
93
|
+
* When `messageTimestamp` is provided, returns the definition active at that point in time —
|
|
94
|
+
* the `ProtocolsConfigure` with the greatest `messageTimestamp` that is <= the given timestamp,
|
|
95
|
+
* read from retained config history. When not provided, returns the latest definition.
|
|
96
|
+
* Core protocol definitions are returned from the registry without a store read.
|
|
97
|
+
* @throws {DwnError} with `ProtocolAuthorizationProtocolNotFound` when no definition exists.
|
|
98
|
+
*/
|
|
99
|
+
fetchProtocolDefinition(tenant: string, protocolUri: string, messageTimestamp?: string): Promise<ProtocolDefinition>;
|
|
100
|
+
/**
|
|
101
|
+
* Fetches the latest `$squash: true` record at a protocol path within the parent context.
|
|
102
|
+
* This is the temporal floor used by the squash backstop.
|
|
103
|
+
*/
|
|
104
|
+
fetchLatestSquashRecordAtScope(input: {
|
|
105
|
+
tenant: string;
|
|
106
|
+
protocol: string;
|
|
107
|
+
protocolPath: string;
|
|
108
|
+
contextIdPrefix?: string;
|
|
109
|
+
}): Promise<RecordsWriteMessage | undefined>;
|
|
110
|
+
/**
|
|
111
|
+
* Checks whether the data with the given CID is present in the `DataStore` for the given record.
|
|
112
|
+
* This is the prior-data integrity check for dataless non-initial writes.
|
|
113
|
+
*/
|
|
114
|
+
hasStoredData(tenant: string, recordId: string, dataCid: string): Promise<boolean>;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=validation-state-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-state-reader.d.ts","sourceRoot":"","sources":["../../../../src/types/validation-state-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE9F;;;;;;OAMG;IACH,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE7G;;;;;;;OAOG;IACH,iBAAiB,CAAC,KAAK,EAAE;QACvB,MAAM,EAAE,MAAM,CAAC;QACf,iBAAiB,EAAE,MAAM,CAAC;QAC1B,QAAQ,EAAE,MAAM,CAAC;KAClB,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE7C;;;;;OAKG;IACH,qBAAqB,CAAC,KAAK,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErB;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEnC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEhF;;;OAGG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC;IAE3G;;;;;OAKG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAExF;;;;;;;OAOG;IACH,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAErH;;;OAGG;IACH,8BAA8B,CAAC,KAAK,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE7C;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CoreProtocolRegistry } from '../core/core-protocol.js';
|
|
2
2
|
import type { Filter } from '../types/query-types.js';
|
|
3
|
+
import type { GenericMessage } from '../types/message-types.js';
|
|
3
4
|
import type { MessagesFilter } from '../types/messages-types.js';
|
|
4
5
|
/**
|
|
5
6
|
* Class containing Messages related utility methods.
|
|
@@ -21,9 +22,18 @@ export declare class Messages {
|
|
|
21
22
|
* @returns {Filter[]} an array of generic Filter able to be used when querying.
|
|
22
23
|
*/
|
|
23
24
|
static convertFilters(filters: MessagesFilter[], coreProtocols?: CoreProtocolRegistry): Filter[];
|
|
25
|
+
/**
|
|
26
|
+
* Returns a copy of a RecordsWrite message without inline encodedData, and the
|
|
27
|
+
* detached encodedData value for wire surfaces that carry data beside the message.
|
|
28
|
+
*/
|
|
29
|
+
static detachEncodedData(message: GenericMessage): {
|
|
30
|
+
message: GenericMessage;
|
|
31
|
+
encodedData?: string;
|
|
32
|
+
};
|
|
24
33
|
/**
|
|
25
34
|
* Converts an external-facing filter model into an internal-facing filer model used by data store.
|
|
26
35
|
*/
|
|
27
36
|
private static convertFilter;
|
|
37
|
+
private static hasEncodedData;
|
|
28
38
|
}
|
|
29
39
|
//# sourceMappingURL=messages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/utils/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/utils/messages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAUjE;;GAEG;AACH,qBAAa,QAAQ;IACnB;;OAEG;WACW,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,cAAc,EAAE;IAwB3E;;;;;;;;;;OAUG;WACW,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,aAAa,CAAC,EAAE,oBAAoB,GAAG,MAAM,EAAE;IA8CvG;;;OAGG;WACW,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE;IAY3G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,aAAa;IAmC5B,OAAO,CAAC,MAAM,CAAC,cAAc;CAG9B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { MessageStore } from '../types/message-store.js';
|
|
2
|
+
import type { RecordsWriteMessage } from '../types/records-types.js';
|
|
3
|
+
import type { ValidationStateReader } from '../types/validation-state-reader.js';
|
|
4
|
+
import type { Filter, PaginationCursor } from '../types/query-types.js';
|
|
5
|
+
import type { MessageSort, Pagination } from '../types/message-types.js';
|
|
6
|
+
type RecordLimitOccupancyDependencies = {
|
|
7
|
+
messageStore: MessageStore;
|
|
8
|
+
validationStateReader: ValidationStateReader;
|
|
9
|
+
};
|
|
10
|
+
type RecordLimitOccupancyQueryInput = RecordLimitOccupancyDependencies & {
|
|
11
|
+
tenant: string;
|
|
12
|
+
filters: Filter[];
|
|
13
|
+
messageTimestamp: string;
|
|
14
|
+
messageSort?: MessageSort;
|
|
15
|
+
pagination?: Pagination;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Queries records with bounded `$recordLimit` occupancy projection when every limited filter targets one concrete scope.
|
|
19
|
+
*
|
|
20
|
+
* Broad filters keep the store's native query path. Projecting those without a store-level grouping primitive would require
|
|
21
|
+
* scanning the full matching set, which is worse than leaving them unprojected until a bounded broad-query strategy exists.
|
|
22
|
+
*/
|
|
23
|
+
export declare function queryRecordsWithRecordLimitOccupancy(input: RecordLimitOccupancyQueryInput): Promise<{
|
|
24
|
+
messages: RecordsWriteMessage[];
|
|
25
|
+
cursor?: PaginationCursor;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Counts records with bounded `$recordLimit` occupancy projection when every limited filter targets one concrete scope.
|
|
29
|
+
*/
|
|
30
|
+
export declare function countRecordsWithRecordLimitOccupancy(input: Omit<RecordLimitOccupancyQueryInput, 'pagination'>): Promise<number>;
|
|
31
|
+
/**
|
|
32
|
+
* Returns true when the latest RecordsWrite is visible under the `$recordLimit` projection.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isRecordLimitOccupant(input: RecordLimitOccupancyDependencies & {
|
|
35
|
+
tenant: string;
|
|
36
|
+
message: RecordsWriteMessage;
|
|
37
|
+
messageTimestamp: string;
|
|
38
|
+
}): Promise<boolean>;
|
|
39
|
+
export {};
|
|
40
|
+
//# sourceMappingURL=record-limit-occupancy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-limit-occupancy.d.ts","sourceRoot":"","sources":["../../../../src/utils/record-limit-occupancy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAWzE,KAAK,gCAAgC,GAAG;IACtC,YAAY,EAAE,YAAY,CAAC;IAC3B,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C,CAAC;AAEF,KAAK,8BAA8B,GAAG,gCAAgC,GAAG;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAYF;;;;;GAKG;AACH,wBAAsB,oCAAoC,CACxD,KAAK,EAAE,8BAA8B,GACpC,OAAO,CAAC;IAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAmBzE;AAED;;GAEG;AACH,wBAAsB,oCAAoC,CAAC,KAAK,EAAE,IAAI,CAAC,8BAA8B,EAAE,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAWrI;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,gCAAgC,GAAG;IACpF,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,mBAAmB,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC,OAAO,CAAC,CAsBnB"}
|
|
@@ -4,6 +4,7 @@ import type { Filter, KeyValues, StartsWithFilter } from '../types/query-types.j
|
|
|
4
4
|
import type { GenericMessage, GenericSignaturePayload, MessageSort } from '../types/message-types.js';
|
|
5
5
|
import type { RecordsCountMessage, RecordsDeleteMessage, RecordsFilter, RecordsQueryMessage, RecordsReadMessage, RecordsSubscribeMessage, RecordsWriteDescriptor, RecordsWriteMessage, RecordsWriteTags, RecordsWriteTagsFilter } from '../types/records-types.js';
|
|
6
6
|
import { DateSort } from '../types/records-types.js';
|
|
7
|
+
import { DwnErrorCode } from '../core/dwn-error.js';
|
|
7
8
|
import { KeyDerivationScheme } from './hd-key.js';
|
|
8
9
|
/**
|
|
9
10
|
* Class containing useful utilities related to the Records interface.
|
|
@@ -13,6 +14,14 @@ export declare class Records {
|
|
|
13
14
|
* Checks if the given message is a `RecordsWriteMessage`.
|
|
14
15
|
*/
|
|
15
16
|
static isRecordsWrite(message: GenericMessage): message is RecordsWriteMessage;
|
|
17
|
+
/**
|
|
18
|
+
* Gets the newest `RecordsWrite` from the given message set.
|
|
19
|
+
*/
|
|
20
|
+
static getNewestRecordsWrite(messages: GenericMessage[]): Promise<RecordsWriteMessage | undefined>;
|
|
21
|
+
/**
|
|
22
|
+
* Gets the newest `RecordsDelete` from the given message set.
|
|
23
|
+
*/
|
|
24
|
+
static getNewestRecordsDelete(messages: GenericMessage[]): Promise<RecordsDeleteMessage | undefined>;
|
|
16
25
|
/**
|
|
17
26
|
* Decrypts the encrypted data in a message reply.
|
|
18
27
|
*
|
|
@@ -70,6 +79,11 @@ export declare class Records {
|
|
|
70
79
|
* @returns {RecordsFilter} a copy of the incoming RecordsFilter with the normalized properties.
|
|
71
80
|
*/
|
|
72
81
|
static normalizeFilter(filter: RecordsFilter): RecordsFilter;
|
|
82
|
+
/**
|
|
83
|
+
* Nested protocol-path queries must pin one parent context. Otherwise the same
|
|
84
|
+
* protocol type is read across every parent instance.
|
|
85
|
+
*/
|
|
86
|
+
static validateNestedProtocolPathQueryScope(filter: RecordsFilter, errorCode: DwnErrorCode, operationName: string): void;
|
|
73
87
|
static isStartsWithFilter(filter: RecordsWriteTagsFilter): filter is StartsWithFilter;
|
|
74
88
|
/**
|
|
75
89
|
* This will create individual keys for each of the tags that look like `tag.tag_property`
|
|
@@ -117,9 +131,17 @@ export declare class Records {
|
|
|
117
131
|
*/
|
|
118
132
|
static filterIncludesUnpublishedRecords(filter: RecordsFilter): boolean;
|
|
119
133
|
/**
|
|
120
|
-
* Checks
|
|
121
|
-
|
|
122
|
-
|
|
134
|
+
* Checks whether the given `RecordsDelete` is beaten by an existing tombstone for the record,
|
|
135
|
+
* per the tombstone lattice. A tombstone displaces any `RecordsWrite` regardless of timestamp
|
|
136
|
+
* (delete-wins). Among competing tombstones one canonical winner stands on every replica:
|
|
137
|
+
* a prune beats a plain delete regardless of timestamp — the cascade is a side effect, and a
|
|
138
|
+
* plain-newer winner would leave replicas that ran the cascade diverged from those that never
|
|
139
|
+
* would — and within the same class the newest tombstone wins, with `Message.isNewer`'s
|
|
140
|
+
* (messageTimestamp, CID) total order picking the same winner everywhere. Admission and
|
|
141
|
+
* resumable-task replay must share this predicate: state can advance between acceptance and
|
|
142
|
+
* replay, and replay must never admit a delete that admission would now reject.
|
|
143
|
+
*/
|
|
144
|
+
static isDeleteBeatenByExistingTombstone(deleteToBePerformed: RecordsDeleteMessage, newestExistingMessage: GenericMessage): Promise<boolean>;
|
|
123
145
|
/**
|
|
124
146
|
* Checks whether or not the incoming records query filter should build an unpublished recipient MessageStore filter.
|
|
125
147
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../../src/utils/records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnQ,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../../src/utils/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { GenericMessage } from '../types/message-types.js';
|
|
2
|
+
import type { KeyValues } from '../types/query-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Shared helpers for the replication log substrate.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Replication {
|
|
7
|
+
static readonly globalDomain = "";
|
|
8
|
+
static protocolDomain(protocolUri: string): string;
|
|
9
|
+
static permissionDomain(protocolUri: string): string;
|
|
10
|
+
static deriveStreamId(tenant: string): Promise<string>;
|
|
11
|
+
static computeFingerprintScopes(message: GenericMessage, indexes: KeyValues): string[];
|
|
12
|
+
static assertFingerprintScopesUntouched(persistedScopes: string[], message: GenericMessage, messageCid: string, newIndexes: KeyValues): void;
|
|
13
|
+
private static scopeSetsMatch;
|
|
14
|
+
private static throwFingerprintScopeMutation;
|
|
15
|
+
static hashMessageCid(messageCid: string): Promise<Uint8Array>;
|
|
16
|
+
static emptyFingerprint(): Uint8Array;
|
|
17
|
+
static xorFingerprint(fingerprint: Uint8Array, contribution: Uint8Array): Uint8Array;
|
|
18
|
+
static fingerprintToHex(fingerprint: Uint8Array): string;
|
|
19
|
+
static hexToFingerprint(hex: string): Uint8Array;
|
|
20
|
+
static encodePositionKey(position: bigint): string;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=replication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replication.d.ts","sourceRoot":"","sources":["../../../../src/utils/replication.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAWzD;;GAEG;AACH,qBAAa,WAAW;IACtB,gBAAuB,YAAY,MAAM;WAE3B,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAI3C,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;WAIvC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;WAOrD,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,SAAS,GAAG,MAAM,EAAE;WAoB/E,gCAAgC,CAC5C,eAAe,EAAE,MAAM,EAAE,EACzB,OAAO,EAAE,cAAc,EACvB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,SAAS,GACpB,IAAI;IAOP,OAAO,CAAC,MAAM,CAAC,cAAc;IAQ7B,OAAO,CAAC,MAAM,CAAC,6BAA6B;WAOxB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;WAM7D,gBAAgB,IAAI,UAAU;WAI9B,cAAc,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,GAAG,UAAU;WAQ7E,gBAAgB,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM;WAIjD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;WAQzC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;CAW1D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-message-parity.spec.d.ts","sourceRoot":"","sources":["../../../../tests/core/process-message-parity.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replication-replay-property.spec.d.ts","sourceRoot":"","sources":["../../../../tests/core/replication-replay-property.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-read-closure.spec.d.ts","sourceRoot":"","sources":["../../../../tests/core/validation-read-closure.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-state-reader.spec.d.ts","sourceRoot":"","sources":["../../../../tests/core/validation-state-reader.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durable-event-log.spec.d.ts","sourceRoot":"","sources":["../../../tests/durable-event-log.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn.spec.d.ts","sourceRoot":"","sources":["../../../tests/dwn.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dwn.spec.d.ts","sourceRoot":"","sources":["../../../tests/dwn.spec.ts"],"names":[],"mappings":"AAgCA,wBAAgB,YAAY,IAAI,IAAI,CAo3BnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"author-delegated-grant.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/author-delegated-grant.spec.ts"],"names":[],"mappings":"AA2BA,wBAAgB,wBAAwB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"author-delegated-grant.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/author-delegated-grant.spec.ts"],"names":[],"mappings":"AA2BA,wBAAgB,wBAAwB,IAAI,IAAI,CA0iD/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-delegated-grant.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/owner-delegated-grant.spec.ts"],"names":[],"mappings":"AAsBA,wBAAgB,uBAAuB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"owner-delegated-grant.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/owner-delegated-grant.spec.ts"],"names":[],"mappings":"AAsBA,wBAAgB,uBAAuB,IAAI,IAAI,CAkrB9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owner-signature.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/owner-signature.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,kBAAkB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"owner-signature.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/owner-signature.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,kBAAkB,IAAI,IAAI,CA+MzC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/permissions.spec.ts"],"names":[],"mappings":"AAuBA,wBAAgB,eAAe,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"permissions.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/permissions.spec.ts"],"names":[],"mappings":"AAuBA,wBAAgB,eAAe,IAAI,IAAI,CAqoDtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-composition.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-composition.spec.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"protocol-composition.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-composition.spec.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CA6hF9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-create-action.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-create-action.spec.ts"],"names":[],"mappings":"AAoBA,wBAAgB,wBAAwB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"protocol-create-action.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-create-action.spec.ts"],"names":[],"mappings":"AAoBA,wBAAgB,wBAAwB,IAAI,IAAI,CAiR/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-delete-action.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-delete-action.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"protocol-delete-action.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-delete-action.spec.ts"],"names":[],"mappings":"AAwBA,wBAAgB,wBAAwB,IAAI,IAAI,CAujB/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-update-action.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-update-action.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,wBAAwB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"protocol-update-action.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/protocol-update-action.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,wBAAwB,IAAI,IAAI,CAkpB/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-delivery.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-delivery.spec.ts"],"names":[],"mappings":"AAiBA,wBAAgB,mBAAmB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"records-delivery.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-delivery.spec.ts"],"names":[],"mappings":"AAiBA,wBAAgB,mBAAmB,IAAI,IAAI,CAgQ1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-immutable.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-immutable.spec.ts"],"names":[],"mappings":"AAiBA,wBAAgB,oBAAoB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"records-immutable.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-immutable.spec.ts"],"names":[],"mappings":"AAiBA,wBAAgB,oBAAoB,IAAI,IAAI,CAmW3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records-nested-query-scope.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-nested-query-scope.spec.ts"],"names":[],"mappings":"AAkBA,wBAAgB,2BAA2B,IAAI,IAAI,CA4TlD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-prune-cross-protocol.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-prune-cross-protocol.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"records-prune-cross-protocol.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-prune-cross-protocol.spec.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,6BAA6B,IAAI,IAAI,CAqfpD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-prune.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-prune.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"records-prune.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-prune.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,gBAAgB,IAAI,IAAI,CAs5BvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-record-limit.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-record-limit.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"records-record-limit.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-record-limit.spec.ts"],"names":[],"mappings":"AA4BA,wBAAgB,sBAAsB,IAAI,IAAI,CAs3B7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-squash.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-squash.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,iBAAiB,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"records-squash.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-squash.spec.ts"],"names":[],"mappings":"AAqBA,wBAAgB,iBAAiB,IAAI,IAAI,CA8oCxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-tags.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-tags.spec.ts"],"names":[],"mappings":"AAsBA,wBAAgB,eAAe,IAAI,IAAI,
|
|
1
|
+
{"version":3,"file":"records-tags.spec.d.ts","sourceRoot":"","sources":["../../../../tests/features/records-tags.spec.ts"],"names":[],"mappings":"AAsBA,wBAAgB,eAAe,IAAI,IAAI,CAwxFtC"}
|