@enbox/dwn-sdk-js 0.3.9 → 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 +11 -11
- package/dist/browser.mjs.map +4 -4
- package/dist/esm/generated/precompiled-validators.js +783 -1206
- 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 +13 -7
- 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 -61
- 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 +31 -69
- 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 +295 -0
- package/dist/esm/src/core/replication-apply.js.map +1 -0
- 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 +261 -16
- 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 +7 -8
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/interfaces/messages-query.js +49 -0
- 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 +274 -0
- package/dist/esm/tests/core/replication-apply.spec.js.map +1 -0
- 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 +620 -14
- 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 +84 -38
- 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 -4
- 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 +13 -7
- 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 -15
- 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 +129 -0
- package/dist/types/src/core/replication-apply.d.ts.map +1 -0
- 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 +47 -13
- 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 +16 -18
- 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 -55
- 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-apply.spec.d.ts +2 -0
- package/dist/types/tests/core/replication-apply.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 +13 -7
- package/src/core/grant-authorization.ts +11 -20
- package/src/core/message-reply.ts +6 -5
- package/src/core/messages-grant-authorization.ts +37 -100
- package/src/core/protocol-authorization-action.ts +29 -38
- package/src/core/protocol-authorization-validation.ts +41 -98
- 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 +412 -0
- package/src/core/resumable-task-manager.ts +10 -8
- package/src/core/validation-state-reader.ts +350 -0
- package/src/dwn.ts +417 -30
- 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 +16 -20
- 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 -65
- 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 -581
- package/dist/esm/src/handlers/messages-sync.js.map +0 -1
- package/dist/esm/src/interfaces/messages-sync.js +0 -54
- 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/sync/records-projection.js +0 -228
- package/dist/esm/src/sync/records-projection.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 -1771
- 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/esm/tests/sync/records-projection.spec.js +0 -245
- package/dist/esm/tests/sync/records-projection.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 -83
- package/dist/types/src/handlers/messages-sync.d.ts.map +0 -1
- package/dist/types/src/interfaces/messages-sync.d.ts +0 -23
- 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/sync/records-projection.d.ts +0 -98
- package/dist/types/src/sync/records-projection.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/dist/types/tests/sync/records-projection.spec.d.ts +0 -2
- package/dist/types/tests/sync/records-projection.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 -896
- package/src/interfaces/messages-sync.ts +0 -86
- 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/sync/records-projection.ts +0 -328
- package/src/types/smt-types.ts +0 -95
- package/src/types/state-index.ts +0 -100
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { MessageStore } from '../types/message-store.js';
|
|
2
1
|
import type { PermissionGrant } from '../protocols/permission-grant.js';
|
|
2
|
+
import type { ValidationStateReader } from '../types/validation-state-reader.js';
|
|
3
3
|
import type { RecordsCountMessage, RecordsDeleteMessage, RecordsQueryMessage, RecordsReadMessage, RecordsSubscribeMessage, RecordsWriteMessage } from '../types/records-types.js';
|
|
4
4
|
export declare class RecordsGrantAuthorization {
|
|
5
5
|
/**
|
|
@@ -10,11 +10,11 @@ export declare class RecordsGrantAuthorization {
|
|
|
10
10
|
expectedGrantor: string;
|
|
11
11
|
expectedGrantee: string;
|
|
12
12
|
permissionGrant: PermissionGrant;
|
|
13
|
-
|
|
13
|
+
validationStateReader: ValidationStateReader;
|
|
14
14
|
}): Promise<void>;
|
|
15
15
|
/**
|
|
16
16
|
* Authorizes a RecordsReadMessage using the given permission grant.
|
|
17
|
-
* @param
|
|
17
|
+
* @param validationStateReader Used to check if the given grant has been revoked.
|
|
18
18
|
*/
|
|
19
19
|
static authorizeRead(input: {
|
|
20
20
|
recordsReadMessage: RecordsReadMessage;
|
|
@@ -22,22 +22,22 @@ export declare class RecordsGrantAuthorization {
|
|
|
22
22
|
expectedGrantor: string;
|
|
23
23
|
expectedGrantee: string;
|
|
24
24
|
permissionGrant: PermissionGrant;
|
|
25
|
-
|
|
25
|
+
validationStateReader: ValidationStateReader;
|
|
26
26
|
}): Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* Authorizes the scope of a permission grant for RecordsQuery or RecordsSubscribe.
|
|
29
|
-
* @param
|
|
29
|
+
* @param validationStateReader Used to check if the grant has been revoked.
|
|
30
30
|
*/
|
|
31
31
|
static authorizeQueryOrSubscribe(input: {
|
|
32
32
|
incomingMessage: RecordsCountMessage | RecordsQueryMessage | RecordsSubscribeMessage;
|
|
33
33
|
expectedGrantor: string;
|
|
34
34
|
expectedGrantee: string;
|
|
35
35
|
permissionGrant: PermissionGrant;
|
|
36
|
-
|
|
36
|
+
validationStateReader: ValidationStateReader;
|
|
37
37
|
}): Promise<void>;
|
|
38
38
|
/**
|
|
39
39
|
* Authorizes the scope of a permission grant for RecordsDelete.
|
|
40
|
-
* @param
|
|
40
|
+
* @param validationStateReader Used to check if the grant has been revoked.
|
|
41
41
|
*/
|
|
42
42
|
static authorizeDelete(input: {
|
|
43
43
|
recordsDeleteMessage: RecordsDeleteMessage;
|
|
@@ -45,7 +45,7 @@ export declare class RecordsGrantAuthorization {
|
|
|
45
45
|
expectedGrantor: string;
|
|
46
46
|
expectedGrantee: string;
|
|
47
47
|
permissionGrant: PermissionGrant;
|
|
48
|
-
|
|
48
|
+
validationStateReader: ValidationStateReader;
|
|
49
49
|
}): Promise<void>;
|
|
50
50
|
/**
|
|
51
51
|
* Verifies a record against the scope of the given grant.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"records-grant-authorization.d.ts","sourceRoot":"","sources":["../../../../src/core/records-grant-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"records-grant-authorization.d.ts","sourceRoot":"","sources":["../../../../src/core/records-grant-authorization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAExE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAOlL,qBAAa,yBAAyB;IACpC;;OAEG;WACiB,cAAc,CAAC,KAAK,EAAE;QACxC,mBAAmB,EAAE,mBAAmB,CAAC;QACzC,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,eAAe,CAAC;QACjC,qBAAqB,EAAE,qBAAqB,CAAC;KAC9C,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBjB;;;OAGG;WACiB,aAAa,CAAC,KAAK,EAAE;QACvC,kBAAkB,EAAE,kBAAkB,CAAC;QACvC,2BAA2B,EAAE,mBAAmB,CAAC;QACjD,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,eAAe,CAAC;QACjC,qBAAqB,EAAE,qBAAqB,CAAC;KAC9C,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjB;;;OAGG;WACiB,yBAAyB,CAAC,KAAK,EAAE;QACnD,eAAe,EAAE,mBAAmB,GAAG,mBAAmB,GAAG,uBAAuB,CAAC;QACrF,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,eAAe,CAAC;QACjC,qBAAqB,EAAE,qBAAqB,CAAC;KAC9C,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjB;;;OAGG;WACiB,eAAe,CAAC,KAAK,EAAE;QACzC,oBAAoB,EAAE,oBAAoB,CAAC;QAC3C,oBAAoB,EAAE,mBAAmB,CAAC;QAC1C,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,eAAe,CAAC;QACjC,qBAAqB,EAAE,qBAAqB,CAAC;KAC9C,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAoB1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAoBhC,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAQrC,OAAO,CAAC,MAAM,CAAC,oCAAoC;IA0BnD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAkBhC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import type { GenericMessage } from '../types/message-types.js';
|
|
2
|
+
import type { ProgressToken } from '../types/subscriptions.js';
|
|
3
|
+
import type { ProtocolDefinition } from '../types/protocols-types.js';
|
|
4
|
+
import type { ValidationStateReader } from '../types/validation-state-reader.js';
|
|
5
|
+
export type ReplicationApplyOptions = {
|
|
6
|
+
dataStream?: ReadableStream<Uint8Array>;
|
|
7
|
+
};
|
|
8
|
+
export type ReplicationApplyResult = {
|
|
9
|
+
kind: 'Applied';
|
|
10
|
+
/** True when the local store retained dependency ancestry but did not advance latest state. */
|
|
11
|
+
ancestryOnly?: true;
|
|
12
|
+
/** Local admission position, when the receiving store has a durable replication log. */
|
|
13
|
+
position?: ProgressToken;
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'Duplicate';
|
|
16
|
+
} | {
|
|
17
|
+
kind: 'Superseded';
|
|
18
|
+
} | {
|
|
19
|
+
kind: 'Incomplete';
|
|
20
|
+
missing: DependencyRef[];
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'Invalid';
|
|
23
|
+
reason: string;
|
|
24
|
+
} | {
|
|
25
|
+
kind: 'Deferred';
|
|
26
|
+
reason: 'tenant-inactive' | 'resolver-unavailable' | 'storage';
|
|
27
|
+
};
|
|
28
|
+
export type ReplicationApplyResultContext = {
|
|
29
|
+
protocolDefinition?: ProtocolDefinition;
|
|
30
|
+
/**
|
|
31
|
+
* Complete set of locally-missing ancestor recordIds for a missing-ancestor failure
|
|
32
|
+
* (immediate parent or record-chain construction), ordered root-first with the failure-named
|
|
33
|
+
* ancestor last, as computed by `missingAncestorRecordIdsFromReply()`. When present, the
|
|
34
|
+
* resulting `Incomplete` carries one ref per entry so the entire ancestry resolves in a
|
|
35
|
+
* single fetch pass instead of one ancestry level per retry.
|
|
36
|
+
*/
|
|
37
|
+
missingAncestorRecordIds?: string[];
|
|
38
|
+
};
|
|
39
|
+
export type DependencyRef = {
|
|
40
|
+
type: 'Protocol';
|
|
41
|
+
protocol: string;
|
|
42
|
+
messageCid?: string;
|
|
43
|
+
terminal?: boolean;
|
|
44
|
+
} | {
|
|
45
|
+
type: 'InitialWrite';
|
|
46
|
+
recordId: string;
|
|
47
|
+
protocol?: string;
|
|
48
|
+
messageCid?: string;
|
|
49
|
+
terminal?: boolean;
|
|
50
|
+
} | {
|
|
51
|
+
type: 'Parent';
|
|
52
|
+
recordId: string;
|
|
53
|
+
protocol: string;
|
|
54
|
+
messageCid?: string;
|
|
55
|
+
terminal?: boolean;
|
|
56
|
+
} | {
|
|
57
|
+
type: 'Ancestor';
|
|
58
|
+
recordId: string;
|
|
59
|
+
protocol?: string;
|
|
60
|
+
messageCid?: string;
|
|
61
|
+
terminal?: boolean;
|
|
62
|
+
} | {
|
|
63
|
+
type: 'Role';
|
|
64
|
+
protocol: string;
|
|
65
|
+
protocolPath: string;
|
|
66
|
+
recipient: string;
|
|
67
|
+
contextPrefix?: string;
|
|
68
|
+
messageCid?: string;
|
|
69
|
+
terminal?: boolean;
|
|
70
|
+
} | {
|
|
71
|
+
type: 'Grant';
|
|
72
|
+
permissionGrantId: string;
|
|
73
|
+
messageCid?: string;
|
|
74
|
+
terminal?: boolean;
|
|
75
|
+
} | {
|
|
76
|
+
type: 'KeyDelivery';
|
|
77
|
+
protocol: string;
|
|
78
|
+
contextId: string;
|
|
79
|
+
messageCid?: string;
|
|
80
|
+
terminal?: boolean;
|
|
81
|
+
} | {
|
|
82
|
+
type: 'CrossProtocolRef';
|
|
83
|
+
protocol: string;
|
|
84
|
+
recordId: string;
|
|
85
|
+
messageCid?: string;
|
|
86
|
+
terminal?: boolean;
|
|
87
|
+
} | {
|
|
88
|
+
type: 'RecordData';
|
|
89
|
+
recordId: string;
|
|
90
|
+
dataCid: string;
|
|
91
|
+
protocol?: string;
|
|
92
|
+
messageCid?: string;
|
|
93
|
+
terminal?: boolean;
|
|
94
|
+
};
|
|
95
|
+
/**
|
|
96
|
+
* Converts a regular handler reply into the structured result consumed by
|
|
97
|
+
* replication sync. The DWN handler remains the dependency authority; this
|
|
98
|
+
* adapter only gives the sync transport a typed way to distinguish missing
|
|
99
|
+
* dependencies from terminal invalid messages.
|
|
100
|
+
*/
|
|
101
|
+
export declare function replicationApplyResultFromReply(message: GenericMessage, reply: {
|
|
102
|
+
status: {
|
|
103
|
+
code: number;
|
|
104
|
+
detail?: string;
|
|
105
|
+
};
|
|
106
|
+
position?: ProgressToken;
|
|
107
|
+
}, context?: ReplicationApplyResultContext): ReplicationApplyResult;
|
|
108
|
+
/**
|
|
109
|
+
* Computes the complete set of locally-missing ancestor recordIds for a replicated message that
|
|
110
|
+
* failed on a missing ancestor — either the immediate parent referential check
|
|
111
|
+
* (`ProtocolAuthorizationParentRecordNotFound`) or record-chain construction
|
|
112
|
+
* (`ProtocolAuthorizationParentNotFoundConstructingRecordChain`).
|
|
113
|
+
*
|
|
114
|
+
* Both failures name a single ancestor, but the message's `contextId` names the full ancestor
|
|
115
|
+
* recordId chain, so every segment the failed check could not reach is presence-checked here and
|
|
116
|
+
* all absent segments are returned in one batch (ordered root-first, named ancestor last).
|
|
117
|
+
* Feeding the result to `replicationApplyResultFromReply()` via `ReplicationApplyResultContext`
|
|
118
|
+
* lets sync fetch the entire ancestry in a single pass instead of one level per retry.
|
|
119
|
+
*
|
|
120
|
+
* @returns the missing ancestor recordIds, or `undefined` when the reply is not a
|
|
121
|
+
* missing-ancestor failure or the chain cannot be determined from the message (callers
|
|
122
|
+
* then fall back to emitting the single ancestor named by the failure).
|
|
123
|
+
*/
|
|
124
|
+
export declare function missingAncestorRecordIdsFromReply(tenant: string, message: GenericMessage, reply: {
|
|
125
|
+
status: {
|
|
126
|
+
detail?: string;
|
|
127
|
+
};
|
|
128
|
+
}, validationStateReader: ValidationStateReader): Promise<string[] | undefined>;
|
|
129
|
+
//# sourceMappingURL=replication-apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replication-apply.d.ts","sourceRoot":"","sources":["../../../../src/core/replication-apply.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export declare class ResumableTaskManager {
|
|
|
20
20
|
/**
|
|
21
21
|
* Runs a new resumable task.
|
|
22
22
|
*/
|
|
23
|
-
run(task: ResumableTask): Promise<
|
|
23
|
+
run<T = unknown>(task: ResumableTask): Promise<T>;
|
|
24
24
|
/**
|
|
25
25
|
* Runs a resumable task with automatic timeout extension.
|
|
26
26
|
* Deletes the task from the resumable task store once it is completed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resumable-task-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/resumable-task-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAwB,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEjG,oBAAY,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"resumable-task-manager.d.ts","sourceRoot":"","sources":["../../../../src/core/resumable-task-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,KAAK,EAAwB,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEjG,oBAAY,iBAAiB;IAC3B,aAAa,kBAAkB;IAC/B,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,iBAAiB,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC;CACX,CAAC;AAIF,qBAAa,oBAAoB;IAUZ,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IARtD;;OAEG;IACH,gBAAuB,kCAAkC,MAAM;IAE/D,OAAO,CAAC,sBAAsB,CAAO;IACrC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyC;gBAE3C,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB;IAUhH;;OAEG;IACU,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC;IAQ9D;;;OAGG;YACW,gCAAgC;IAmB9C;;;;OAIG;WACW,0BAA0B,CAAC,KAAK,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI;IAIrF;;OAEG;IACU,+BAA+B,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7D;;;OAGG;YACW,yBAAyB;CAkBxC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { CoreProtocolRegistry } from './core-protocol.js';
|
|
2
|
+
import type { DataStore } from '../types/data-store.js';
|
|
3
|
+
import type { GenericMessage } from '../types/message-types.js';
|
|
4
|
+
import type { MessageStore } from '../types/message-store.js';
|
|
5
|
+
import type { ValidationStateReader } from '../types/validation-state-reader.js';
|
|
6
|
+
import type { RecordsWriteMessage } from '../types/records-types.js';
|
|
7
|
+
import type { ProtocolDefinition } from '../types/protocols-types.js';
|
|
8
|
+
import { PermissionGrant } from '../protocols/permission-grant.js';
|
|
9
|
+
import { RecordsWrite } from '../interfaces/records-write.js';
|
|
10
|
+
/**
|
|
11
|
+
* The store-backed `ValidationStateReader` — the single place where validation-time state reads
|
|
12
|
+
* touch the `MessageStore`/`DataStore`.
|
|
13
|
+
*/
|
|
14
|
+
export declare class StoreValidationStateReader implements ValidationStateReader {
|
|
15
|
+
private readonly messageStore;
|
|
16
|
+
private readonly dataStore;
|
|
17
|
+
private readonly coreProtocols?;
|
|
18
|
+
constructor(input: {
|
|
19
|
+
messageStore: MessageStore;
|
|
20
|
+
dataStore: DataStore;
|
|
21
|
+
coreProtocols?: CoreProtocolRegistry;
|
|
22
|
+
});
|
|
23
|
+
/** @inheritdoc */
|
|
24
|
+
fetchInitialRecordsWrite(tenant: string, recordId: string): Promise<RecordsWrite | undefined>;
|
|
25
|
+
/** @inheritdoc */
|
|
26
|
+
fetchInitialWrite(tenant: string, recordId: string): Promise<RecordsWriteMessage | undefined>;
|
|
27
|
+
/** @inheritdoc */
|
|
28
|
+
constructRecordChain(tenant: string, descendantRecordId: string | undefined): Promise<RecordsWriteMessage[]>;
|
|
29
|
+
/** @inheritdoc */
|
|
30
|
+
fetchParentRecord(input: {
|
|
31
|
+
tenant: string;
|
|
32
|
+
parentProtocolUri: string;
|
|
33
|
+
parentId: string;
|
|
34
|
+
}): Promise<RecordsWriteMessage | undefined>;
|
|
35
|
+
/** @inheritdoc */
|
|
36
|
+
hasMatchingRoleRecord(input: {
|
|
37
|
+
tenant: string;
|
|
38
|
+
protocol: string;
|
|
39
|
+
protocolPath: string;
|
|
40
|
+
recipient: string;
|
|
41
|
+
contextIdPrefix?: string;
|
|
42
|
+
}): Promise<boolean>;
|
|
43
|
+
/** @inheritdoc */
|
|
44
|
+
queryLatestRoleRecords(input: {
|
|
45
|
+
tenant: string;
|
|
46
|
+
protocol: string;
|
|
47
|
+
protocolPath: string;
|
|
48
|
+
recipient: string;
|
|
49
|
+
contextIdPrefix?: string;
|
|
50
|
+
}): Promise<RecordsWriteMessage[]>;
|
|
51
|
+
/** @inheritdoc */
|
|
52
|
+
fetchGrant(tenant: string, permissionGrantId: string): Promise<PermissionGrant>;
|
|
53
|
+
/** @inheritdoc */
|
|
54
|
+
fetchOldestGrantRevocation(tenant: string, permissionGrantId: string): Promise<GenericMessage | undefined>;
|
|
55
|
+
/** @inheritdoc */
|
|
56
|
+
fetchNewestRecordsWrite(tenant: string, recordId: string): Promise<RecordsWriteMessage>;
|
|
57
|
+
/** @inheritdoc */
|
|
58
|
+
fetchProtocolDefinition(tenant: string, protocolUri: string, messageTimestamp?: string): Promise<ProtocolDefinition>;
|
|
59
|
+
/** @inheritdoc */
|
|
60
|
+
fetchLatestSquashRecordAtScope(input: {
|
|
61
|
+
tenant: string;
|
|
62
|
+
protocol: string;
|
|
63
|
+
protocolPath: string;
|
|
64
|
+
contextIdPrefix?: string;
|
|
65
|
+
}): Promise<RecordsWriteMessage | undefined>;
|
|
66
|
+
/** @inheritdoc */
|
|
67
|
+
hasStoredData(tenant: string, recordId: string, dataCid: string): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Checks whether a `RecordsDelete` tombstone for the given record is locally present.
|
|
70
|
+
* Retained initial writes can prove immutable parent/role facts, but a tombstone still wins.
|
|
71
|
+
*/
|
|
72
|
+
private recordHasLocalTombstone;
|
|
73
|
+
/**
|
|
74
|
+
* Constructs the role-record selector filter shared by the invoked-role lookup and the
|
|
75
|
+
* duplicate-role-recipient uniqueness check.
|
|
76
|
+
*/
|
|
77
|
+
private static constructRoleRecordFilter;
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=validation-state-reader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-state-reader.d.ts","sourceRoot":"","sources":["../../../../src/core/validation-state-reader.ts"],"names":[],"mappings":"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"}
|
package/dist/types/src/dwn.d.ts
CHANGED
|
@@ -2,27 +2,33 @@ import type { DataStore } from './types/data-store.js';
|
|
|
2
2
|
import type { DidResolver } from '@enbox/dids';
|
|
3
3
|
import type { MessageStore } from './types/message-store.js';
|
|
4
4
|
import type { ResumableTaskStore } from './types/resumable-task-store.js';
|
|
5
|
-
import type { StateIndex } from './types/state-index.js';
|
|
6
5
|
import type { TenantGate } from './core/tenant-gate.js';
|
|
7
6
|
import type { UnionMessageReply } from './core/message-reply.js';
|
|
7
|
+
import type { ValidationStateReader } from './types/validation-state-reader.js';
|
|
8
8
|
import type { EventLog, SubscriptionListener } from './types/subscriptions.js';
|
|
9
|
-
import type { GenericMessageReply } from './types/message-types.js';
|
|
10
|
-
import type { MessagesReadMessage, MessagesReadReply, MessagesSubscribeMessage, MessagesSubscribeMessageOptions, MessagesSubscribeReply
|
|
9
|
+
import type { GenericMessage, GenericMessageReply } from './types/message-types.js';
|
|
10
|
+
import type { MessagesQueryMessage, MessagesQueryReply, MessagesReadMessage, MessagesReadReply, MessagesSubscribeMessage, MessagesSubscribeMessageOptions, MessagesSubscribeReply } from './types/messages-types.js';
|
|
11
11
|
import type { ProtocolsConfigureMessage, ProtocolsQueryMessage, ProtocolsQueryReply } from './types/protocols-types.js';
|
|
12
12
|
import type { RecordsCountMessage, RecordsCountReply, RecordsDeleteMessage, RecordsQueryMessage, RecordsQueryReply, RecordsReadMessage, RecordsReadReply, RecordsSubscribeMessage, RecordsSubscribeMessageOptions, RecordsSubscribeReply, RecordsWriteMessage, RecordsWriteMessageOptions } from './types/records-types.js';
|
|
13
|
+
import type { ReplicationApplyOptions, ReplicationApplyResult } from './core/replication-apply.js';
|
|
13
14
|
import { CoreProtocolRegistry } from './core/core-protocol.js';
|
|
15
|
+
type DwnStorage = {
|
|
16
|
+
dataStore: DataStore;
|
|
17
|
+
messageStore: MessageStore;
|
|
18
|
+
eventLog: EventLog | undefined;
|
|
19
|
+
};
|
|
14
20
|
export declare class Dwn {
|
|
15
21
|
private readonly methodHandlers;
|
|
16
22
|
private readonly didResolver;
|
|
17
23
|
private readonly messageStore;
|
|
18
24
|
private readonly dataStore;
|
|
19
25
|
private readonly resumableTaskStore;
|
|
20
|
-
private readonly stateIndex;
|
|
21
26
|
private readonly tenantGate;
|
|
22
27
|
private readonly eventLog?;
|
|
23
28
|
private readonly storageController;
|
|
24
29
|
private readonly resumableTaskManager;
|
|
25
30
|
private readonly _coreProtocols;
|
|
31
|
+
private readonly validationStateReader;
|
|
26
32
|
/** Whether the DWN owns the resolver's lifecycle (i.e., created it via defaults). */
|
|
27
33
|
private readonly ownsResolver;
|
|
28
34
|
private constructor();
|
|
@@ -43,23 +49,18 @@ export declare class Dwn {
|
|
|
43
49
|
get coreProtocols(): CoreProtocolRegistry;
|
|
44
50
|
/**
|
|
45
51
|
* Returns the internal storage components for advanced operations that
|
|
46
|
-
* cannot be expressed through the standard `processMessage()` pipeline
|
|
47
|
-
* (e.g., owner-upgrade of externally authored encrypted records).
|
|
52
|
+
* cannot be expressed through the standard `processMessage()` pipeline.
|
|
48
53
|
*
|
|
49
54
|
* Callers are responsible for maintaining consistency across stores.
|
|
50
55
|
*/
|
|
51
|
-
get storage():
|
|
52
|
-
messageStore: MessageStore;
|
|
53
|
-
stateIndex: StateIndex;
|
|
54
|
-
eventLog: EventLog | undefined;
|
|
55
|
-
};
|
|
56
|
+
get storage(): DwnStorage;
|
|
56
57
|
/**
|
|
57
58
|
* Processes the given DWN message and returns with a reply.
|
|
58
59
|
* @param tenant The tenant DID to route the given message to.
|
|
59
60
|
*/
|
|
60
61
|
processMessage(tenant: string, rawMessage: MessagesSubscribeMessage, options?: MessagesSubscribeMessageOptions): Promise<MessagesSubscribeReply>;
|
|
61
62
|
processMessage(tenant: string, rawMessage: MessagesReadMessage): Promise<MessagesReadReply>;
|
|
62
|
-
processMessage(tenant: string, rawMessage:
|
|
63
|
+
processMessage(tenant: string, rawMessage: MessagesQueryMessage): Promise<MessagesQueryReply>;
|
|
63
64
|
processMessage(tenant: string, rawMessage: ProtocolsConfigureMessage): Promise<GenericMessageReply>;
|
|
64
65
|
processMessage(tenant: string, rawMessage: ProtocolsQueryMessage): Promise<ProtocolsQueryReply>;
|
|
65
66
|
processMessage(tenant: string, rawMessage: RecordsCountMessage): Promise<RecordsCountReply>;
|
|
@@ -69,6 +70,33 @@ export declare class Dwn {
|
|
|
69
70
|
processMessage(tenant: string, rawMessage: RecordsReadMessage): Promise<RecordsReadReply>;
|
|
70
71
|
processMessage(tenant: string, rawMessage: RecordsWriteMessage, options?: RecordsWriteMessageOptions): Promise<GenericMessageReply>;
|
|
71
72
|
processMessage(tenant: string, rawMessage: unknown, options?: MessageOptions): Promise<UnionMessageReply>;
|
|
73
|
+
/**
|
|
74
|
+
* Applies a message obtained through replication and returns a structured
|
|
75
|
+
* outcome instead of an HTTP-like handler status. Normal authoring still
|
|
76
|
+
* uses `processMessage`; sync uses this entry point so missing local
|
|
77
|
+
* dependencies can be fetched and retried without treating the replicated
|
|
78
|
+
* message as permanently invalid.
|
|
79
|
+
*/
|
|
80
|
+
applyReplicatedMessage(tenant: string, rawMessage: GenericMessage, options?: ReplicationApplyOptions): Promise<ReplicationApplyResult>;
|
|
81
|
+
/**
|
|
82
|
+
* Computes the layer-batched missing-ancestor set for a replicated message that failed on a
|
|
83
|
+
* missing ancestor (immediate parent or record-chain construction), so the resulting
|
|
84
|
+
* `Incomplete` names every locally-absent ancestor at once. Returns `undefined`
|
|
85
|
+
* (single-ancestor emission) when the set cannot be computed.
|
|
86
|
+
*/
|
|
87
|
+
private getReplicationApplyMissingAncestors;
|
|
88
|
+
private storeReplicatedWriteBeatenByDelete;
|
|
89
|
+
private validateReplicatedWriteBeatenByDelete;
|
|
90
|
+
private validateReplicatedWriteBeatenByDeleteOrThrow;
|
|
91
|
+
private static validateReplicatedWriteBeatenByDeleteDataStream;
|
|
92
|
+
private validateReplicatedWriteBeatenByDeleteExistingData;
|
|
93
|
+
private static getDataStreamByteLength;
|
|
94
|
+
private getReplicationApplyProtocolDefinition;
|
|
95
|
+
private static getReplicationApplyProtocolDefinitionLookup;
|
|
96
|
+
private static getMessageProtocolForReplicationApply;
|
|
97
|
+
private static isRecordsWriteMessage;
|
|
98
|
+
private replicatedMessageAlreadyStored;
|
|
99
|
+
private getExistingMessagesForReplicationDedup;
|
|
72
100
|
/**
|
|
73
101
|
* Checks tenant gate to see if tenant is allowed.
|
|
74
102
|
* @param tenant The tenant DID to route the given message to.
|
|
@@ -110,9 +138,15 @@ export type DwnConfig = {
|
|
|
110
138
|
* Optional — if not provided, subscriptions will not be supported.
|
|
111
139
|
*/
|
|
112
140
|
eventLog?: EventLog;
|
|
141
|
+
/**
|
|
142
|
+
* Instrumentation seam: wraps the internally constructed `ValidationStateReader` before it is
|
|
143
|
+
* handed to the handlers (e.g. with a `RecordingValidationStateReader`). Used by the
|
|
144
|
+
* replay-basis closure tests and harnesses to record every validation-time state read.
|
|
145
|
+
*/
|
|
146
|
+
instrumentValidationStateReader?: (validationStateReader: ValidationStateReader) => ValidationStateReader;
|
|
113
147
|
messageStore: MessageStore;
|
|
114
148
|
dataStore: DataStore;
|
|
115
|
-
stateIndex: StateIndex;
|
|
116
149
|
resumableTaskStore: ResumableTaskStore;
|
|
117
150
|
};
|
|
151
|
+
export {};
|
|
118
152
|
//# sourceMappingURL=dwn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn.d.ts","sourceRoot":"","sources":["../../../src/dwn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dwn.d.ts","sourceRoot":"","sources":["../../../src/dwn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dwn-interface-method.d.ts","sourceRoot":"","sources":["../../../../src/enums/dwn-interface-method.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,
|
|
1
|
+
{"version":3,"file":"dwn-interface-method.d.ts","sourceRoot":"","sources":["../../../../src/enums/dwn-interface-method.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB;IAC1B,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,SAAS,cAAc;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,KAAK,UAAU;CAChB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import type { MessageStore } from '../types/message-store.js';
|
|
2
|
+
import type { EventLog, EventLogReadOptions, EventLogReadResult, EventLogSubscribeOptions, EventSubscription, ProgressToken, ReplicationFeedReader, SubscriptionListener, WakeSubscriber } from '../types/subscriptions.js';
|
|
3
|
+
export type DurableEventLogStore = ReplicationFeedReader & Pick<MessageStore, 'query'>;
|
|
4
|
+
export type DurableEventLogConfig = {
|
|
5
|
+
/**
|
|
6
|
+
* Maximum number of log rows read per drain step.
|
|
7
|
+
* Defaults to 100.
|
|
8
|
+
*/
|
|
9
|
+
readLimit?: number;
|
|
10
|
+
/**
|
|
11
|
+
* Interval for idle re-drain. This bounds dropped-wake latency.
|
|
12
|
+
* Set to 0 to disable the interval.
|
|
13
|
+
*/
|
|
14
|
+
idleRedrainIntervalMs?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Optional handler for background subscription-drain errors.
|
|
17
|
+
*/
|
|
18
|
+
errorHandler?: (error: unknown) => void;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* EventLog implementation backed by the durable replication feed.
|
|
22
|
+
*
|
|
23
|
+
* Writes are store-owned: MessageStore commits publish wakes after the row is
|
|
24
|
+
* durable.
|
|
25
|
+
*/
|
|
26
|
+
export declare class DurableEventLog implements EventLog {
|
|
27
|
+
private readonly store;
|
|
28
|
+
private readonly wakeSubscriber;
|
|
29
|
+
private readonly subscriptions;
|
|
30
|
+
private readonly readLimit;
|
|
31
|
+
private readonly idleRedrainIntervalMs;
|
|
32
|
+
private readonly errorHandler;
|
|
33
|
+
private unsubscribeWake?;
|
|
34
|
+
private idleRedrainTimer?;
|
|
35
|
+
private isOpen;
|
|
36
|
+
constructor(store: DurableEventLogStore, wakeSubscriber: WakeSubscriber, config?: DurableEventLogConfig);
|
|
37
|
+
open(): Promise<void>;
|
|
38
|
+
close(): Promise<void>;
|
|
39
|
+
read(tenant: string, options?: EventLogReadOptions): Promise<EventLogReadResult>;
|
|
40
|
+
subscribe(tenant: string, id: string, listener: SubscriptionListener, options?: EventLogSubscribeOptions): Promise<EventSubscription>;
|
|
41
|
+
getReplayBounds(tenant: string): Promise<{
|
|
42
|
+
oldest: ProgressToken;
|
|
43
|
+
latest: ProgressToken;
|
|
44
|
+
} | undefined>;
|
|
45
|
+
private getInitialCursor;
|
|
46
|
+
private handleWake;
|
|
47
|
+
private redrainAll;
|
|
48
|
+
private scheduleDrain;
|
|
49
|
+
private handleDrainError;
|
|
50
|
+
private catchUpSubscription;
|
|
51
|
+
private getCatchUpHighWater;
|
|
52
|
+
private deliverCatchUpPage;
|
|
53
|
+
private drainSubscription;
|
|
54
|
+
private drainOnce;
|
|
55
|
+
private deliverEntry;
|
|
56
|
+
private attachInitialWrites;
|
|
57
|
+
private attachInitialWrite;
|
|
58
|
+
private static needsInitialWrite;
|
|
59
|
+
private static getRecordId;
|
|
60
|
+
private buildToken;
|
|
61
|
+
private static getEntryPosition;
|
|
62
|
+
private static getProgressGapInfo;
|
|
63
|
+
private static isCatchUpComplete;
|
|
64
|
+
private static finishCatchUp;
|
|
65
|
+
private static isLatestBaseState;
|
|
66
|
+
private static getProtocol;
|
|
67
|
+
private static detachEntryEncodedData;
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=durable-event-log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durable-event-log.d.ts","sourceRoot":"","sources":["../../../../src/event-stream/durable-event-log.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EACV,QAAQ,EAER,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EAGjB,aAAa,EACb,qBAAqB,EAErB,oBAAoB,EAEpB,cAAc,EACf,MAAM,2BAA2B,CAAC;AASnC,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;AAEvF,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC,CAAC;AAsBF;;;;;GAKG;AACH,qBAAa,eAAgB,YAAW,QAAQ;IAU5C,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAVjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA+C;IAC7E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IACxD,OAAO,CAAC,eAAe,CAAC,CAAa;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAiC;IAC1D,OAAO,CAAC,MAAM,CAAkB;gBAGb,KAAK,EAAE,oBAAoB,EAC3B,cAAc,EAAE,cAAc,EAC/C,MAAM,GAAE,qBAA0B;IAOvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAQpF,SAAS,CACpB,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,iBAAiB,CAAC;IAwChB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,MAAM,EAAE,aAAa,CAAA;KAAE,GAAG,SAAS,CAAC;YAIrG,gBAAgB;IAS9B,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,gBAAgB;YA6BV,mBAAmB;YA+BnB,mBAAmB;YAQnB,kBAAkB;YAyBlB,iBAAiB;YAiBjB,SAAS;YAgCT,YAAY;YA4BZ,mBAAmB;YAYnB,kBAAkB;mBAoBX,iBAAiB;IAStC,OAAO,CAAC,MAAM,CAAC,WAAW;YAUZ,UAAU;IAcxB,OAAO,CAAC,MAAM,CAAC,gBAAgB;IAI/B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IASjC,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAShC,OAAO,CAAC,MAAM,CAAC,aAAa;IAI5B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,WAAW;IAK1B,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAatC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Wake, WakePublisher } from '../types/subscriptions.js';
|
|
2
|
+
export type WakeListener = (wake: Wake) => void;
|
|
3
|
+
/**
|
|
4
|
+
* In-process {@link WakePublisher}. Publication is best-effort: listener
|
|
5
|
+
* failures must not affect the write path that already committed the row.
|
|
6
|
+
*/
|
|
7
|
+
export declare class EventEmitterWakePublisher implements WakePublisher {
|
|
8
|
+
private readonly emitter;
|
|
9
|
+
publish(wake: Wake): void;
|
|
10
|
+
subscribe(listener: WakeListener): () => void;
|
|
11
|
+
clear(): void;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=event-emitter-wake-publisher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-emitter-wake-publisher.d.ts","sourceRoot":"","sources":["../../../../src/event-stream/event-emitter-wake-publisher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAQrE,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;AAEhD;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,aAAa;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAEvC,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAQzB,SAAS,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,IAAI;IAK7C,KAAK,IAAI,IAAI;CAGrB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { HandlerDependencies, MethodHandler } from '../types/method-handler.js';
|
|
2
|
+
import type { MessagesQueryMessage, MessagesQueryReply } from '../types/messages-types.js';
|
|
3
|
+
export declare class MessagesQueryHandler implements MethodHandler {
|
|
4
|
+
private readonly deps;
|
|
5
|
+
constructor(deps: HandlerDependencies);
|
|
6
|
+
handle({ tenant, message }: {
|
|
7
|
+
tenant: string;
|
|
8
|
+
message: MessagesQueryMessage;
|
|
9
|
+
}): Promise<MessagesQueryReply>;
|
|
10
|
+
private authorizeMessagesQuery;
|
|
11
|
+
private static asReplicationFeedReader;
|
|
12
|
+
private static convertFilters;
|
|
13
|
+
private static buildEntries;
|
|
14
|
+
private static buildEntry;
|
|
15
|
+
private static getStringIndex;
|
|
16
|
+
private static isLatestBaseState;
|
|
17
|
+
private static computeFingerprintScopes;
|
|
18
|
+
private static getProgressGapInfo;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=messages-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"messages-query.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-query.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAkB,oBAAoB,EAAE,kBAAkB,EAA2B,MAAM,4BAA4B,CAAC;AAYpI,qBAAa,oBAAqB,YAAW,aAAa;IAE5C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,oBAAoB,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;YA2D1G,sBAAsB;IA4BpC,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAYtC,OAAO,CAAC,MAAM,CAAC,cAAc;mBAQR,YAAY;mBAaZ,UAAU;IA0B/B,OAAO,CAAC,MAAM,CAAC,cAAc;IAK7B,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAIhC,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAwBvC,OAAO,CAAC,MAAM,CAAC,kBAAkB;CAIlC"}
|
|
@@ -9,7 +9,7 @@ export declare class MessagesReadHandler implements MethodHandler {
|
|
|
9
9
|
constructor(deps: HandlerDependencies);
|
|
10
10
|
handle({ tenant, message }: HandleArgs): Promise<MessagesReadReply>;
|
|
11
11
|
/**
|
|
12
|
-
* @param
|
|
12
|
+
* @param deps Used to fetch related permission grant, permission revocation, and/or RecordsWrites for permission scope validation.
|
|
13
13
|
*/
|
|
14
14
|
private static authorizeMessagesRead;
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-read.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-read.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"messages-read.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-read.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAA0B,MAAM,4BAA4B,CAAC;AAYjH,KAAK,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,CAAC;AAEnE,qBAAa,mBAAoB,YAAW,aAAa;IAE3C,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDhF;;OAEG;mBACkB,qBAAqB;CA2B3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages-subscribe.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"messages-subscribe.d.ts","sourceRoot":"","sources":["../../../../src/handlers/messages-subscribe.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyD,oBAAoB,EAAuB,MAAM,2BAA2B,CAAC;AAClJ,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAyBnG,qBAAa,wBAAyB,YAAW,aAAa;IAEhD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAClB,MAAM,EACN,OAAO,EACP,mBAAmB,EACpB,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,wBAAwB,CAAC;QAClC,mBAAmB,EAAE,oBAAoB,CAAC;KAC3C,GAAG,OAAO,CAAC,sBAAsB,CAAC;mBAyDd,0BAA0B;IA+B/C,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAsGxC"}
|
|
@@ -25,11 +25,6 @@ export declare class ProtocolsConfigureHandler implements MethodHandler {
|
|
|
25
25
|
* This is a no-op if the protocol definition has no `uses` map.
|
|
26
26
|
*/
|
|
27
27
|
private static validateCompositionDependencies;
|
|
28
|
-
/**
|
|
29
|
-
* Fetches the latest installed protocol definition for the given protocol URI.
|
|
30
|
-
* @returns The protocol definition, or `undefined` if not installed.
|
|
31
|
-
*/
|
|
32
|
-
private static fetchInstalledProtocolDefinition;
|
|
33
28
|
/**
|
|
34
29
|
* Recursively walks the structure tree to validate:
|
|
35
30
|
* - `$ref` type paths exist in the referenced protocol's structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocols-configure.d.ts","sourceRoot":"","sources":["../../../../src/handlers/protocols-configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"protocols-configure.d.ts","sourceRoot":"","sources":["../../../../src/handlers/protocols-configure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,KAAK,EAAuC,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAMlH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AA2B1E,qBAAa,yBAA0B,YAAW,aAAa;IAEjD,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,mBAAmB;IAEzC,MAAM,CAAC,EAClB,MAAM,EACN,OAAO,GACR,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,yBAAyB,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAgGxF,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,OAAO,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAA;KAAE;mBAgB3G,2BAA2B;YAuBlC,uCAAuC;YAiDvC,mCAAmC;IAqBjD,OAAO,CAAC,MAAM,CAAC,sCAAsC;IAIrD;;;;;;;OAOG;mBACkB,+BAA+B;IAkCpD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;CAsH/C"}
|