@enbox/dwn-sdk-js 0.0.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/LICENSE +201 -0
- package/README.md +352 -0
- package/dist/bundles/dwn.js +153 -0
- package/dist/cjs/index.js +36749 -0
- package/dist/cjs/package.json +1 -0
- package/dist/esm/generated/precompiled-validators.js +11973 -0
- package/dist/esm/generated/precompiled-validators.js.map +1 -0
- package/dist/esm/json-schemas/definitions.json +23 -0
- package/dist/esm/src/core/abstract-message.js +47 -0
- package/dist/esm/src/core/abstract-message.js.map +1 -0
- package/dist/esm/src/core/auth.js +39 -0
- package/dist/esm/src/core/auth.js.map +1 -0
- package/dist/esm/src/core/dwn-constant.js +10 -0
- package/dist/esm/src/core/dwn-constant.js.map +1 -0
- package/dist/esm/src/core/dwn-error.js +169 -0
- package/dist/esm/src/core/dwn-error.js.map +1 -0
- package/dist/esm/src/core/grant-authorization.js +97 -0
- package/dist/esm/src/core/grant-authorization.js.map +1 -0
- package/dist/esm/src/core/message-reply.js +5 -0
- package/dist/esm/src/core/message-reply.js.map +1 -0
- package/dist/esm/src/core/message.js +233 -0
- package/dist/esm/src/core/message.js.map +1 -0
- package/dist/esm/src/core/messages-grant-authorization.js +101 -0
- package/dist/esm/src/core/messages-grant-authorization.js.map +1 -0
- package/dist/esm/src/core/protocol-authorization.js +608 -0
- package/dist/esm/src/core/protocol-authorization.js.map +1 -0
- package/dist/esm/src/core/protocols-grant-authorization.js +66 -0
- package/dist/esm/src/core/protocols-grant-authorization.js.map +1 -0
- package/dist/esm/src/core/records-grant-authorization.js +132 -0
- package/dist/esm/src/core/records-grant-authorization.js.map +1 -0
- package/dist/esm/src/core/resumable-task-manager.js +109 -0
- package/dist/esm/src/core/resumable-task-manager.js.map +1 -0
- package/dist/esm/src/core/tenant-gate.js +20 -0
- package/dist/esm/src/core/tenant-gate.js.map +1 -0
- package/dist/esm/src/dwn.js +164 -0
- package/dist/esm/src/dwn.js.map +1 -0
- package/dist/esm/src/enums/dwn-interface-method.js +16 -0
- package/dist/esm/src/enums/dwn-interface-method.js.map +1 -0
- package/dist/esm/src/event-log/event-emitter-stream.js +60 -0
- package/dist/esm/src/event-log/event-emitter-stream.js.map +1 -0
- package/dist/esm/src/event-log/event-log-level.js +63 -0
- package/dist/esm/src/event-log/event-log-level.js.map +1 -0
- package/dist/esm/src/handlers/messages-query.js +71 -0
- package/dist/esm/src/handlers/messages-query.js.map +1 -0
- package/dist/esm/src/handlers/messages-read.js +102 -0
- package/dist/esm/src/handlers/messages-read.js.map +1 -0
- package/dist/esm/src/handlers/messages-subscribe.js +81 -0
- package/dist/esm/src/handlers/messages-subscribe.js.map +1 -0
- package/dist/esm/src/handlers/protocols-configure.js +133 -0
- package/dist/esm/src/handlers/protocols-configure.js.map +1 -0
- package/dist/esm/src/handlers/protocols-query.js +73 -0
- package/dist/esm/src/handlers/protocols-query.js.map +1 -0
- package/dist/esm/src/handlers/records-delete.js +107 -0
- package/dist/esm/src/handlers/records-delete.js.map +1 -0
- package/dist/esm/src/handlers/records-query.js +210 -0
- package/dist/esm/src/handlers/records-query.js.map +1 -0
- package/dist/esm/src/handlers/records-read.js +169 -0
- package/dist/esm/src/handlers/records-read.js.map +1 -0
- package/dist/esm/src/handlers/records-subscribe.js +172 -0
- package/dist/esm/src/handlers/records-subscribe.js.map +1 -0
- package/dist/esm/src/handlers/records-write.js +344 -0
- package/dist/esm/src/handlers/records-write.js.map +1 -0
- package/dist/esm/src/index.js +49 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/interfaces/messages-query.js +53 -0
- package/dist/esm/src/interfaces/messages-query.js.map +1 -0
- package/dist/esm/src/interfaces/messages-read.js +61 -0
- package/dist/esm/src/interfaces/messages-read.js.map +1 -0
- package/dist/esm/src/interfaces/messages-subscribe.js +58 -0
- package/dist/esm/src/interfaces/messages-subscribe.js.map +1 -0
- package/dist/esm/src/interfaces/protocols-configure.js +271 -0
- package/dist/esm/src/interfaces/protocols-configure.js.map +1 -0
- package/dist/esm/src/interfaces/protocols-query.js +84 -0
- package/dist/esm/src/interfaces/protocols-query.js.map +1 -0
- package/dist/esm/src/interfaces/records-delete.js +89 -0
- package/dist/esm/src/interfaces/records-delete.js.map +1 -0
- package/dist/esm/src/interfaces/records-query.js +104 -0
- package/dist/esm/src/interfaces/records-query.js.map +1 -0
- package/dist/esm/src/interfaces/records-read.js +84 -0
- package/dist/esm/src/interfaces/records-read.js.map +1 -0
- package/dist/esm/src/interfaces/records-subscribe.js +91 -0
- package/dist/esm/src/interfaces/records-subscribe.js.map +1 -0
- package/dist/esm/src/interfaces/records-write.js +795 -0
- package/dist/esm/src/interfaces/records-write.js.map +1 -0
- package/dist/esm/src/jose/algorithms/signing/ed25519.js +51 -0
- package/dist/esm/src/jose/algorithms/signing/ed25519.js.map +1 -0
- package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js +20 -0
- package/dist/esm/src/jose/algorithms/signing/signature-algorithms.js.map +1 -0
- package/dist/esm/src/jose/jws/general/builder.js +47 -0
- package/dist/esm/src/jose/jws/general/builder.js.map +1 -0
- package/dist/esm/src/jose/jws/general/verifier.js +97 -0
- package/dist/esm/src/jose/jws/general/verifier.js.map +1 -0
- package/dist/esm/src/protocols/permission-grant.js +39 -0
- package/dist/esm/src/protocols/permission-grant.js.map +1 -0
- package/dist/esm/src/protocols/permission-request.js +35 -0
- package/dist/esm/src/protocols/permission-request.js.map +1 -0
- package/dist/esm/src/protocols/permissions.js +357 -0
- package/dist/esm/src/protocols/permissions.js.map +1 -0
- package/dist/esm/src/schema-validator.js +37 -0
- package/dist/esm/src/schema-validator.js.map +1 -0
- package/dist/esm/src/store/blockstore-level.js +187 -0
- package/dist/esm/src/store/blockstore-level.js.map +1 -0
- package/dist/esm/src/store/blockstore-mock.js +168 -0
- package/dist/esm/src/store/blockstore-mock.js.map +1 -0
- package/dist/esm/src/store/data-store-level.js +136 -0
- package/dist/esm/src/store/data-store-level.js.map +1 -0
- package/dist/esm/src/store/index-level.js +660 -0
- package/dist/esm/src/store/index-level.js.map +1 -0
- package/dist/esm/src/store/level-wrapper.js +305 -0
- package/dist/esm/src/store/level-wrapper.js.map +1 -0
- package/dist/esm/src/store/message-store-level.js +159 -0
- package/dist/esm/src/store/message-store-level.js.map +1 -0
- package/dist/esm/src/store/resumable-task-store-level.js +131 -0
- package/dist/esm/src/store/resumable-task-store-level.js.map +1 -0
- package/dist/esm/src/store/storage-controller.js +184 -0
- package/dist/esm/src/store/storage-controller.js.map +1 -0
- package/dist/esm/src/types/cache.js +2 -0
- package/dist/esm/src/types/cache.js.map +1 -0
- package/dist/esm/src/types/data-store.js +2 -0
- package/dist/esm/src/types/data-store.js.map +1 -0
- package/dist/esm/src/types/event-log.js +2 -0
- package/dist/esm/src/types/event-log.js.map +1 -0
- package/dist/esm/src/types/jose-types.js +2 -0
- package/dist/esm/src/types/jose-types.js.map +1 -0
- package/dist/esm/src/types/jws-types.js +2 -0
- package/dist/esm/src/types/jws-types.js.map +1 -0
- package/dist/esm/src/types/message-interface.js +2 -0
- package/dist/esm/src/types/message-interface.js.map +1 -0
- package/dist/esm/src/types/message-store.js +2 -0
- package/dist/esm/src/types/message-store.js.map +1 -0
- package/dist/esm/src/types/message-types.js +3 -0
- package/dist/esm/src/types/message-types.js.map +1 -0
- package/dist/esm/src/types/messages-types.js +2 -0
- package/dist/esm/src/types/messages-types.js.map +1 -0
- package/dist/esm/src/types/method-handler.js +2 -0
- package/dist/esm/src/types/method-handler.js.map +1 -0
- package/dist/esm/src/types/permission-types.js +6 -0
- package/dist/esm/src/types/permission-types.js.map +1 -0
- package/dist/esm/src/types/protocols-types.js +20 -0
- package/dist/esm/src/types/protocols-types.js.map +1 -0
- package/dist/esm/src/types/query-types.js +6 -0
- package/dist/esm/src/types/query-types.js.map +1 -0
- package/dist/esm/src/types/records-types.js +8 -0
- package/dist/esm/src/types/records-types.js.map +1 -0
- package/dist/esm/src/types/resumable-task-store.js +2 -0
- package/dist/esm/src/types/resumable-task-store.js.map +1 -0
- package/dist/esm/src/types/signer.js +2 -0
- package/dist/esm/src/types/signer.js.map +1 -0
- package/dist/esm/src/types/subscriptions.js +2 -0
- package/dist/esm/src/types/subscriptions.js.map +1 -0
- package/dist/esm/src/utils/abort.js +40 -0
- package/dist/esm/src/utils/abort.js.map +1 -0
- package/dist/esm/src/utils/array.js +72 -0
- package/dist/esm/src/utils/array.js.map +1 -0
- package/dist/esm/src/utils/cid.js +130 -0
- package/dist/esm/src/utils/cid.js.map +1 -0
- package/dist/esm/src/utils/data-stream.js +100 -0
- package/dist/esm/src/utils/data-stream.js.map +1 -0
- package/dist/esm/src/utils/encoder.js +45 -0
- package/dist/esm/src/utils/encoder.js.map +1 -0
- package/dist/esm/src/utils/encryption.js +128 -0
- package/dist/esm/src/utils/encryption.js.map +1 -0
- package/dist/esm/src/utils/filter.js +229 -0
- package/dist/esm/src/utils/filter.js.map +1 -0
- package/dist/esm/src/utils/hd-key.js +114 -0
- package/dist/esm/src/utils/hd-key.js.map +1 -0
- package/dist/esm/src/utils/jws.js +89 -0
- package/dist/esm/src/utils/jws.js.map +1 -0
- package/dist/esm/src/utils/memory-cache.js +41 -0
- package/dist/esm/src/utils/memory-cache.js.map +1 -0
- package/dist/esm/src/utils/messages.js +84 -0
- package/dist/esm/src/utils/messages.js.map +1 -0
- package/dist/esm/src/utils/object.js +40 -0
- package/dist/esm/src/utils/object.js.map +1 -0
- package/dist/esm/src/utils/private-key-signer.js +43 -0
- package/dist/esm/src/utils/private-key-signer.js.map +1 -0
- package/dist/esm/src/utils/protocols.js +51 -0
- package/dist/esm/src/utils/protocols.js.map +1 -0
- package/dist/esm/src/utils/records.js +454 -0
- package/dist/esm/src/utils/records.js.map +1 -0
- package/dist/esm/src/utils/secp256k1.js +166 -0
- package/dist/esm/src/utils/secp256k1.js.map +1 -0
- package/dist/esm/src/utils/secp256r1.js +120 -0
- package/dist/esm/src/utils/secp256r1.js.map +1 -0
- package/dist/esm/src/utils/string.js +16 -0
- package/dist/esm/src/utils/string.js.map +1 -0
- package/dist/esm/src/utils/time.js +85 -0
- package/dist/esm/src/utils/time.js.map +1 -0
- package/dist/esm/src/utils/url.js +62 -0
- package/dist/esm/src/utils/url.js.map +1 -0
- package/dist/esm/tests/core/auth.spec.js +22 -0
- package/dist/esm/tests/core/auth.spec.js.map +1 -0
- package/dist/esm/tests/core/message-reply.spec.js +16 -0
- package/dist/esm/tests/core/message-reply.spec.js.map +1 -0
- package/dist/esm/tests/core/message.spec.js +146 -0
- package/dist/esm/tests/core/message.spec.js.map +1 -0
- package/dist/esm/tests/core/protocol-authorization.spec.js +48 -0
- package/dist/esm/tests/core/protocol-authorization.spec.js.map +1 -0
- package/dist/esm/tests/dwn.spec.js +166 -0
- package/dist/esm/tests/dwn.spec.js.map +1 -0
- package/dist/esm/tests/event-log/event-emitter-stream.spec.js +78 -0
- package/dist/esm/tests/event-log/event-emitter-stream.spec.js.map +1 -0
- package/dist/esm/tests/event-log/event-log-level.spec.js +44 -0
- package/dist/esm/tests/event-log/event-log-level.spec.js.map +1 -0
- package/dist/esm/tests/event-log/event-log.spec.js +236 -0
- package/dist/esm/tests/event-log/event-log.spec.js.map +1 -0
- package/dist/esm/tests/event-log/event-stream.spec.js +125 -0
- package/dist/esm/tests/event-log/event-stream.spec.js.map +1 -0
- package/dist/esm/tests/features/author-delegated-grant.spec.js +1273 -0
- package/dist/esm/tests/features/author-delegated-grant.spec.js.map +1 -0
- package/dist/esm/tests/features/owner-delegated-grant.spec.js +584 -0
- package/dist/esm/tests/features/owner-delegated-grant.spec.js.map +1 -0
- package/dist/esm/tests/features/owner-signature.spec.js +192 -0
- package/dist/esm/tests/features/owner-signature.spec.js.map +1 -0
- package/dist/esm/tests/features/permissions.spec.js +815 -0
- package/dist/esm/tests/features/permissions.spec.js.map +1 -0
- package/dist/esm/tests/features/protocol-create-action.spec.js +248 -0
- package/dist/esm/tests/features/protocol-create-action.spec.js.map +1 -0
- package/dist/esm/tests/features/protocol-delete-action.spec.js +492 -0
- package/dist/esm/tests/features/protocol-delete-action.spec.js.map +1 -0
- package/dist/esm/tests/features/protocol-update-action.spec.js +572 -0
- package/dist/esm/tests/features/protocol-update-action.spec.js.map +1 -0
- package/dist/esm/tests/features/records-prune.spec.js +812 -0
- package/dist/esm/tests/features/records-prune.spec.js.map +1 -0
- package/dist/esm/tests/features/records-tags.spec.js +2516 -0
- package/dist/esm/tests/features/records-tags.spec.js.map +1 -0
- package/dist/esm/tests/features/resumable-tasks.spec.js +349 -0
- package/dist/esm/tests/features/resumable-tasks.spec.js.map +1 -0
- package/dist/esm/tests/handlers/messages-query.spec.js +349 -0
- package/dist/esm/tests/handlers/messages-query.spec.js.map +1 -0
- package/dist/esm/tests/handlers/messages-read.spec.js +647 -0
- package/dist/esm/tests/handlers/messages-read.spec.js.map +1 -0
- package/dist/esm/tests/handlers/messages-subscribe.spec.js +432 -0
- package/dist/esm/tests/handlers/messages-subscribe.spec.js.map +1 -0
- package/dist/esm/tests/handlers/protocols-configure.spec.js +608 -0
- package/dist/esm/tests/handlers/protocols-configure.spec.js.map +1 -0
- package/dist/esm/tests/handlers/protocols-query.spec.js +454 -0
- package/dist/esm/tests/handlers/protocols-query.spec.js.map +1 -0
- package/dist/esm/tests/handlers/records-delete.spec.js +662 -0
- package/dist/esm/tests/handlers/records-delete.spec.js.map +1 -0
- package/dist/esm/tests/handlers/records-query.spec.js +2695 -0
- package/dist/esm/tests/handlers/records-query.spec.js.map +1 -0
- package/dist/esm/tests/handlers/records-read.spec.js +1724 -0
- package/dist/esm/tests/handlers/records-read.spec.js.map +1 -0
- package/dist/esm/tests/handlers/records-subscribe.spec.js +684 -0
- package/dist/esm/tests/handlers/records-subscribe.spec.js.map +1 -0
- package/dist/esm/tests/handlers/records-write.spec.js +3637 -0
- package/dist/esm/tests/handlers/records-write.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/messages-get.spec.js +78 -0
- package/dist/esm/tests/interfaces/messages-get.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js +30 -0
- package/dist/esm/tests/interfaces/messages-subscribe.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/messagess-query.spec.js +127 -0
- package/dist/esm/tests/interfaces/messagess-query.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/protocols-configure.spec.js +489 -0
- package/dist/esm/tests/interfaces/protocols-configure.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/protocols-query.spec.js +46 -0
- package/dist/esm/tests/interfaces/protocols-query.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/records-delete.spec.js +39 -0
- package/dist/esm/tests/interfaces/records-delete.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/records-query.spec.js +85 -0
- package/dist/esm/tests/interfaces/records-query.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/records-read.spec.js +62 -0
- package/dist/esm/tests/interfaces/records-read.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/records-subscribe.spec.js +72 -0
- package/dist/esm/tests/interfaces/records-subscribe.spec.js.map +1 -0
- package/dist/esm/tests/interfaces/records-write.spec.js +423 -0
- package/dist/esm/tests/interfaces/records-write.spec.js.map +1 -0
- package/dist/esm/tests/jose/jws/general.spec.js +243 -0
- package/dist/esm/tests/jose/jws/general.spec.js.map +1 -0
- package/dist/esm/tests/protocols/permission-request.spec.js +40 -0
- package/dist/esm/tests/protocols/permission-request.spec.js.map +1 -0
- package/dist/esm/tests/protocols/permissions.spec.js +123 -0
- package/dist/esm/tests/protocols/permissions.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/aggregator.spec.js +670 -0
- package/dist/esm/tests/scenarios/aggregator.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/deleted-record.spec.js +102 -0
- package/dist/esm/tests/scenarios/deleted-record.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js +220 -0
- package/dist/esm/tests/scenarios/end-to-end-tests.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/messages-query.spec.js +395 -0
- package/dist/esm/tests/scenarios/messages-query.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/nested-roles.spec.js +300 -0
- package/dist/esm/tests/scenarios/nested-roles.spec.js.map +1 -0
- package/dist/esm/tests/scenarios/subscriptions.spec.js +886 -0
- package/dist/esm/tests/scenarios/subscriptions.spec.js.map +1 -0
- package/dist/esm/tests/store/blockstore-mock.spec.js +192 -0
- package/dist/esm/tests/store/blockstore-mock.spec.js.map +1 -0
- package/dist/esm/tests/store/data-store-level.spec.js +146 -0
- package/dist/esm/tests/store/data-store-level.spec.js.map +1 -0
- package/dist/esm/tests/store/index-level.spec.js +1208 -0
- package/dist/esm/tests/store/index-level.spec.js.map +1 -0
- package/dist/esm/tests/store/message-store-level.spec.js +48 -0
- package/dist/esm/tests/store/message-store-level.spec.js.map +1 -0
- package/dist/esm/tests/store/message-store.spec.js +404 -0
- package/dist/esm/tests/store/message-store.spec.js.map +1 -0
- package/dist/esm/tests/store-dependent-tests.spec.js +5 -0
- package/dist/esm/tests/store-dependent-tests.spec.js.map +1 -0
- package/dist/esm/tests/test-event-stream.js +25 -0
- package/dist/esm/tests/test-event-stream.js.map +1 -0
- package/dist/esm/tests/test-stores.js +45 -0
- package/dist/esm/tests/test-stores.js.map +1 -0
- package/dist/esm/tests/test-suite.js +88 -0
- package/dist/esm/tests/test-suite.js.map +1 -0
- package/dist/esm/tests/utils/cid.spec.js +80 -0
- package/dist/esm/tests/utils/cid.spec.js.map +1 -0
- package/dist/esm/tests/utils/data-stream.spec.js +27 -0
- package/dist/esm/tests/utils/data-stream.spec.js.map +1 -0
- package/dist/esm/tests/utils/encryption.spec.js +148 -0
- package/dist/esm/tests/utils/encryption.spec.js.map +1 -0
- package/dist/esm/tests/utils/filters.spec.js +295 -0
- package/dist/esm/tests/utils/filters.spec.js.map +1 -0
- package/dist/esm/tests/utils/hd-key.spec.js +35 -0
- package/dist/esm/tests/utils/hd-key.spec.js.map +1 -0
- package/dist/esm/tests/utils/jws.spec.js +8 -0
- package/dist/esm/tests/utils/jws.spec.js.map +1 -0
- package/dist/esm/tests/utils/memory-cache.spec.js +35 -0
- package/dist/esm/tests/utils/memory-cache.spec.js.map +1 -0
- package/dist/esm/tests/utils/messages.spec.js +101 -0
- package/dist/esm/tests/utils/messages.spec.js.map +1 -0
- package/dist/esm/tests/utils/object.spec.js +36 -0
- package/dist/esm/tests/utils/object.spec.js.map +1 -0
- package/dist/esm/tests/utils/poller.js +49 -0
- package/dist/esm/tests/utils/poller.js.map +1 -0
- package/dist/esm/tests/utils/private-key-signer.spec.js +44 -0
- package/dist/esm/tests/utils/private-key-signer.spec.js.map +1 -0
- package/dist/esm/tests/utils/records.spec.js +53 -0
- package/dist/esm/tests/utils/records.spec.js.map +1 -0
- package/dist/esm/tests/utils/secp256k1.spec.js +50 -0
- package/dist/esm/tests/utils/secp256k1.spec.js.map +1 -0
- package/dist/esm/tests/utils/secp256r1.spec.js +56 -0
- package/dist/esm/tests/utils/secp256r1.spec.js.map +1 -0
- package/dist/esm/tests/utils/test-data-generator.js +643 -0
- package/dist/esm/tests/utils/test-data-generator.js.map +1 -0
- package/dist/esm/tests/utils/test-stub-generator.js +39 -0
- package/dist/esm/tests/utils/test-stub-generator.js.map +1 -0
- package/dist/esm/tests/utils/time.spec.js +64 -0
- package/dist/esm/tests/utils/time.spec.js.map +1 -0
- package/dist/esm/tests/utils/url.spec.js +43 -0
- package/dist/esm/tests/utils/url.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js +33 -0
- package/dist/esm/tests/validation/json-schemas/definitions.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js +50 -0
- package/dist/esm/tests/validation/json-schemas/jwk/general-jwk.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js +36 -0
- package/dist/esm/tests/validation/json-schemas/jwk/public-jwk.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js +82 -0
- package/dist/esm/tests/validation/json-schemas/jwk-verification-method.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js +75 -0
- package/dist/esm/tests/validation/json-schemas/protocols/protocols-configure.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js +148 -0
- package/dist/esm/tests/validation/json-schemas/records/records-query.spec.js.map +1 -0
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js +421 -0
- package/dist/esm/tests/validation/json-schemas/records/records-write.spec.js.map +1 -0
- package/dist/esm/tests/vectors/protocol-definitions/anyone-collaborate.json +21 -0
- package/dist/esm/tests/vectors/protocol-definitions/author-can.json +33 -0
- package/dist/esm/tests/vectors/protocol-definitions/chat.json +70 -0
- package/dist/esm/tests/vectors/protocol-definitions/credential-issuance.json +41 -0
- package/dist/esm/tests/vectors/protocol-definitions/dex.json +58 -0
- package/dist/esm/tests/vectors/protocol-definitions/email.json +62 -0
- package/dist/esm/tests/vectors/protocol-definitions/free-for-all.json +45 -0
- package/dist/esm/tests/vectors/protocol-definitions/friend-role.json +48 -0
- package/dist/esm/tests/vectors/protocol-definitions/message.json +37 -0
- package/dist/esm/tests/vectors/protocol-definitions/minimal.json +10 -0
- package/dist/esm/tests/vectors/protocol-definitions/nested.json +31 -0
- package/dist/esm/tests/vectors/protocol-definitions/private-protocol.json +15 -0
- package/dist/esm/tests/vectors/protocol-definitions/recipient-can.json +33 -0
- package/dist/esm/tests/vectors/protocol-definitions/slack.json +242 -0
- package/dist/esm/tests/vectors/protocol-definitions/social-media.json +106 -0
- package/dist/esm/tests/vectors/protocol-definitions/thread-role.json +70 -0
- package/dist/types/generated/precompiled-validators.d.ts +597 -0
- package/dist/types/generated/precompiled-validators.d.ts.map +1 -0
- package/dist/types/src/core/abstract-message.d.ts +25 -0
- package/dist/types/src/core/abstract-message.d.ts.map +1 -0
- package/dist/types/src/core/auth.d.ts +9 -0
- package/dist/types/src/core/auth.d.ts.map +1 -0
- package/dist/types/src/core/dwn-constant.d.ts +10 -0
- package/dist/types/src/core/dwn-constant.d.ts.map +1 -0
- package/dist/types/src/core/dwn-error.d.ts +164 -0
- package/dist/types/src/core/dwn-error.d.ts.map +1 -0
- package/dist/types/src/core/grant-authorization.d.ts +43 -0
- package/dist/types/src/core/grant-authorization.d.ts.map +1 -0
- package/dist/types/src/core/message-reply.d.ts +32 -0
- package/dist/types/src/core/message-reply.d.ts.map +1 -0
- package/dist/types/src/core/message.d.ts +94 -0
- package/dist/types/src/core/message.d.ts.map +1 -0
- package/dist/types/src/core/messages-grant-authorization.d.ts +34 -0
- package/dist/types/src/core/messages-grant-authorization.d.ts.map +1 -0
- package/dist/types/src/core/protocol-authorization.d.ts +103 -0
- package/dist/types/src/core/protocol-authorization.d.ts.map +1 -0
- package/dist/types/src/core/protocols-grant-authorization.d.ts +31 -0
- package/dist/types/src/core/protocols-grant-authorization.d.ts.map +1 -0
- package/dist/types/src/core/records-grant-authorization.d.ts +60 -0
- package/dist/types/src/core/records-grant-authorization.d.ts.map +1 -0
- package/dist/types/src/core/resumable-task-manager.d.ts +43 -0
- package/dist/types/src/core/resumable-task-manager.d.ts.map +1 -0
- package/dist/types/src/core/tenant-gate.d.ts +29 -0
- package/dist/types/src/core/tenant-gate.d.ts.map +1 -0
- package/dist/types/src/dwn.d.ts +85 -0
- package/dist/types/src/dwn.d.ts.map +1 -0
- package/dist/types/src/enums/dwn-interface-method.d.ts +14 -0
- package/dist/types/src/enums/dwn-interface-method.d.ts.map +1 -0
- package/dist/types/src/event-log/event-emitter-stream.d.ts +23 -0
- package/dist/types/src/event-log/event-emitter-stream.d.ts.map +1 -0
- package/dist/types/src/event-log/event-log-level.d.ts +35 -0
- package/dist/types/src/event-log/event-log-level.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-query.d.ts +17 -0
- package/dist/types/src/handlers/messages-query.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-read.d.ts +22 -0
- package/dist/types/src/handlers/messages-read.d.ts.map +1 -0
- package/dist/types/src/handlers/messages-subscribe.d.ts +18 -0
- package/dist/types/src/handlers/messages-subscribe.d.ts.map +1 -0
- package/dist/types/src/handlers/protocols-configure.d.ts +24 -0
- package/dist/types/src/handlers/protocols-configure.d.ts.map +1 -0
- package/dist/types/src/handlers/protocols-query.d.ts +20 -0
- package/dist/types/src/handlers/protocols-query.d.ts.map +1 -0
- package/dist/types/src/handlers/records-delete.d.ts +23 -0
- package/dist/types/src/handlers/records-delete.d.ts.map +1 -0
- package/dist/types/src/handlers/records-query.d.ts +70 -0
- package/dist/types/src/handlers/records-query.d.ts.map +1 -0
- package/dist/types/src/handlers/records-read.d.ts +20 -0
- package/dist/types/src/handlers/records-read.d.ts.map +1 -0
- package/dist/types/src/handlers/records-subscribe.d.ts +62 -0
- package/dist/types/src/handlers/records-subscribe.d.ts.map +1 -0
- package/dist/types/src/handlers/records-write.d.ts +51 -0
- package/dist/types/src/handlers/records-write.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +63 -0
- package/dist/types/src/index.d.ts.map +1 -0
- package/dist/types/src/interfaces/messages-query.d.ts +16 -0
- package/dist/types/src/interfaces/messages-query.d.ts.map +1 -0
- package/dist/types/src/interfaces/messages-read.d.ts +20 -0
- package/dist/types/src/interfaces/messages-read.d.ts.map +1 -0
- package/dist/types/src/interfaces/messages-subscribe.d.ts +20 -0
- package/dist/types/src/interfaces/messages-subscribe.d.ts.map +1 -0
- package/dist/types/src/interfaces/protocols-configure.d.ts +40 -0
- package/dist/types/src/interfaces/protocols-configure.d.ts.map +1 -0
- package/dist/types/src/interfaces/protocols-query.d.ts +17 -0
- package/dist/types/src/interfaces/protocols-query.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-delete.d.ts +34 -0
- package/dist/types/src/interfaces/records-delete.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-query.d.ts +31 -0
- package/dist/types/src/interfaces/records-query.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-read.d.ts +36 -0
- package/dist/types/src/interfaces/records-read.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-subscribe.d.ts +27 -0
- package/dist/types/src/interfaces/records-subscribe.d.ts.map +1 -0
- package/dist/types/src/interfaces/records-write.d.ts +309 -0
- package/dist/types/src/interfaces/records-write.d.ts.map +1 -0
- package/dist/types/src/jose/algorithms/signing/ed25519.d.ts +3 -0
- package/dist/types/src/jose/algorithms/signing/ed25519.d.ts.map +1 -0
- package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts +3 -0
- package/dist/types/src/jose/algorithms/signing/signature-algorithms.d.ts.map +1 -0
- package/dist/types/src/jose/jws/general/builder.d.ts +10 -0
- package/dist/types/src/jose/jws/general/builder.d.ts.map +1 -0
- package/dist/types/src/jose/jws/general/verifier.d.ts +32 -0
- package/dist/types/src/jose/jws/general/verifier.d.ts.map +1 -0
- package/dist/types/src/protocols/permission-grant.d.ts +50 -0
- package/dist/types/src/protocols/permission-grant.d.ts.map +1 -0
- package/dist/types/src/protocols/permission-request.d.ts +35 -0
- package/dist/types/src/protocols/permission-request.d.ts.map +1 -0
- package/dist/types/src/protocols/permissions.d.ts +150 -0
- package/dist/types/src/protocols/permissions.d.ts.map +1 -0
- package/dist/types/src/schema-validator.d.ts +8 -0
- package/dist/types/src/schema-validator.d.ts.map +1 -0
- package/dist/types/src/store/blockstore-level.d.ts +34 -0
- package/dist/types/src/store/blockstore-level.d.ts.map +1 -0
- package/dist/types/src/store/blockstore-mock.d.ts +27 -0
- package/dist/types/src/store/blockstore-mock.d.ts.map +1 -0
- package/dist/types/src/store/data-store-level.d.ts +34 -0
- package/dist/types/src/store/data-store-level.d.ts.map +1 -0
- package/dist/types/src/store/index-level.d.ts +171 -0
- package/dist/types/src/store/index-level.d.ts.map +1 -0
- package/dist/types/src/store/level-wrapper.d.ts +48 -0
- package/dist/types/src/store/level-wrapper.d.ts.map +1 -0
- package/dist/types/src/store/message-store-level.d.ts +46 -0
- package/dist/types/src/store/message-store-level.d.ts.map +1 -0
- package/dist/types/src/store/resumable-task-store-level.d.ts +28 -0
- package/dist/types/src/store/resumable-task-store-level.d.ts.map +1 -0
- package/dist/types/src/store/storage-controller.d.ts +46 -0
- package/dist/types/src/store/storage-controller.d.ts.map +1 -0
- package/dist/types/src/types/cache.d.ts +16 -0
- package/dist/types/src/types/cache.d.ts.map +1 -0
- package/dist/types/src/types/data-store.d.ts +57 -0
- package/dist/types/src/types/data-store.d.ts.map +1 -0
- package/dist/types/src/types/event-log.d.ts +52 -0
- package/dist/types/src/types/event-log.d.ts.map +1 -0
- package/dist/types/src/types/jose-types.d.ts +75 -0
- package/dist/types/src/types/jose-types.d.ts.map +1 -0
- package/dist/types/src/types/jws-types.d.ts +27 -0
- package/dist/types/src/types/jws-types.d.ts.map +1 -0
- package/dist/types/src/types/message-interface.d.ts +27 -0
- package/dist/types/src/types/message-interface.d.ts.map +1 -0
- package/dist/types/src/types/message-store.d.ts +42 -0
- package/dist/types/src/types/message-store.d.ts.map +1 -0
- package/dist/types/src/types/message-types.d.ts +116 -0
- package/dist/types/src/types/message-types.d.ts.map +1 -0
- package/dist/types/src/types/messages-types.d.ts +65 -0
- package/dist/types/src/types/messages-types.d.ts.map +1 -0
- package/dist/types/src/types/method-handler.d.ts +19 -0
- package/dist/types/src/types/method-handler.d.ts.map +1 -0
- package/dist/types/src/types/permission-types.d.ts +93 -0
- package/dist/types/src/types/permission-types.d.ts.map +1 -0
- package/dist/types/src/types/protocols-types.d.ts +154 -0
- package/dist/types/src/types/protocols-types.d.ts.map +1 -0
- package/dist/types/src/types/query-types.d.ts +66 -0
- package/dist/types/src/types/query-types.d.ts.map +1 -0
- package/dist/types/src/types/records-types.d.ts +230 -0
- package/dist/types/src/types/records-types.d.ts.map +1 -0
- package/dist/types/src/types/resumable-task-store.d.ts +89 -0
- package/dist/types/src/types/resumable-task-store.d.ts.map +1 -0
- package/dist/types/src/types/signer.d.ts +26 -0
- package/dist/types/src/types/signer.d.ts.map +1 -0
- package/dist/types/src/types/subscriptions.d.ts +30 -0
- package/dist/types/src/types/subscriptions.d.ts.map +1 -0
- package/dist/types/src/utils/abort.d.ts +5 -0
- package/dist/types/src/utils/abort.d.ts.map +1 -0
- package/dist/types/src/utils/array.d.ts +18 -0
- package/dist/types/src/utils/array.d.ts.map +1 -0
- package/dist/types/src/utils/cid.d.ts +30 -0
- package/dist/types/src/utils/cid.d.ts.map +1 -0
- package/dist/types/src/utils/data-stream.d.ts +31 -0
- package/dist/types/src/utils/data-stream.d.ts.map +1 -0
- package/dist/types/src/utils/encoder.d.ts +14 -0
- package/dist/types/src/utils/encoder.d.ts.map +1 -0
- package/dist/types/src/utils/encryption.d.ts +44 -0
- package/dist/types/src/utils/encryption.d.ts.map +1 -0
- package/dist/types/src/utils/filter.d.ts +60 -0
- package/dist/types/src/utils/filter.d.ts.map +1 -0
- package/dist/types/src/utils/hd-key.d.ts +54 -0
- package/dist/types/src/utils/hd-key.d.ts.map +1 -0
- package/dist/types/src/utils/jws.d.ts +39 -0
- package/dist/types/src/utils/jws.d.ts.map +1 -0
- package/dist/types/src/utils/memory-cache.d.ts +15 -0
- package/dist/types/src/utils/memory-cache.d.ts.map +1 -0
- package/dist/types/src/utils/messages.d.ts +27 -0
- package/dist/types/src/utils/messages.d.ts.map +1 -0
- package/dist/types/src/utils/object.d.ts +13 -0
- package/dist/types/src/utils/object.d.ts.map +1 -0
- package/dist/types/src/utils/private-key-signer.d.ts +34 -0
- package/dist/types/src/utils/private-key-signer.d.ts.map +1 -0
- package/dist/types/src/utils/protocols.d.ts +14 -0
- package/dist/types/src/utils/protocols.d.ts.map +1 -0
- package/dist/types/src/utils/records.d.ts +122 -0
- package/dist/types/src/utils/records.d.ts.map +1 -0
- package/dist/types/src/utils/secp256k1.d.ts +59 -0
- package/dist/types/src/utils/secp256k1.d.ts.map +1 -0
- package/dist/types/src/utils/secp256r1.d.ts +39 -0
- package/dist/types/src/utils/secp256r1.d.ts.map +1 -0
- package/dist/types/src/utils/string.d.ts +6 -0
- package/dist/types/src/utils/string.d.ts.map +1 -0
- package/dist/types/src/utils/time.d.ts +50 -0
- package/dist/types/src/utils/time.d.ts.map +1 -0
- package/dist/types/src/utils/url.d.ts +5 -0
- package/dist/types/src/utils/url.d.ts.map +1 -0
- package/dist/types/tests/core/auth.spec.d.ts +2 -0
- package/dist/types/tests/core/auth.spec.d.ts.map +1 -0
- package/dist/types/tests/core/message-reply.spec.d.ts +2 -0
- package/dist/types/tests/core/message-reply.spec.d.ts.map +1 -0
- package/dist/types/tests/core/message.spec.d.ts +2 -0
- package/dist/types/tests/core/message.spec.d.ts.map +1 -0
- package/dist/types/tests/core/protocol-authorization.spec.d.ts +2 -0
- package/dist/types/tests/core/protocol-authorization.spec.d.ts.map +1 -0
- package/dist/types/tests/dwn.spec.d.ts +2 -0
- package/dist/types/tests/dwn.spec.d.ts.map +1 -0
- package/dist/types/tests/event-log/event-emitter-stream.spec.d.ts +2 -0
- package/dist/types/tests/event-log/event-emitter-stream.spec.d.ts.map +1 -0
- package/dist/types/tests/event-log/event-log-level.spec.d.ts +2 -0
- package/dist/types/tests/event-log/event-log-level.spec.d.ts.map +1 -0
- package/dist/types/tests/event-log/event-log.spec.d.ts +2 -0
- package/dist/types/tests/event-log/event-log.spec.d.ts.map +1 -0
- package/dist/types/tests/event-log/event-stream.spec.d.ts +2 -0
- package/dist/types/tests/event-log/event-stream.spec.d.ts.map +1 -0
- package/dist/types/tests/features/author-delegated-grant.spec.d.ts +2 -0
- package/dist/types/tests/features/author-delegated-grant.spec.d.ts.map +1 -0
- package/dist/types/tests/features/owner-delegated-grant.spec.d.ts +2 -0
- package/dist/types/tests/features/owner-delegated-grant.spec.d.ts.map +1 -0
- package/dist/types/tests/features/owner-signature.spec.d.ts +2 -0
- package/dist/types/tests/features/owner-signature.spec.d.ts.map +1 -0
- package/dist/types/tests/features/permissions.spec.d.ts +2 -0
- package/dist/types/tests/features/permissions.spec.d.ts.map +1 -0
- package/dist/types/tests/features/protocol-create-action.spec.d.ts +2 -0
- package/dist/types/tests/features/protocol-create-action.spec.d.ts.map +1 -0
- package/dist/types/tests/features/protocol-delete-action.spec.d.ts +2 -0
- package/dist/types/tests/features/protocol-delete-action.spec.d.ts.map +1 -0
- package/dist/types/tests/features/protocol-update-action.spec.d.ts +2 -0
- package/dist/types/tests/features/protocol-update-action.spec.d.ts.map +1 -0
- package/dist/types/tests/features/records-prune.spec.d.ts +2 -0
- package/dist/types/tests/features/records-prune.spec.d.ts.map +1 -0
- package/dist/types/tests/features/records-tags.spec.d.ts +2 -0
- package/dist/types/tests/features/records-tags.spec.d.ts.map +1 -0
- package/dist/types/tests/features/resumable-tasks.spec.d.ts +2 -0
- package/dist/types/tests/features/resumable-tasks.spec.d.ts.map +1 -0
- 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 +2 -0
- package/dist/types/tests/handlers/messages-read.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/messages-subscribe.spec.d.ts +2 -0
- package/dist/types/tests/handlers/messages-subscribe.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/protocols-configure.spec.d.ts +2 -0
- package/dist/types/tests/handlers/protocols-configure.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/protocols-query.spec.d.ts +2 -0
- package/dist/types/tests/handlers/protocols-query.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/records-delete.spec.d.ts +2 -0
- package/dist/types/tests/handlers/records-delete.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/records-query.spec.d.ts +2 -0
- package/dist/types/tests/handlers/records-query.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/records-read.spec.d.ts +2 -0
- package/dist/types/tests/handlers/records-read.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/records-subscribe.spec.d.ts +2 -0
- package/dist/types/tests/handlers/records-subscribe.spec.d.ts.map +1 -0
- package/dist/types/tests/handlers/records-write.spec.d.ts +2 -0
- package/dist/types/tests/handlers/records-write.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/messages-get.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/messages-get.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/messages-subscribe.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/messages-subscribe.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/messagess-query.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/messagess-query.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/protocols-configure.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/protocols-configure.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/protocols-query.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/protocols-query.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/records-delete.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/records-delete.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/records-query.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/records-query.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/records-read.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/records-read.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/records-subscribe.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/records-subscribe.spec.d.ts.map +1 -0
- package/dist/types/tests/interfaces/records-write.spec.d.ts +2 -0
- package/dist/types/tests/interfaces/records-write.spec.d.ts.map +1 -0
- package/dist/types/tests/jose/jws/general.spec.d.ts +2 -0
- package/dist/types/tests/jose/jws/general.spec.d.ts.map +1 -0
- package/dist/types/tests/protocols/permission-request.spec.d.ts +2 -0
- package/dist/types/tests/protocols/permission-request.spec.d.ts.map +1 -0
- package/dist/types/tests/protocols/permissions.spec.d.ts +2 -0
- package/dist/types/tests/protocols/permissions.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/aggregator.spec.d.ts +2 -0
- package/dist/types/tests/scenarios/aggregator.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/deleted-record.spec.d.ts +2 -0
- package/dist/types/tests/scenarios/deleted-record.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts +2 -0
- package/dist/types/tests/scenarios/end-to-end-tests.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/messages-query.spec.d.ts +2 -0
- package/dist/types/tests/scenarios/messages-query.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/nested-roles.spec.d.ts +2 -0
- package/dist/types/tests/scenarios/nested-roles.spec.d.ts.map +1 -0
- package/dist/types/tests/scenarios/subscriptions.spec.d.ts +2 -0
- package/dist/types/tests/scenarios/subscriptions.spec.d.ts.map +1 -0
- package/dist/types/tests/store/blockstore-mock.spec.d.ts +2 -0
- package/dist/types/tests/store/blockstore-mock.spec.d.ts.map +1 -0
- package/dist/types/tests/store/data-store-level.spec.d.ts +2 -0
- package/dist/types/tests/store/data-store-level.spec.d.ts.map +1 -0
- package/dist/types/tests/store/index-level.spec.d.ts +2 -0
- package/dist/types/tests/store/index-level.spec.d.ts.map +1 -0
- package/dist/types/tests/store/message-store-level.spec.d.ts +2 -0
- package/dist/types/tests/store/message-store-level.spec.d.ts.map +1 -0
- package/dist/types/tests/store/message-store.spec.d.ts +2 -0
- package/dist/types/tests/store/message-store.spec.d.ts.map +1 -0
- package/dist/types/tests/store-dependent-tests.spec.d.ts +2 -0
- package/dist/types/tests/store-dependent-tests.spec.d.ts.map +1 -0
- package/dist/types/tests/test-event-stream.d.ts +22 -0
- package/dist/types/tests/test-event-stream.d.ts.map +1 -0
- package/dist/types/tests/test-stores.d.ts +33 -0
- package/dist/types/tests/test-stores.d.ts.map +1 -0
- package/dist/types/tests/test-suite.d.ts +18 -0
- package/dist/types/tests/test-suite.d.ts.map +1 -0
- package/dist/types/tests/utils/cid.spec.d.ts +2 -0
- package/dist/types/tests/utils/cid.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/data-stream.spec.d.ts +2 -0
- package/dist/types/tests/utils/data-stream.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/encryption.spec.d.ts +2 -0
- package/dist/types/tests/utils/encryption.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/filters.spec.d.ts +2 -0
- package/dist/types/tests/utils/filters.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/hd-key.spec.d.ts +2 -0
- package/dist/types/tests/utils/hd-key.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/jws.spec.d.ts +2 -0
- package/dist/types/tests/utils/jws.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/memory-cache.spec.d.ts +2 -0
- package/dist/types/tests/utils/memory-cache.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/messages.spec.d.ts +2 -0
- package/dist/types/tests/utils/messages.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/object.spec.d.ts +2 -0
- package/dist/types/tests/utils/object.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/poller.d.ts +21 -0
- package/dist/types/tests/utils/poller.d.ts.map +1 -0
- package/dist/types/tests/utils/private-key-signer.spec.d.ts +2 -0
- package/dist/types/tests/utils/private-key-signer.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/records.spec.d.ts +2 -0
- package/dist/types/tests/utils/records.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/secp256k1.spec.d.ts +2 -0
- package/dist/types/tests/utils/secp256k1.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/secp256r1.spec.d.ts +2 -0
- package/dist/types/tests/utils/secp256r1.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/test-data-generator.d.ts +342 -0
- package/dist/types/tests/utils/test-data-generator.d.ts.map +1 -0
- package/dist/types/tests/utils/test-stub-generator.d.ts +16 -0
- package/dist/types/tests/utils/test-stub-generator.d.ts.map +1 -0
- package/dist/types/tests/utils/time.spec.d.ts +2 -0
- package/dist/types/tests/utils/time.spec.d.ts.map +1 -0
- package/dist/types/tests/utils/url.spec.d.ts +2 -0
- package/dist/types/tests/utils/url.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/definitions.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/definitions.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/jwk/general-jwk.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/jwk/general-jwk.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/jwk/public-jwk.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/jwk/public-jwk.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/jwk-verification-method.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/jwk-verification-method.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/protocols/protocols-configure.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/protocols/protocols-configure.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/records/records-query.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/records/records-query.spec.d.ts.map +1 -0
- package/dist/types/tests/validation/json-schemas/records/records-write.spec.d.ts +2 -0
- package/dist/types/tests/validation/json-schemas/records/records-write.spec.d.ts.map +1 -0
- package/package.json +167 -0
- package/src/core/abstract-message.ts +62 -0
- package/src/core/auth.ts +36 -0
- package/src/core/dwn-constant.ts +9 -0
- package/src/core/dwn-error.ts +167 -0
- package/src/core/grant-authorization.ts +148 -0
- package/src/core/message-reply.ts +41 -0
- package/src/core/message.ts +259 -0
- package/src/core/messages-grant-authorization.ts +134 -0
- package/src/core/protocol-authorization.ts +903 -0
- package/src/core/protocols-grant-authorization.ts +88 -0
- package/src/core/records-grant-authorization.ts +197 -0
- package/src/core/resumable-task-manager.ts +114 -0
- package/src/core/tenant-gate.ts +33 -0
- package/src/dwn.ts +264 -0
- package/src/enums/dwn-interface-method.ts +14 -0
- package/src/event-log/event-emitter-stream.ts +69 -0
- package/src/event-log/event-log-level.ts +72 -0
- package/src/handlers/messages-query.ts +67 -0
- package/src/handlers/messages-read.ts +103 -0
- package/src/handlers/messages-subscribe.ts +89 -0
- package/src/handlers/protocols-configure.ts +137 -0
- package/src/handlers/protocols-query.ts +82 -0
- package/src/handlers/records-delete.ts +124 -0
- package/src/handlers/records-query.ts +262 -0
- package/src/handlers/records-read.ts +187 -0
- package/src/handlers/records-subscribe.ts +218 -0
- package/src/handlers/records-write.ts +404 -0
- package/src/index.ts +67 -0
- package/src/interfaces/messages-query.ts +60 -0
- package/src/interfaces/messages-read.ts +63 -0
- package/src/interfaces/messages-subscribe.ts +64 -0
- package/src/interfaces/protocols-configure.ts +340 -0
- package/src/interfaces/protocols-query.ts +96 -0
- package/src/interfaces/records-delete.ts +117 -0
- package/src/interfaces/records-query.ts +131 -0
- package/src/interfaces/records-read.ts +100 -0
- package/src/interfaces/records-subscribe.ts +104 -0
- package/src/interfaces/records-write.ts +1072 -0
- package/src/jose/algorithms/signing/ed25519.ts +58 -0
- package/src/jose/algorithms/signing/signature-algorithms.ts +22 -0
- package/src/jose/jws/general/builder.ts +48 -0
- package/src/jose/jws/general/verifier.ts +112 -0
- package/src/protocols/permission-grant.ts +86 -0
- package/src/protocols/permission-request.ts +63 -0
- package/src/protocols/permissions.ts +508 -0
- package/src/schema-validator.ts +46 -0
- package/src/store/blockstore-level.ts +113 -0
- package/src/store/blockstore-mock.ts +80 -0
- package/src/store/data-store-level.ts +120 -0
- package/src/store/index-level.ts +691 -0
- package/src/store/level-wrapper.ts +272 -0
- package/src/store/message-store-level.ts +195 -0
- package/src/store/resumable-task-store-level.ts +120 -0
- package/src/store/storage-controller.ts +240 -0
- package/src/types/cache.ts +16 -0
- package/src/types/data-store.ts +64 -0
- package/src/types/event-log.ts +52 -0
- package/src/types/jose-types.ts +76 -0
- package/src/types/jws-types.ts +28 -0
- package/src/types/message-interface.ts +30 -0
- package/src/types/message-store.ts +57 -0
- package/src/types/message-types.ts +132 -0
- package/src/types/messages-types.ts +77 -0
- package/src/types/method-handler.ts +19 -0
- package/src/types/permission-types.ts +110 -0
- package/src/types/protocols-types.ts +177 -0
- package/src/types/query-types.ts +61 -0
- package/src/types/records-types.ts +263 -0
- package/src/types/resumable-task-store.ts +96 -0
- package/src/types/signer.ts +27 -0
- package/src/types/subscriptions.ts +34 -0
- package/src/utils/abort.ts +31 -0
- package/src/utils/array.ts +39 -0
- package/src/utils/cid.ts +101 -0
- package/src/utils/data-stream.ts +99 -0
- package/src/utils/encoder.ts +54 -0
- package/src/utils/encryption.ts +145 -0
- package/src/utils/filter.ts +245 -0
- package/src/utils/hd-key.ts +126 -0
- package/src/utils/jws.ts +95 -0
- package/src/utils/memory-cache.ts +31 -0
- package/src/utils/messages.ts +109 -0
- package/src/utils/object.ts +43 -0
- package/src/utils/private-key-signer.ts +72 -0
- package/src/utils/protocols.ts +50 -0
- package/src/utils/records.ts +559 -0
- package/src/utils/secp256k1.ts +157 -0
- package/src/utils/secp256r1.ts +142 -0
- package/src/utils/string.ts +13 -0
- package/src/utils/time.ts +78 -0
- package/src/utils/url.ts +65 -0
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
import type { GeneralJws } from '../types/jws-types.js';
|
|
2
|
+
import type { KeyValues } from '../types/query-types.js';
|
|
3
|
+
import type { MessageInterface } from '../types/message-interface.js';
|
|
4
|
+
import type { MessageStore } from '../types/message-store.js';
|
|
5
|
+
import type { PublicJwk } from '../types/jose-types.js';
|
|
6
|
+
import type { Signer } from '../types/signer.js';
|
|
7
|
+
import type { DataEncodedRecordsWriteMessage, EncryptionProperty, InternalRecordsWriteMessage, RecordsWriteDescriptor, RecordsWriteMessage, RecordsWriteSignaturePayload, RecordsWriteTags } from '../types/records-types.js';
|
|
8
|
+
import type { GenericMessage, GenericSignaturePayload } from '../types/message-types.js';
|
|
9
|
+
import { EncryptionAlgorithm } from '../utils/encryption.js';
|
|
10
|
+
import { KeyDerivationScheme } from '../utils/hd-key.js';
|
|
11
|
+
export type RecordsWriteOptions = {
|
|
12
|
+
recipient?: string;
|
|
13
|
+
protocol?: string;
|
|
14
|
+
protocolPath?: string;
|
|
15
|
+
protocolRole?: string;
|
|
16
|
+
schema?: string;
|
|
17
|
+
tags?: RecordsWriteTags;
|
|
18
|
+
recordId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Must be given if this message is for a non-root protocol record.
|
|
21
|
+
* If not given, it either means this write is for a root protocol record or a flat-space record.
|
|
22
|
+
*/
|
|
23
|
+
parentContextId?: string;
|
|
24
|
+
data?: Uint8Array;
|
|
25
|
+
dataCid?: string;
|
|
26
|
+
dataSize?: number;
|
|
27
|
+
dateCreated?: string;
|
|
28
|
+
messageTimestamp?: string;
|
|
29
|
+
published?: boolean;
|
|
30
|
+
datePublished?: string;
|
|
31
|
+
dataFormat: string;
|
|
32
|
+
/**
|
|
33
|
+
* The signer of the message, which is commonly the author, but can also be a delegate.
|
|
34
|
+
*/
|
|
35
|
+
signer?: Signer;
|
|
36
|
+
/**
|
|
37
|
+
* The delegated grant invoked to sign on behalf of the logical author, which is the grantor of the delegated grant.
|
|
38
|
+
*/
|
|
39
|
+
delegatedGrant?: DataEncodedRecordsWriteMessage;
|
|
40
|
+
attestationSigners?: Signer[];
|
|
41
|
+
encryptionInput?: EncryptionInput;
|
|
42
|
+
permissionGrantId?: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Input that describes how data is encrypted as spec-ed in TP18 (https://github.com/TBD54566975/technical-proposals/pull/6).
|
|
46
|
+
*/
|
|
47
|
+
export type EncryptionInput = {
|
|
48
|
+
/**
|
|
49
|
+
* Algorithm used for encrypting the Data. Uses {EncryptionAlgorithm.Aes256Ctr} if not given.
|
|
50
|
+
*/
|
|
51
|
+
algorithm?: EncryptionAlgorithm;
|
|
52
|
+
/**
|
|
53
|
+
* Initialization vector used for encrypting the data.
|
|
54
|
+
*/
|
|
55
|
+
initializationVector: Uint8Array;
|
|
56
|
+
/**
|
|
57
|
+
* Symmetric key used to encrypt the data.
|
|
58
|
+
*/
|
|
59
|
+
key: Uint8Array;
|
|
60
|
+
/**
|
|
61
|
+
* Array of input that specifies how the symmetric key is encrypted.
|
|
62
|
+
* Each entry in the array will result in a unique ciphertext of the symmetric key.
|
|
63
|
+
*/
|
|
64
|
+
keyEncryptionInputs: KeyEncryptionInput[];
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Input that specifies how a symmetric key is encrypted.
|
|
68
|
+
*/
|
|
69
|
+
export type KeyEncryptionInput = {
|
|
70
|
+
/**
|
|
71
|
+
* Key derivation scheme used to derive the public key to encrypt the symmetric key.
|
|
72
|
+
*/
|
|
73
|
+
derivationScheme: KeyDerivationScheme;
|
|
74
|
+
/**
|
|
75
|
+
* Fully qualified ID of root public key used derive the public key to be used to to encrypt the symmetric key.
|
|
76
|
+
* (e.g. did:example:abc#encryption-key-id)
|
|
77
|
+
*/
|
|
78
|
+
publicKeyId: string;
|
|
79
|
+
/**
|
|
80
|
+
* Public key to be used to encrypt the symmetric key.
|
|
81
|
+
*/
|
|
82
|
+
publicKey: PublicJwk;
|
|
83
|
+
/**
|
|
84
|
+
* Algorithm used for encrypting the symmetric key. Uses {EncryptionAlgorithm.EciesSecp256k1} if not given.
|
|
85
|
+
*/
|
|
86
|
+
algorithm?: EncryptionAlgorithm;
|
|
87
|
+
};
|
|
88
|
+
export type CreateFromOptions = {
|
|
89
|
+
recordsWriteMessage: RecordsWriteMessage;
|
|
90
|
+
data?: Uint8Array;
|
|
91
|
+
/**
|
|
92
|
+
* The data format of the new data. If not given, the data format from the existing message will be used.
|
|
93
|
+
*/
|
|
94
|
+
dataFormat?: string;
|
|
95
|
+
published?: boolean;
|
|
96
|
+
tags?: RecordsWriteTags;
|
|
97
|
+
messageTimestamp?: string;
|
|
98
|
+
datePublished?: string;
|
|
99
|
+
/**
|
|
100
|
+
* The signer of the message, which is commonly the author, but can also be a delegate.
|
|
101
|
+
*/
|
|
102
|
+
signer?: Signer;
|
|
103
|
+
/**
|
|
104
|
+
* The delegated grant to sign on behalf of the logical author, which is the grantor (`grantedBy`) of the delegated grant.
|
|
105
|
+
*/
|
|
106
|
+
delegatedGrant?: DataEncodedRecordsWriteMessage;
|
|
107
|
+
attestationSigners?: Signer[];
|
|
108
|
+
encryptionInput?: EncryptionInput;
|
|
109
|
+
protocolRole?: string;
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* A class representing a RecordsWrite DWN message.
|
|
113
|
+
* NOTE: Unable to extend `AbstractMessage` directly because the incompatible `_message` type, which is not just a generic `<M>` type.
|
|
114
|
+
*/
|
|
115
|
+
export declare class RecordsWrite implements MessageInterface<RecordsWriteMessage> {
|
|
116
|
+
private parentContextId;
|
|
117
|
+
private _message;
|
|
118
|
+
/**
|
|
119
|
+
* Valid JSON message representing this RecordsWrite.
|
|
120
|
+
* @throws `DwnErrorCode.RecordsWriteMissingSigner` if the message is not signed yet.
|
|
121
|
+
*/
|
|
122
|
+
get message(): RecordsWriteMessage;
|
|
123
|
+
private _author;
|
|
124
|
+
get author(): string | undefined;
|
|
125
|
+
private _signaturePayload;
|
|
126
|
+
get signaturePayload(): RecordsWriteSignaturePayload | undefined;
|
|
127
|
+
private _owner;
|
|
128
|
+
/**
|
|
129
|
+
* The owner DID of the message if owner signature is present in the message; `undefined` otherwise.
|
|
130
|
+
* This is the logical owner of the message, not to be confused with the actual signer of the owner signature,
|
|
131
|
+
* this is because the signer of the owner signature may not be the actual DWN owner, but a delegate authorized by the owner.
|
|
132
|
+
*/
|
|
133
|
+
get owner(): string | undefined;
|
|
134
|
+
private _ownerSignaturePayload;
|
|
135
|
+
/**
|
|
136
|
+
* Decoded owner signature payload.
|
|
137
|
+
*/
|
|
138
|
+
get ownerSignaturePayload(): GenericSignaturePayload | undefined;
|
|
139
|
+
/**
|
|
140
|
+
* If this message is signed by an author-delegate.
|
|
141
|
+
*/
|
|
142
|
+
get isSignedByAuthorDelegate(): boolean;
|
|
143
|
+
/**
|
|
144
|
+
* If this message is signed by an owner-delegate.
|
|
145
|
+
*/
|
|
146
|
+
get isSignedByOwnerDelegate(): boolean;
|
|
147
|
+
/**
|
|
148
|
+
* Gets the signer of this message.
|
|
149
|
+
* This is not to be confused with the logical author of the message.
|
|
150
|
+
*/
|
|
151
|
+
get signer(): string | undefined;
|
|
152
|
+
/**
|
|
153
|
+
* Gets the signer of owner signature; `undefined` if owner signature is not present in the message.
|
|
154
|
+
* This is not to be confused with the logical owner {@link #owner} of the message,
|
|
155
|
+
* this is because the signer of the owner signature may not be the actual DWN owner, but a delegate authorized by the owner.
|
|
156
|
+
* In the case that the owner signature is signed by the actual DWN owner, this value will be the same as {@link #owner}.
|
|
157
|
+
*/
|
|
158
|
+
get ownerSignatureSigner(): string | undefined;
|
|
159
|
+
readonly attesters: string[];
|
|
160
|
+
private constructor();
|
|
161
|
+
/**
|
|
162
|
+
* Parses a RecordsWrite message and returns a {RecordsWrite} instance.
|
|
163
|
+
*/
|
|
164
|
+
static parse(recordsWriteMessage: RecordsWriteMessage): Promise<RecordsWrite>;
|
|
165
|
+
/**
|
|
166
|
+
* Creates a RecordsWrite message.
|
|
167
|
+
* @param options.recordId If `undefined`, will be auto-filled as the initial message as convenience for developer.
|
|
168
|
+
* @param options.data Data used to compute the `dataCid`, must be the encrypted data bytes if `options.encryptionInput` is given.
|
|
169
|
+
* Must specify `options.dataCid` if `undefined`.
|
|
170
|
+
* @param options.dataCid CID of the data that is already stored in the DWN. Must specify `options.data` if `undefined`.
|
|
171
|
+
* @param options.dataSize Size of data in number of bytes. Must be defined if `options.dataCid` is defined; must be `undefined` otherwise.
|
|
172
|
+
* @param options.dateCreated If `undefined`, it will be auto-filled with current time.
|
|
173
|
+
* @param options.messageTimestamp If `undefined`, it will be auto-filled with current time.
|
|
174
|
+
* @param options.parentContextId Must be given if this message is for a non-root protocol record.
|
|
175
|
+
* If not given, it either means this write is for a root protocol record or a flat-space record.
|
|
176
|
+
*/
|
|
177
|
+
static create(options: RecordsWriteOptions): Promise<RecordsWrite>;
|
|
178
|
+
private static getRecordIdFromContextId;
|
|
179
|
+
/**
|
|
180
|
+
* Convenience method that creates a message by:
|
|
181
|
+
* 1. Copying over immutable properties from the given source message
|
|
182
|
+
* 2. Copying over mutable properties that are not overwritten from the given source message
|
|
183
|
+
* 3. Replace the mutable properties that are given new value
|
|
184
|
+
* @param options.recordsWriteMessage Message that the new RecordsWrite will be based from.
|
|
185
|
+
* @param options.messageTimestamp The new date the record is modified. If not given, current time will be used .
|
|
186
|
+
* @param options.data The new data or the record. If not given, data from given message will be used.
|
|
187
|
+
* @param options.published The new published state. If not given, then will be set to `true` if {options.messageTimestamp} is given;
|
|
188
|
+
* else the state from given message will be used.
|
|
189
|
+
* @param options.publishedDate The new date the record is modified. If not given, then:
|
|
190
|
+
* - will not be set if the record will be unpublished as the result of this RecordsWrite; else
|
|
191
|
+
* - will be set to the same published date as the given message if it wss already published; else
|
|
192
|
+
* - will be set to current time (because this is a toggle from unpublished to published)
|
|
193
|
+
*/
|
|
194
|
+
static createFrom(options: CreateFromOptions): Promise<RecordsWrite>;
|
|
195
|
+
/**
|
|
196
|
+
* Called by `JSON.stringify(...)` automatically.
|
|
197
|
+
*/
|
|
198
|
+
toJSON(): RecordsWriteMessage;
|
|
199
|
+
/**
|
|
200
|
+
* Encrypts the symmetric encryption key using the public keys given and attach the resulting `encryption` property to the RecordsWrite.
|
|
201
|
+
*/
|
|
202
|
+
encryptSymmetricEncryptionKey(encryptionInput: EncryptionInput): Promise<void>;
|
|
203
|
+
/**
|
|
204
|
+
* Signs the RecordsWrite, the signer is commonly the author, but can also be a delegate.
|
|
205
|
+
*/
|
|
206
|
+
sign(options: {
|
|
207
|
+
signer: Signer;
|
|
208
|
+
delegatedGrant?: DataEncodedRecordsWriteMessage;
|
|
209
|
+
permissionGrantId?: string;
|
|
210
|
+
protocolRole?: string;
|
|
211
|
+
}): Promise<void>;
|
|
212
|
+
/**
|
|
213
|
+
* Signs the `RecordsWrite` as the DWN owner.
|
|
214
|
+
* This is used when the DWN owner wants to retain a copy of a message that the owner did not author.
|
|
215
|
+
* NOTE: requires the `RecordsWrite` to already have the author's signature.
|
|
216
|
+
*/
|
|
217
|
+
signAsOwner(signer: Signer): Promise<void>;
|
|
218
|
+
/**
|
|
219
|
+
* Signs the `RecordsWrite` as the DWN owner-delegate.
|
|
220
|
+
* This is used when a DWN owner-delegate wants to retain a copy of a message that the owner did not author.
|
|
221
|
+
* NOTE: requires the `RecordsWrite` to already have the author's signature.
|
|
222
|
+
*/
|
|
223
|
+
signAsOwnerDelegate(signer: Signer, delegatedGrant: DataEncodedRecordsWriteMessage): Promise<void>;
|
|
224
|
+
/**
|
|
225
|
+
* Validates the integrity of the RecordsWrite message assuming the message passed basic schema validation.
|
|
226
|
+
* There is opportunity to integrate better with `validateSchema(...)`
|
|
227
|
+
*/
|
|
228
|
+
private validateIntegrity;
|
|
229
|
+
/**
|
|
230
|
+
* Validates the structural integrity of the `attestation` property.
|
|
231
|
+
* NOTE: signature is not verified.
|
|
232
|
+
*/
|
|
233
|
+
private static validateAttestationIntegrity;
|
|
234
|
+
/**
|
|
235
|
+
* Computes the deterministic Entry ID of this message.
|
|
236
|
+
*/
|
|
237
|
+
getEntryId(): Promise<string>;
|
|
238
|
+
/**
|
|
239
|
+
* Computes the deterministic Entry ID of this message.
|
|
240
|
+
*/
|
|
241
|
+
static getEntryId(author: string | undefined, descriptor: RecordsWriteDescriptor): Promise<string>;
|
|
242
|
+
/**
|
|
243
|
+
* Checks if the given message is the initial entry of a record.
|
|
244
|
+
*/
|
|
245
|
+
isInitialWrite(): Promise<boolean>;
|
|
246
|
+
constructIndexes(isLatestBaseState: boolean): Promise<KeyValues>;
|
|
247
|
+
/**
|
|
248
|
+
* Authorizes the author-delegate who signed this message.
|
|
249
|
+
* @param messageStore Used to check if the grant has been revoked.
|
|
250
|
+
*/
|
|
251
|
+
authorizeAuthorDelegate(messageStore: MessageStore): Promise<void>;
|
|
252
|
+
/**
|
|
253
|
+
* Authorizes the owner-delegate who signed this message.
|
|
254
|
+
* @param messageStore Used to check if the grant has been revoked.
|
|
255
|
+
*/
|
|
256
|
+
authorizeOwnerDelegate(messageStore: MessageStore): Promise<void>;
|
|
257
|
+
/**
|
|
258
|
+
* Checks if the given message is the initial entry of a record.
|
|
259
|
+
*/
|
|
260
|
+
static isInitialWrite(message: GenericMessage): Promise<boolean>;
|
|
261
|
+
/**
|
|
262
|
+
* Creates the `encryption` property if encryption input is given. Else `undefined` is returned.
|
|
263
|
+
* @param descriptor Descriptor of the `RecordsWrite` message which contains the information need by key path derivation schemes.
|
|
264
|
+
*/
|
|
265
|
+
private static createEncryptionProperty;
|
|
266
|
+
/**
|
|
267
|
+
* Creates the `attestation` property of a RecordsWrite message if given signature inputs; returns `undefined` otherwise.
|
|
268
|
+
*/
|
|
269
|
+
static createAttestation(descriptorCid: string, signers?: Signer[]): Promise<GeneralJws | undefined>;
|
|
270
|
+
/**
|
|
271
|
+
* Creates the `signature` property in the `authorization` of a `RecordsWrite` message.
|
|
272
|
+
*/
|
|
273
|
+
static createSignerSignature(input: {
|
|
274
|
+
recordId: string;
|
|
275
|
+
contextId: string | undefined;
|
|
276
|
+
descriptorCid: string;
|
|
277
|
+
attestation: GeneralJws | undefined;
|
|
278
|
+
encryption: EncryptionProperty | undefined;
|
|
279
|
+
signer: Signer;
|
|
280
|
+
delegatedGrantId?: string;
|
|
281
|
+
permissionGrantId?: string;
|
|
282
|
+
protocolRole?: string;
|
|
283
|
+
}): Promise<GeneralJws>;
|
|
284
|
+
/**
|
|
285
|
+
* Gets the initial write from the given list of `RecordsWrite`.
|
|
286
|
+
*/
|
|
287
|
+
static getInitialWrite(messages: GenericMessage[]): Promise<RecordsWriteMessage>;
|
|
288
|
+
/**
|
|
289
|
+
* Verifies that immutable properties of the two given messages are identical.
|
|
290
|
+
* @throws {Error} if immutable properties between two RecordsWrite message
|
|
291
|
+
*/
|
|
292
|
+
static verifyEqualityOfImmutableProperties(existingWriteMessage: RecordsWriteMessage, newMessage: RecordsWriteMessage): boolean;
|
|
293
|
+
/**
|
|
294
|
+
* Gets the DID of the attesters of the given message.
|
|
295
|
+
*/
|
|
296
|
+
static getAttesters(message: InternalRecordsWriteMessage): string[];
|
|
297
|
+
static fetchNewestRecordsWrite(messageStore: MessageStore, tenant: string, recordId: string): Promise<RecordsWriteMessage>;
|
|
298
|
+
/**
|
|
299
|
+
* Fetches the initial RecordsWrite of a record.
|
|
300
|
+
* @returns The initial RecordsWrite if found; `undefined` otherwise.
|
|
301
|
+
*/
|
|
302
|
+
static fetchInitialRecordsWrite(messageStore: MessageStore, tenant: string, recordId: string): Promise<RecordsWrite | undefined>;
|
|
303
|
+
/**
|
|
304
|
+
* Fetches the initial RecordsWrite message of a record.
|
|
305
|
+
* @returns The initial RecordsWriteMessage if found; `undefined` otherwise.
|
|
306
|
+
*/
|
|
307
|
+
static fetchInitialRecordsWriteMessage(messageStore: MessageStore, tenant: string, recordId: string): Promise<RecordsWriteMessage | undefined>;
|
|
308
|
+
}
|
|
309
|
+
//# sourceMappingURL=records-write.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records-write.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/records-write.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../../../../src/jose/algorithms/signing/ed25519.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAyB,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAwB9F,eAAO,MAAM,OAAO,EAAE,kBAgCrB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signature-algorithms.d.ts","sourceRoot":"","sources":["../../../../../../src/jose/algorithms/signing/signature-algorithms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOvE,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAclE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { GeneralJws } from '../../../types/jws-types.js';
|
|
2
|
+
import type { Signer } from '../../../types/signer.js';
|
|
3
|
+
export declare class GeneralJwsBuilder {
|
|
4
|
+
private jws;
|
|
5
|
+
private constructor();
|
|
6
|
+
static create(payload: Uint8Array, signers?: Signer[]): Promise<GeneralJwsBuilder>;
|
|
7
|
+
addSignature(signer: Signer): Promise<void>;
|
|
8
|
+
getJws(): GeneralJws;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../../../../../src/jose/jws/general/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAIvD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,GAAG,CAAa;IAExB,OAAO;WAIM,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAetF,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBjD,MAAM,IAAI,UAAU;CAGrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Cache } from '../../../types/cache.js';
|
|
2
|
+
import type { GeneralJws } from '../../../types/jws-types.js';
|
|
3
|
+
import type { DidResolver } from '@enbox/dids';
|
|
4
|
+
type VerificationResult = {
|
|
5
|
+
/** DIDs of all signers */
|
|
6
|
+
signers: string[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Verifies the signature(s) of a General JWS.
|
|
10
|
+
*/
|
|
11
|
+
export declare class GeneralJwsVerifier {
|
|
12
|
+
private static _singleton;
|
|
13
|
+
cache: Cache;
|
|
14
|
+
private constructor();
|
|
15
|
+
private static get singleton();
|
|
16
|
+
/**
|
|
17
|
+
* Verifies the signatures of the given General JWS.
|
|
18
|
+
* @returns the list of signers that have valid signatures.
|
|
19
|
+
*/
|
|
20
|
+
static verifySignatures(jws: GeneralJws, didResolver: DidResolver): Promise<VerificationResult>;
|
|
21
|
+
/**
|
|
22
|
+
* Verifies the signatures of the given General JWS.
|
|
23
|
+
* @returns the list of signers that have valid signatures.
|
|
24
|
+
*/
|
|
25
|
+
verifySignatures(jws: GeneralJws, didResolver: DidResolver): Promise<VerificationResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Gets the public key given a fully qualified key ID (`kid`) by resolving the DID to its DID Document.
|
|
28
|
+
*/
|
|
29
|
+
private static getPublicKey;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=verifier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../../../../../src/jose/jws/general/verifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAyB,MAAM,aAAa,CAAC;AAOtE,KAAK,kBAAkB,GAAG;IACxB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,qBAAa,kBAAkB;IAE7B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqB;IAE9C,KAAK,EAAE,KAAK,CAAC;IAEb,OAAO;IAIP,OAAO,CAAC,MAAM,KAAK,SAAS,GAM3B;IAED;;;OAGG;WACiB,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI5G;;;OAGG;IACU,gBAAgB,CAAC,GAAG,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA+BrG;;OAEG;mBACkB,YAAY;CA6BlC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { DataEncodedRecordsWriteMessage } from '../types/records-types.js';
|
|
2
|
+
import type { PermissionConditions, PermissionScope } from '../types/permission-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* A class representing a Permission Grant for a more convenient abstraction.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PermissionGrant {
|
|
7
|
+
/**
|
|
8
|
+
* The ID of the permission grant, which is the record ID DWN message.
|
|
9
|
+
*/
|
|
10
|
+
readonly id: string;
|
|
11
|
+
/**
|
|
12
|
+
* The grantor of the permission.
|
|
13
|
+
*/
|
|
14
|
+
readonly grantor: string;
|
|
15
|
+
/**
|
|
16
|
+
* The grantee of the permission.
|
|
17
|
+
*/
|
|
18
|
+
readonly grantee: string;
|
|
19
|
+
/**
|
|
20
|
+
* The date at which the grant was given.
|
|
21
|
+
*/
|
|
22
|
+
readonly dateGranted: string;
|
|
23
|
+
/**
|
|
24
|
+
* Optional string that communicates what the grant would be used for
|
|
25
|
+
*/
|
|
26
|
+
readonly description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional CID of a permission request. This is optional because grants may be given without being officially requested
|
|
29
|
+
*/
|
|
30
|
+
readonly requestId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Timestamp at which this grant will no longer be active.
|
|
33
|
+
*/
|
|
34
|
+
readonly dateExpires: string;
|
|
35
|
+
/**
|
|
36
|
+
* Whether this grant is delegated or not. If `true`, the `grantedTo` will be able to act as the `grantedTo` within the scope of this grant.
|
|
37
|
+
*/
|
|
38
|
+
readonly delegated?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* The scope of the allowed access.
|
|
41
|
+
*/
|
|
42
|
+
readonly scope: PermissionScope;
|
|
43
|
+
/**
|
|
44
|
+
* Optional conditions that must be met when the grant is used.
|
|
45
|
+
*/
|
|
46
|
+
readonly conditions?: PermissionConditions;
|
|
47
|
+
static parse(message: DataEncodedRecordsWriteMessage): Promise<PermissionGrant>;
|
|
48
|
+
private constructor();
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=permission-grant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-grant.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-grant.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAuB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/G;;GAEG;AACH,qBAAa,eAAe;IAE1B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,OAAO,EAAE,MAAM,CAAC;IAEhC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnC;;OAEG;IACH,SAAgB,WAAW,EAAE,MAAM,CAAC;IAEpC;;OAEG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;WAE9B,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,eAAe,CAAC;IAK5F,OAAO;CAiBR"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { DataEncodedRecordsWriteMessage } from '../types/records-types.js';
|
|
2
|
+
import type { PermissionConditions, PermissionScope } from '../types/permission-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* A class representing a Permission Request for a more convenient abstraction.
|
|
5
|
+
*/
|
|
6
|
+
export declare class PermissionRequest {
|
|
7
|
+
/**
|
|
8
|
+
* The ID of the permission request, which is the record ID DWN message.
|
|
9
|
+
*/
|
|
10
|
+
readonly id: string;
|
|
11
|
+
/**
|
|
12
|
+
* The requester for of the permission.
|
|
13
|
+
*/
|
|
14
|
+
readonly requester: string;
|
|
15
|
+
/**
|
|
16
|
+
* Optional string that communicates what the requested grant would be used for.
|
|
17
|
+
*/
|
|
18
|
+
readonly description?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Whether the requested grant is delegated or not.
|
|
21
|
+
* If `true`, the `requestor` will be able to act as the grantor of the permission within the scope of the requested grant.
|
|
22
|
+
*/
|
|
23
|
+
readonly delegated?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The scope of the allowed access.
|
|
26
|
+
*/
|
|
27
|
+
readonly scope: PermissionScope;
|
|
28
|
+
/**
|
|
29
|
+
* Optional conditions that must be met when the requested grant is used.
|
|
30
|
+
*/
|
|
31
|
+
readonly conditions?: PermissionConditions;
|
|
32
|
+
static parse(message: DataEncodedRecordsWriteMessage): Promise<PermissionRequest>;
|
|
33
|
+
private constructor();
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=permission-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-request.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permission-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,KAAK,EAAE,oBAAoB,EAAyB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMjH;;GAEG;AACH,qBAAa,iBAAiB;IAE5B;;OAEG;IACH,SAAgB,EAAE,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,SAAgB,SAAS,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,SAAgB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErC;;;OAGG;IACH,SAAgB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,SAAgB,KAAK,EAAE,eAAe,CAAC;IAEvC;;OAEG;IACH,SAAgB,UAAU,CAAC,EAAE,oBAAoB,CAAC;WAE9B,KAAK,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAK9F,OAAO;CAaR"}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import type { MessageStore } from '../types/message-store.js';
|
|
2
|
+
import type { ProtocolDefinition } from '../types/protocols-types.js';
|
|
3
|
+
import type { Signer } from '../types/signer.js';
|
|
4
|
+
import type { DataEncodedRecordsWriteMessage, RecordsWriteMessage } from '../types/records-types.js';
|
|
5
|
+
import type { PermissionConditions, PermissionGrantData, PermissionRequestData, PermissionRevocationData, PermissionScope } from '../types/permission-types.js';
|
|
6
|
+
import { PermissionGrant } from './permission-grant.js';
|
|
7
|
+
import { RecordsWrite } from '../../src/interfaces/records-write.js';
|
|
8
|
+
/**
|
|
9
|
+
* Options for creating a permission request.
|
|
10
|
+
*/
|
|
11
|
+
export type PermissionRequestCreateOptions = {
|
|
12
|
+
/**
|
|
13
|
+
* The signer of the request.
|
|
14
|
+
*/
|
|
15
|
+
signer?: Signer;
|
|
16
|
+
dateRequested?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
delegated: boolean;
|
|
19
|
+
scope: PermissionScope;
|
|
20
|
+
conditions?: PermissionConditions;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Options for creating a permission grant.
|
|
24
|
+
*/
|
|
25
|
+
export type PermissionGrantCreateOptions = {
|
|
26
|
+
/**
|
|
27
|
+
* The signer of the grant.
|
|
28
|
+
*/
|
|
29
|
+
signer?: Signer;
|
|
30
|
+
grantedTo: string;
|
|
31
|
+
dateGranted?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Expire time in UTC ISO-8601 format with microsecond precision.
|
|
34
|
+
*/
|
|
35
|
+
dateExpires: string;
|
|
36
|
+
requestId?: string;
|
|
37
|
+
description?: string;
|
|
38
|
+
delegated?: boolean;
|
|
39
|
+
scope: PermissionScope;
|
|
40
|
+
conditions?: PermissionConditions;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Options for creating a permission revocation.
|
|
44
|
+
*/
|
|
45
|
+
export type PermissionRevocationCreateOptions = {
|
|
46
|
+
/**
|
|
47
|
+
* The signer of the grant.
|
|
48
|
+
*/
|
|
49
|
+
signer?: Signer;
|
|
50
|
+
/**
|
|
51
|
+
* The PermissionGrant this revocation is for.
|
|
52
|
+
*/
|
|
53
|
+
grant: PermissionGrant;
|
|
54
|
+
dateRevoked?: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* This is a first-class DWN protocol for managing permission grants of a given DWN.
|
|
59
|
+
*/
|
|
60
|
+
export declare class PermissionsProtocol {
|
|
61
|
+
/**
|
|
62
|
+
* The URI of the DWN Permissions protocol.
|
|
63
|
+
*/
|
|
64
|
+
static readonly uri = "https://tbd.website/dwn/permissions";
|
|
65
|
+
/**
|
|
66
|
+
* The protocol path of the `request` record.
|
|
67
|
+
*/
|
|
68
|
+
static readonly requestPath = "request";
|
|
69
|
+
/**
|
|
70
|
+
* The protocol path of the `grant` record.
|
|
71
|
+
*/
|
|
72
|
+
static readonly grantPath = "grant";
|
|
73
|
+
/**
|
|
74
|
+
* The protocol path of the `revocation` record.
|
|
75
|
+
*/
|
|
76
|
+
static readonly revocationPath = "grant/revocation";
|
|
77
|
+
/**
|
|
78
|
+
* The definition of the Permissions protocol.
|
|
79
|
+
*/
|
|
80
|
+
static readonly definition: ProtocolDefinition;
|
|
81
|
+
static parseRequest(base64UrlEncodedRequest: string): PermissionRequestData;
|
|
82
|
+
/**
|
|
83
|
+
* Convenience method to create a permission request.
|
|
84
|
+
*/
|
|
85
|
+
static createRequest(options: PermissionRequestCreateOptions): Promise<{
|
|
86
|
+
recordsWrite: RecordsWrite;
|
|
87
|
+
permissionRequestData: PermissionRequestData;
|
|
88
|
+
permissionRequestBytes: Uint8Array;
|
|
89
|
+
dataEncodedMessage: DataEncodedRecordsWriteMessage;
|
|
90
|
+
}>;
|
|
91
|
+
/**
|
|
92
|
+
* Convenience method to create a permission grant.
|
|
93
|
+
*/
|
|
94
|
+
static createGrant(options: PermissionGrantCreateOptions): Promise<{
|
|
95
|
+
recordsWrite: RecordsWrite;
|
|
96
|
+
permissionGrantData: PermissionGrantData;
|
|
97
|
+
permissionGrantBytes: Uint8Array;
|
|
98
|
+
dataEncodedMessage: DataEncodedRecordsWriteMessage;
|
|
99
|
+
}>;
|
|
100
|
+
/**
|
|
101
|
+
* Convenience method to create a permission revocation.
|
|
102
|
+
*/
|
|
103
|
+
static createRevocation(options: PermissionRevocationCreateOptions): Promise<{
|
|
104
|
+
recordsWrite: RecordsWrite;
|
|
105
|
+
permissionRevocationData: PermissionRevocationData;
|
|
106
|
+
permissionRevocationBytes: Uint8Array;
|
|
107
|
+
dataEncodedMessage: DataEncodedRecordsWriteMessage;
|
|
108
|
+
}>;
|
|
109
|
+
/**
|
|
110
|
+
* Validates the given Permissions protocol RecordsWrite. It can be a request, grant, or revocation.
|
|
111
|
+
*/
|
|
112
|
+
static validateSchema(recordsWriteMessage: RecordsWriteMessage, dataBytes: Uint8Array): void;
|
|
113
|
+
/**
|
|
114
|
+
* Fetches PermissionGrant with the specified `recordID`.
|
|
115
|
+
* @returns the PermissionGrant matching the `recordId` specified.
|
|
116
|
+
* @throws {Error} if PermissionGrant does not exist
|
|
117
|
+
*/
|
|
118
|
+
static fetchGrant(tenant: string, messageStore: MessageStore, permissionGrantId: string): Promise<PermissionGrant>;
|
|
119
|
+
/**
|
|
120
|
+
* Gets the scope from the given permission record.
|
|
121
|
+
* If the record is a revocation, the scope is fetched from the grant that is being revoked.
|
|
122
|
+
*
|
|
123
|
+
* @param messageStore The message store to fetch the grant for a revocation.
|
|
124
|
+
*/
|
|
125
|
+
static getScopeFromPermissionRecord(tenant: string, messageStore: MessageStore, incomingMessage: DataEncodedRecordsWriteMessage): Promise<PermissionScope>;
|
|
126
|
+
/**
|
|
127
|
+
* Normalizes the given permission scope if needed.
|
|
128
|
+
* @returns The normalized permission scope.
|
|
129
|
+
*/
|
|
130
|
+
private static normalizePermissionScope;
|
|
131
|
+
/**
|
|
132
|
+
* Type guard to determine if the scope is a record permission scope.
|
|
133
|
+
*/
|
|
134
|
+
private static isRecordPermissionScope;
|
|
135
|
+
/**
|
|
136
|
+
* Type guard to determine if the permission is a protocol-scoped
|
|
137
|
+
*/
|
|
138
|
+
static hasProtocolScope(scope: PermissionScope): scope is PermissionScope & {
|
|
139
|
+
protocol: string;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Validates that tags must include a protocol tag that matches the scoped protocol.
|
|
143
|
+
*/
|
|
144
|
+
private static validateTags;
|
|
145
|
+
/**
|
|
146
|
+
* Validates scope and tags of the given permission request or grant.
|
|
147
|
+
*/
|
|
148
|
+
private static validateScopeAndTags;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=permissions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../../src/protocols/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validates the given payload using JSON schema keyed by the given schema name. Throws if the given payload fails validation.
|
|
3
|
+
* @param schemaName the schema name use to look up the JSON schema to be used for schema validation.
|
|
4
|
+
* The list of schema names can be found in compile-validators.js
|
|
5
|
+
* @param payload javascript object to be validated
|
|
6
|
+
*/
|
|
7
|
+
export declare function validateJsonSchema(schemaName: string, payload: any): void;
|
|
8
|
+
//# sourceMappingURL=schema-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/schema-validator.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAoCzE"}
|