@mdbase-dev/sdk 0.0.0-stage → 0.1.0-beta.149
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 +21 -0
- package/README.md +844 -2
- package/dist/account-key.d.ts +176 -0
- package/dist/account-key.js +409 -0
- package/dist/account-key.js.map +1 -0
- package/dist/account.d.ts +11 -0
- package/dist/account.js +9 -0
- package/dist/account.js.map +1 -0
- package/dist/app-grant/client.d.ts +209 -0
- package/dist/app-grant/client.js +930 -0
- package/dist/app-grant/client.js.map +1 -0
- package/dist/app-grant/grant-store.d.ts +77 -0
- package/dist/app-grant/grant-store.js +201 -0
- package/dist/app-grant/grant-store.js.map +1 -0
- package/dist/app-grant/index.d.ts +11 -0
- package/dist/app-grant/index.js +10 -0
- package/dist/app-grant/index.js.map +1 -0
- package/dist/app-grant/native-completion.d.ts +22 -0
- package/dist/app-grant/native-completion.js +63 -0
- package/dist/app-grant/native-completion.js.map +1 -0
- package/dist/app-grant/people.d.ts +10 -0
- package/dist/app-grant/people.js +84 -0
- package/dist/app-grant/people.js.map +1 -0
- package/dist/app-grant/setup-attempt.d.ts +12 -0
- package/dist/app-grant/setup-attempt.js +62 -0
- package/dist/app-grant/setup-attempt.js.map +1 -0
- package/dist/app-grant/setup-producer.d.ts +31 -0
- package/dist/app-grant/setup-producer.js +65 -0
- package/dist/app-grant/setup-producer.js.map +1 -0
- package/dist/app-grant/setup.d.ts +11 -0
- package/dist/app-grant/setup.js +222 -0
- package/dist/app-grant/setup.js.map +1 -0
- package/dist/app-host/app-environment.d.ts +27 -0
- package/dist/app-host/app-environment.js +48 -0
- package/dist/app-host/app-environment.js.map +1 -0
- package/dist/app-host/app-origin.d.ts +7 -0
- package/dist/app-host/app-origin.js +49 -0
- package/dist/app-host/app-origin.js.map +1 -0
- package/dist/app-host/bases-pages.d.ts +29 -0
- package/dist/app-host/bases-pages.js +42 -0
- package/dist/app-host/bases-pages.js.map +1 -0
- package/dist/app-host/bases-wire.d.ts +159 -0
- package/dist/app-host/bases-wire.js +376 -0
- package/dist/app-host/bases-wire.js.map +1 -0
- package/dist/app-host/browser-direct-access.d.ts +18 -0
- package/dist/app-host/browser-direct-access.js +17 -0
- package/dist/app-host/browser-direct-access.js.map +1 -0
- package/dist/app-host/cloud-copy-bootstrap.d.ts +127 -0
- package/dist/app-host/cloud-copy-bootstrap.js +608 -0
- package/dist/app-host/cloud-copy-bootstrap.js.map +1 -0
- package/dist/app-host/cloud-copy-host.d.ts +248 -0
- package/dist/app-host/cloud-copy-host.js +1028 -0
- package/dist/app-host/cloud-copy-host.js.map +1 -0
- package/dist/app-host/cloud-copy-persistence-idb.d.ts +33 -0
- package/dist/app-host/cloud-copy-persistence-idb.js +255 -0
- package/dist/app-host/cloud-copy-persistence-idb.js.map +1 -0
- package/dist/app-host/cloud-copy-persistence.d.ts +57 -0
- package/dist/app-host/cloud-copy-persistence.js +341 -0
- package/dist/app-host/cloud-copy-persistence.js.map +1 -0
- package/dist/app-host/collection-control.d.ts +111 -0
- package/dist/app-host/collection-control.js +604 -0
- package/dist/app-host/collection-control.js.map +1 -0
- package/dist/app-host/collection-delete.d.ts +7 -0
- package/dist/app-host/collection-delete.js +54 -0
- package/dist/app-host/collection-delete.js.map +1 -0
- package/dist/app-host/collection-display-name.d.ts +2 -0
- package/dist/app-host/collection-display-name.js +22 -0
- package/dist/app-host/collection-display-name.js.map +1 -0
- package/dist/app-host/collection-join-ledger.d.ts +52 -0
- package/dist/app-host/collection-join-ledger.js +208 -0
- package/dist/app-host/collection-join-ledger.js.map +1 -0
- package/dist/app-host/collection-people.d.ts +32 -0
- package/dist/app-host/collection-people.js +119 -0
- package/dist/app-host/collection-people.js.map +1 -0
- package/dist/app-host/collection-readiness.d.ts +119 -0
- package/dist/app-host/collection-readiness.js +649 -0
- package/dist/app-host/collection-readiness.js.map +1 -0
- package/dist/app-host/collection-setup-journal.d.ts +59 -0
- package/dist/app-host/collection-setup-journal.js +813 -0
- package/dist/app-host/collection-setup-journal.js.map +1 -0
- package/dist/app-host/collection-setup-types.d.ts +155 -0
- package/dist/app-host/collection-setup-types.js +10 -0
- package/dist/app-host/collection-setup-types.js.map +1 -0
- package/dist/app-host/cp-authority.d.ts +65 -0
- package/dist/app-host/cp-authority.js +243 -0
- package/dist/app-host/cp-authority.js.map +1 -0
- package/dist/app-host/cp-people.d.ts +23 -0
- package/dist/app-host/cp-people.js +145 -0
- package/dist/app-host/cp-people.js.map +1 -0
- package/dist/app-host/cp-problem.d.ts +34 -0
- package/dist/app-host/cp-problem.js +114 -0
- package/dist/app-host/cp-problem.js.map +1 -0
- package/dist/app-host/device-key-custody.d.ts +51 -0
- package/dist/app-host/device-key-custody.js +128 -0
- package/dist/app-host/device-key-custody.js.map +1 -0
- package/dist/app-host/device-key-idb.d.ts +31 -0
- package/dist/app-host/device-key-idb.js +176 -0
- package/dist/app-host/device-key-idb.js.map +1 -0
- package/dist/app-host/device-key-provider.d.ts +33 -0
- package/dist/app-host/device-key-provider.js +181 -0
- package/dist/app-host/device-key-provider.js.map +1 -0
- package/dist/app-host/device-registration.d.ts +51 -0
- package/dist/app-host/device-registration.js +180 -0
- package/dist/app-host/device-registration.js.map +1 -0
- package/dist/app-host/foreground-wake.d.ts +43 -0
- package/dist/app-host/foreground-wake.js +113 -0
- package/dist/app-host/foreground-wake.js.map +1 -0
- package/dist/app-host/handover.d.ts +27 -0
- package/dist/app-host/handover.js +82 -0
- package/dist/app-host/handover.js.map +1 -0
- package/dist/app-host/http-log.d.ts +96 -0
- package/dist/app-host/http-log.js +609 -0
- package/dist/app-host/http-log.js.map +1 -0
- package/dist/app-host/index.d.ts +63 -0
- package/dist/app-host/index.js +33 -0
- package/dist/app-host/index.js.map +1 -0
- package/dist/app-host/initial-sync.d.ts +22 -0
- package/dist/app-host/initial-sync.js +41 -0
- package/dist/app-host/initial-sync.js.map +1 -0
- package/dist/app-host/installation-sign-in.d.ts +319 -0
- package/dist/app-host/installation-sign-in.js +1231 -0
- package/dist/app-host/installation-sign-in.js.map +1 -0
- package/dist/app-host/installation-store.d.ts +56 -0
- package/dist/app-host/installation-store.js +285 -0
- package/dist/app-host/installation-store.js.map +1 -0
- package/dist/app-host/ledger-rows.d.ts +3 -0
- package/dist/app-host/ledger-rows.js +23 -0
- package/dist/app-host/ledger-rows.js.map +1 -0
- package/dist/app-host/local-facade.d.ts +24 -0
- package/dist/app-host/local-facade.js +361 -0
- package/dist/app-host/local-facade.js.map +1 -0
- package/dist/app-host/log-pump.d.ts +124 -0
- package/dist/app-host/log-pump.js +326 -0
- package/dist/app-host/log-pump.js.map +1 -0
- package/dist/app-host/log-push.d.ts +90 -0
- package/dist/app-host/log-push.js +377 -0
- package/dist/app-host/log-push.js.map +1 -0
- package/dist/app-host/log-token-cache.d.ts +28 -0
- package/dist/app-host/log-token-cache.js +104 -0
- package/dist/app-host/log-token-cache.js.map +1 -0
- package/dist/app-host/native-sign-in.d.ts +27 -0
- package/dist/app-host/native-sign-in.js +12 -0
- package/dist/app-host/native-sign-in.js.map +1 -0
- package/dist/app-host/noise-custody.d.ts +62 -0
- package/dist/app-host/noise-custody.js +238 -0
- package/dist/app-host/noise-custody.js.map +1 -0
- package/dist/app-host/noise-idb.d.ts +33 -0
- package/dist/app-host/noise-idb.js +199 -0
- package/dist/app-host/noise-idb.js.map +1 -0
- package/dist/app-host/open-wait.d.ts +3 -0
- package/dist/app-host/open-wait.js +17 -0
- package/dist/app-host/open-wait.js.map +1 -0
- package/dist/app-host/opening-progress.d.ts +3 -0
- package/dist/app-host/opening-progress.js +5 -0
- package/dist/app-host/opening-progress.js.map +1 -0
- package/dist/app-host/owner.d.ts +103 -0
- package/dist/app-host/owner.js +262 -0
- package/dist/app-host/owner.js.map +1 -0
- package/dist/app-host/private-bootstrap.d.ts +78 -0
- package/dist/app-host/private-bootstrap.js +230 -0
- package/dist/app-host/private-bootstrap.js.map +1 -0
- package/dist/app-host/private-persistence-idb.d.ts +32 -0
- package/dist/app-host/private-persistence-idb.js +188 -0
- package/dist/app-host/private-persistence-idb.js.map +1 -0
- package/dist/app-host/private-persistence.d.ts +55 -0
- package/dist/app-host/private-persistence.js +257 -0
- package/dist/app-host/private-persistence.js.map +1 -0
- package/dist/app-host/scoped-sign-in-session.d.ts +49 -0
- package/dist/app-host/scoped-sign-in-session.js +243 -0
- package/dist/app-host/scoped-sign-in-session.js.map +1 -0
- package/dist/app-host/setup-engine.d.ts +14 -0
- package/dist/app-host/setup-engine.js +73 -0
- package/dist/app-host/setup-engine.js.map +1 -0
- package/dist/app-host/sign-out-erase.d.ts +37 -0
- package/dist/app-host/sign-out-erase.js +139 -0
- package/dist/app-host/sign-out-erase.js.map +1 -0
- package/dist/app-host/status.d.ts +62 -0
- package/dist/app-host/status.js +43 -0
- package/dist/app-host/status.js.map +1 -0
- package/dist/app-host/storage-probe.d.ts +46 -0
- package/dist/app-host/storage-probe.js +63 -0
- package/dist/app-host/storage-probe.js.map +1 -0
- package/dist/app-host/timer-port.d.ts +29 -0
- package/dist/app-host/timer-port.js +483 -0
- package/dist/app-host/timer-port.js.map +1 -0
- package/dist/app-host/wasm-runtime.d.ts +302 -0
- package/dist/app-host/wasm-runtime.js +1050 -0
- package/dist/app-host/wasm-runtime.js.map +1 -0
- package/dist/app-host/web-collection.d.ts +78 -0
- package/dist/app-host/web-collection.js +671 -0
- package/dist/app-host/web-collection.js.map +1 -0
- package/dist/app-host/web-sign-in-problem.d.ts +17 -0
- package/dist/app-host/web-sign-in-problem.js +59 -0
- package/dist/app-host/web-sign-in-problem.js.map +1 -0
- package/dist/app-host/web-sign-in-session.d.ts +367 -0
- package/dist/app-host/web-sign-in-session.js +1258 -0
- package/dist/app-host/web-sign-in-session.js.map +1 -0
- package/dist/app-storage/app-binary-index.d.ts +33 -0
- package/dist/app-storage/app-binary-index.js +274 -0
- package/dist/app-storage/app-binary-index.js.map +1 -0
- package/dist/app-storage/app-sqlite-index.d.ts +40 -0
- package/dist/app-storage/app-sqlite-index.js +102 -0
- package/dist/app-storage/app-sqlite-index.js.map +1 -0
- package/dist/app-storage/collection-sql.d.ts +39 -0
- package/dist/app-storage/collection-sql.js +93 -0
- package/dist/app-storage/collection-sql.js.map +1 -0
- package/dist/app-storage/index.d.ts +10 -0
- package/dist/app-storage/index.js +7 -0
- package/dist/app-storage/index.js.map +1 -0
- package/dist/app-storage/sqlite-index.d.ts +95 -0
- package/dist/app-storage/sqlite-index.js +280 -0
- package/dist/app-storage/sqlite-index.js.map +1 -0
- package/dist/application/asset-loader.d.ts +22 -0
- package/dist/application/asset-loader.js +130 -0
- package/dist/application/asset-loader.js.map +1 -0
- package/dist/application/asset-pins.json +24 -0
- package/dist/application/browser-capabilities.d.ts +48 -0
- package/dist/application/browser-capabilities.js +87 -0
- package/dist/application/browser-capabilities.js.map +1 -0
- package/dist/application/browser-selection.d.ts +58 -0
- package/dist/application/browser-selection.js +160 -0
- package/dist/application/browser-selection.js.map +1 -0
- package/dist/application/capabilities.d.ts +20 -0
- package/dist/application/capabilities.js +22 -0
- package/dist/application/capabilities.js.map +1 -0
- package/dist/application/collection-selection.d.ts +147 -0
- package/dist/application/collection-selection.js +351 -0
- package/dist/application/collection-selection.js.map +1 -0
- package/dist/application/configuration.d.ts +52 -0
- package/dist/application/configuration.js +568 -0
- package/dist/application/configuration.js.map +1 -0
- package/dist/application/declaration.d.ts +51 -0
- package/dist/application/declaration.js +100 -0
- package/dist/application/declaration.js.map +1 -0
- package/dist/application/entry.d.ts +343 -0
- package/dist/application/entry.js +945 -0
- package/dist/application/entry.js.map +1 -0
- package/dist/application/file-access.d.ts +55 -0
- package/dist/application/file-access.js +93 -0
- package/dist/application/file-access.js.map +1 -0
- package/dist/application/file-readiness.d.ts +16 -0
- package/dist/application/file-readiness.js +53 -0
- package/dist/application/file-readiness.js.map +1 -0
- package/dist/application/forgotten.d.ts +15 -0
- package/dist/application/forgotten.js +70 -0
- package/dist/application/forgotten.js.map +1 -0
- package/dist/application/front-door.d.ts +68 -0
- package/dist/application/front-door.js +66 -0
- package/dist/application/front-door.js.map +1 -0
- package/dist/application/local-build.d.ts +5 -0
- package/dist/application/local-build.js +22 -0
- package/dist/application/local-build.js.map +1 -0
- package/dist/application/manifest.d.ts +16 -0
- package/dist/application/manifest.js +31 -0
- package/dist/application/manifest.js.map +1 -0
- package/dist/application/native-assets.d.ts +25 -0
- package/dist/application/native-assets.js +29 -0
- package/dist/application/native-assets.js.map +1 -0
- package/dist/application/native-authorization-rpc.d.ts +23 -0
- package/dist/application/native-authorization-rpc.js +54 -0
- package/dist/application/native-authorization-rpc.js.map +1 -0
- package/dist/application/notification-readiness.d.ts +33 -0
- package/dist/application/notification-readiness.js +222 -0
- package/dist/application/notification-readiness.js.map +1 -0
- package/dist/application/packaged-assets.d.ts +5 -0
- package/dist/application/packaged-assets.js +55 -0
- package/dist/application/packaged-assets.js.map +1 -0
- package/dist/application/packaged-trust.d.ts +5 -0
- package/dist/application/packaged-trust.js +10 -0
- package/dist/application/packaged-trust.js.map +1 -0
- package/dist/application/people-readiness.d.ts +23 -0
- package/dist/application/people-readiness.js +213 -0
- package/dist/application/people-readiness.js.map +1 -0
- package/dist/application/phase.d.ts +108 -0
- package/dist/application/phase.js +113 -0
- package/dist/application/phase.js.map +1 -0
- package/dist/application/portal-reservation.d.ts +38 -0
- package/dist/application/portal-reservation.js +183 -0
- package/dist/application/portal-reservation.js.map +1 -0
- package/dist/application/private-collections.d.ts +114 -0
- package/dist/application/private-collections.js +415 -0
- package/dist/application/private-collections.js.map +1 -0
- package/dist/application/readiness.d.ts +59 -0
- package/dist/application/readiness.js +223 -0
- package/dist/application/readiness.js.map +1 -0
- package/dist/application/registration-refusal.d.ts +16 -0
- package/dist/application/registration-refusal.js +41 -0
- package/dist/application/registration-refusal.js.map +1 -0
- package/dist/application/registration.d.ts +26 -0
- package/dist/application/registration.js +372 -0
- package/dist/application/registration.js.map +1 -0
- package/dist/application/return-url.d.ts +1 -0
- package/dist/application/return-url.js +41 -0
- package/dist/application/return-url.js.map +1 -0
- package/dist/application/runtime.d.ts +107 -0
- package/dist/application/runtime.js +379 -0
- package/dist/application/runtime.js.map +1 -0
- package/dist/application/scope.d.ts +34 -0
- package/dist/application/scope.js +164 -0
- package/dist/application/scope.js.map +1 -0
- package/dist/application/session-hint.d.ts +21 -0
- package/dist/application/session-hint.js +87 -0
- package/dist/application/session-hint.js.map +1 -0
- package/dist/application/setup.d.ts +105 -0
- package/dist/application/setup.js +137 -0
- package/dist/application/setup.js.map +1 -0
- package/dist/application/sign-out.d.ts +17 -0
- package/dist/application/sign-out.js +28 -0
- package/dist/application/sign-out.js.map +1 -0
- package/dist/application/storage-scope.d.ts +8 -0
- package/dist/application/storage-scope.js +15 -0
- package/dist/application/storage-scope.js.map +1 -0
- package/dist/application/tabs.d.ts +98 -0
- package/dist/application/tabs.js +407 -0
- package/dist/application/tabs.js.map +1 -0
- package/dist/application/timer-criteria.d.ts +5 -0
- package/dist/application/timer-criteria.js +15 -0
- package/dist/application/timer-criteria.js.map +1 -0
- package/dist/application/ui-connections.d.ts +35 -0
- package/dist/application/ui-connections.js +129 -0
- package/dist/application/ui-connections.js.map +1 -0
- package/dist/application/worker-client.d.ts +59 -0
- package/dist/application/worker-client.js +381 -0
- package/dist/application/worker-client.js.map +1 -0
- package/dist/application/worker-host.d.ts +84 -0
- package/dist/application/worker-host.js +547 -0
- package/dist/application/worker-host.js.map +1 -0
- package/dist/application/worker-protocol.d.ts +40 -0
- package/dist/application/worker-protocol.js +83 -0
- package/dist/application/worker-protocol.js.map +1 -0
- package/dist/application/worker-session.d.ts +45 -0
- package/dist/application/worker-session.js +37 -0
- package/dist/application/worker-session.js.map +1 -0
- package/dist/application/worker.d.ts +1 -0
- package/dist/application/worker.js +34826 -0
- package/dist/application/worker.js.map +1 -0
- package/dist/attachment-wire.d.ts +15 -0
- package/dist/attachment-wire.js +47 -0
- package/dist/attachment-wire.js.map +1 -0
- package/dist/browser/mdbase-sdk.js +49392 -0
- package/dist/browser/mdbase-sdk.min.js +130 -0
- package/dist/browser.d.ts +4 -0
- package/dist/browser.js +5 -0
- package/dist/browser.js.map +1 -0
- package/dist/cbor.d.ts +52 -0
- package/dist/cbor.js +480 -0
- package/dist/cbor.js.map +1 -0
- package/dist/client.d.ts +656 -0
- package/dist/client.js +1962 -0
- package/dist/client.js.map +1 -0
- package/dist/codec.d.ts +82 -0
- package/dist/codec.js +388 -0
- package/dist/codec.js.map +1 -0
- package/dist/collection-availability.d.ts +34 -0
- package/dist/collection-availability.js +63 -0
- package/dist/collection-availability.js.map +1 -0
- package/dist/contract-query.d.ts +31 -0
- package/dist/contract-query.js +13 -0
- package/dist/contract-query.js.map +1 -0
- package/dist/contract-records.d.ts +51 -0
- package/dist/contract-records.js +14 -0
- package/dist/contract-records.js.map +1 -0
- package/dist/describe-error.d.ts +61 -0
- package/dist/describe-error.js +452 -0
- package/dist/describe-error.js.map +1 -0
- package/dist/errors.d.ts +65 -0
- package/dist/errors.js +94 -0
- package/dist/errors.js.map +1 -0
- package/dist/files.d.ts +147 -0
- package/dist/files.js +537 -0
- package/dist/files.js.map +1 -0
- package/dist/holds.d.ts +74 -0
- package/dist/holds.js +118 -0
- package/dist/holds.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/keys.d.ts +40 -0
- package/dist/keys.js +181 -0
- package/dist/keys.js.map +1 -0
- package/dist/live.d.ts +38 -0
- package/dist/live.js +82 -0
- package/dist/live.js.map +1 -0
- package/dist/local-build.d.ts +9 -0
- package/dist/local-build.js +33 -0
- package/dist/local-build.js.map +1 -0
- package/dist/native/provenance.json +23 -0
- package/dist/native/runtime.wasm +0 -0
- package/dist/native/sqlite3.d.ts +5 -0
- package/dist/native/sqlite3.js +17392 -0
- package/dist/native/sqlite3.js.map +1 -0
- package/dist/native/sqlite3.wasm +0 -0
- package/dist/node.d.ts +63 -0
- package/dist/node.js +255 -0
- package/dist/node.js.map +1 -0
- package/dist/notifications.d.ts +95 -0
- package/dist/notifications.js +226 -0
- package/dist/notifications.js.map +1 -0
- package/dist/offline-shell-build.d.ts +25 -0
- package/dist/offline-shell-build.js +78 -0
- package/dist/offline-shell-build.js.map +1 -0
- package/dist/offline-shell-worker.d.ts +46 -0
- package/dist/offline-shell-worker.js +115 -0
- package/dist/offline-shell-worker.js.map +1 -0
- package/dist/people.d.ts +82 -0
- package/dist/people.js +199 -0
- package/dist/people.js.map +1 -0
- package/dist/presence.d.ts +21 -0
- package/dist/presence.js +109 -0
- package/dist/presence.js.map +1 -0
- package/dist/private-account.d.ts +197 -0
- package/dist/private-account.js +510 -0
- package/dist/private-account.js.map +1 -0
- package/dist/private.d.ts +55 -0
- package/dist/private.js +69 -0
- package/dist/private.js.map +1 -0
- package/dist/read-helpers.d.ts +32 -0
- package/dist/read-helpers.js +181 -0
- package/dist/read-helpers.js.map +1 -0
- package/dist/records/session.d.ts +60 -0
- package/dist/records/session.js +534 -0
- package/dist/records/session.js.map +1 -0
- package/dist/records/types.d.ts +76 -0
- package/dist/records/types.js +2 -0
- package/dist/records/types.js.map +1 -0
- package/dist/records/witness.d.ts +19 -0
- package/dist/records/witness.js +64 -0
- package/dist/records/witness.js.map +1 -0
- package/dist/records.d.ts +23 -0
- package/dist/records.js +234 -0
- package/dist/records.js.map +1 -0
- package/dist/runtime/wasm.d.ts +69 -0
- package/dist/runtime/wasm.js +274 -0
- package/dist/runtime/wasm.js.map +1 -0
- package/dist/runtime-wire.d.ts +71 -0
- package/dist/runtime-wire.js +71 -0
- package/dist/runtime-wire.js.map +1 -0
- package/dist/saved-views.d.ts +29 -0
- package/dist/saved-views.js +171 -0
- package/dist/saved-views.js.map +1 -0
- package/dist/semver.d.ts +22 -0
- package/dist/semver.js +63 -0
- package/dist/semver.js.map +1 -0
- package/dist/session.d.ts +65 -0
- package/dist/session.js +332 -0
- package/dist/session.js.map +1 -0
- package/dist/status.d.ts +46 -0
- package/dist/status.js +59 -0
- package/dist/status.js.map +1 -0
- package/dist/strength.d.ts +12 -0
- package/dist/strength.js +194 -0
- package/dist/strength.js.map +1 -0
- package/dist/testing/application.d.ts +59 -0
- package/dist/testing/application.js +230 -0
- package/dist/testing/application.js.map +1 -0
- package/dist/testing/index.d.ts +10 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/memory-contracts.d.ts +40 -0
- package/dist/testing/memory-contracts.js +127 -0
- package/dist/testing/memory-contracts.js.map +1 -0
- package/dist/testing/memory-replica.d.ts +191 -0
- package/dist/testing/memory-replica.js +1465 -0
- package/dist/testing/memory-replica.js.map +1 -0
- package/dist/testing/noise-server.d.ts +11 -0
- package/dist/testing/noise-server.js +65 -0
- package/dist/testing/noise-server.js.map +1 -0
- package/dist/testing/test-app.d.ts +93 -0
- package/dist/testing/test-app.js +140 -0
- package/dist/testing/test-app.js.map +1 -0
- package/dist/thin-client.d.ts +67 -0
- package/dist/thin-client.js +42 -0
- package/dist/thin-client.js.map +1 -0
- package/dist/timers.d.ts +158 -0
- package/dist/timers.js +258 -0
- package/dist/timers.js.map +1 -0
- package/dist/transport/bases-rpc.d.ts +15 -0
- package/dist/transport/bases-rpc.js +61 -0
- package/dist/transport/bases-rpc.js.map +1 -0
- package/dist/transport/control-route.d.ts +34 -0
- package/dist/transport/control-route.js +84 -0
- package/dist/transport/control-route.js.map +1 -0
- package/dist/transport/inprocess.d.ts +13 -0
- package/dist/transport/inprocess.js +37 -0
- package/dist/transport/inprocess.js.map +1 -0
- package/dist/transport/local-link.d.ts +53 -0
- package/dist/transport/local-link.js +66 -0
- package/dist/transport/local-link.js.map +1 -0
- package/dist/transport/next-relay.d.ts +64 -0
- package/dist/transport/next-relay.js +222 -0
- package/dist/transport/next-relay.js.map +1 -0
- package/dist/transport/noise-session.d.ts +88 -0
- package/dist/transport/noise-session.js +264 -0
- package/dist/transport/noise-session.js.map +1 -0
- package/dist/transport/noise.d.ts +102 -0
- package/dist/transport/noise.js +307 -0
- package/dist/transport/noise.js.map +1 -0
- package/dist/transport/original-session.d.ts +6 -0
- package/dist/transport/original-session.js +6 -0
- package/dist/transport/original-session.js.map +1 -0
- package/dist/transport/port.d.ts +67 -0
- package/dist/transport/port.js +184 -0
- package/dist/transport/port.js.map +1 -0
- package/dist/transport/read-fence-policy.d.ts +3 -0
- package/dist/transport/read-fence-policy.js +11 -0
- package/dist/transport/read-fence-policy.js.map +1 -0
- package/dist/transport/relay-close.d.ts +31 -0
- package/dist/transport/relay-close.js +23 -0
- package/dist/transport/relay-close.js.map +1 -0
- package/dist/transport/relay-pipe.d.ts +15 -0
- package/dist/transport/relay-pipe.js +190 -0
- package/dist/transport/relay-pipe.js.map +1 -0
- package/dist/transport/relay.d.ts +36 -0
- package/dist/transport/relay.js +45 -0
- package/dist/transport/relay.js.map +1 -0
- package/dist/type-packs.d.ts +124 -0
- package/dist/type-packs.js +188 -0
- package/dist/type-packs.js.map +1 -0
- package/dist/validation.d.ts +30 -0
- package/dist/validation.js +125 -0
- package/dist/validation.js.map +1 -0
- package/dist/values.d.ts +37 -0
- package/dist/values.js +133 -0
- package/dist/values.js.map +1 -0
- package/dist/view-sources.d.ts +31 -0
- package/dist/view-sources.js +78 -0
- package/dist/view-sources.js.map +1 -0
- package/dist/wire.d.ts +856 -0
- package/dist/wire.js +914 -0
- package/dist/wire.js.map +1 -0
- package/dist/witness.d.ts +7 -0
- package/dist/witness.js +82 -0
- package/dist/witness.js.map +1 -0
- package/dist/write-ledger.d.ts +41 -0
- package/dist/write-ledger.js +184 -0
- package/dist/write-ledger.js.map +1 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/application-authorization.d.ts +32 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/application-authorization.js +207 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/application-contract.d.ts +23 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/application-contract.js +76 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/application-declaration.d.ts +120 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/application-declaration.js +1 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/authorization-errors.d.ts +34 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/authorization-errors.js +52 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/capabilities.d.ts +73 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/capabilities.js +92 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/change-events.generated.d.ts +48 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/change-events.generated.js +18 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/collection-setup.d.ts +93 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/collection-setup.js +7 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/compatibility.d.ts +37 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/compatibility.js +65 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/connect-problems.generated.d.ts +1533 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/connect-problems.generated.js +598 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/files.d.ts +288 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/files.js +426 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/index.d.ts +723 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/index.js +104 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/manifest-validators.generated.d.ts +13 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/manifest-validators.generated.js +7940 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/manifest.d.ts +72 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/manifest.js +643 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/mutation-fingerprint.d.ts +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/mutation-fingerprint.js +116 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/next-authorization.d.ts +30 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/next-authorization.js +90 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/operations.d.ts +15 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/operations.js +196 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/people.d.ts +33 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/people.js +26 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/records.d.ts +108 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/records.js +3 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/type-packs.d.ts +154 -0
- package/node_modules/@mdbase-dev/connect-protocol/dist/type-packs.js +30 -0
- package/node_modules/@mdbase-dev/connect-protocol/package.json +49 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/application-capability-catalog.v1.json +40 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/application-capability-catalog.v2.json +68 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/catalog.json +17 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/change-events.v1.json +48 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/connect-problem.v1.schema.json +5665 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/connect-problems.v1.catalog.json +373 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/connect-protocol.v1.schema.json +901 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/data-contract.schema.json +163 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/encrypted-relay.v1.schema.json +63 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/encrypted-relay.v2.schema.json +63 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/encrypted-relay.v3.schema.json +64 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/files.v1.schema.json +551 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-cancellation.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-invocation.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-outcome.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-provider-declaration.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/action-request.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/conformance-claim.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/event-source-declaration.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/event.schema.json +6 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/interop/v0.1/profile.schema.json +456 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/mdbase-app.legacy-v1.schema.json +430 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/mdbase-app.schema.json +437 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/mdbase-query.v0.3.schema.json +176 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/next-trust.v1.schema.json +54 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/notification-webhook.v1.schema.json +56 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/operation-catalog.v1.json +43 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/operation-mutation-classification.v1.json +554 -0
- package/node_modules/@mdbase-dev/connect-protocol/schemas/sync.v1.schema.json +483 -0
- package/node_modules/@noble/hashes/LICENSE +21 -0
- package/node_modules/@noble/hashes/README.md +478 -0
- package/node_modules/@noble/hashes/_blake.d.ts +20 -0
- package/node_modules/@noble/hashes/_blake.js +59 -0
- package/node_modules/@noble/hashes/_md.d.ts +95 -0
- package/node_modules/@noble/hashes/_md.js +209 -0
- package/node_modules/@noble/hashes/_u64.d.ts +36 -0
- package/node_modules/@noble/hashes/_u64.js +77 -0
- package/node_modules/@noble/hashes/argon2.d.ts +148 -0
- package/node_modules/@noble/hashes/argon2.js +577 -0
- package/node_modules/@noble/hashes/blake1.d.ts +162 -0
- package/node_modules/@noble/hashes/blake1.js +630 -0
- package/node_modules/@noble/hashes/blake2.d.ts +203 -0
- package/node_modules/@noble/hashes/blake2.js +573 -0
- package/node_modules/@noble/hashes/blake3.d.ts +68 -0
- package/node_modules/@noble/hashes/blake3.js +310 -0
- package/node_modules/@noble/hashes/eskdf.d.ts +91 -0
- package/node_modules/@noble/hashes/eskdf.js +225 -0
- package/node_modules/@noble/hashes/hkdf.d.ts +70 -0
- package/node_modules/@noble/hashes/hkdf.js +152 -0
- package/node_modules/@noble/hashes/hmac.d.ts +50 -0
- package/node_modules/@noble/hashes/hmac.js +93 -0
- package/node_modules/@noble/hashes/index.d.ts +1 -0
- package/node_modules/@noble/hashes/index.js +34 -0
- package/node_modules/@noble/hashes/legacy.d.ts +107 -0
- package/node_modules/@noble/hashes/legacy.js +348 -0
- package/node_modules/@noble/hashes/package.json +91 -0
- package/node_modules/@noble/hashes/pbkdf2.d.ts +66 -0
- package/node_modules/@noble/hashes/pbkdf2.js +176 -0
- package/node_modules/@noble/hashes/scrypt.d.ts +98 -0
- package/node_modules/@noble/hashes/scrypt.js +304 -0
- package/node_modules/@noble/hashes/sha2.d.ts +176 -0
- package/node_modules/@noble/hashes/sha2.js +446 -0
- package/node_modules/@noble/hashes/sha3-addons.d.ts +533 -0
- package/node_modules/@noble/hashes/sha3-addons.js +973 -0
- package/node_modules/@noble/hashes/sha3.d.ts +208 -0
- package/node_modules/@noble/hashes/sha3.js +475 -0
- package/node_modules/@noble/hashes/src/_blake.ts +67 -0
- package/node_modules/@noble/hashes/src/_md.ts +227 -0
- package/node_modules/@noble/hashes/src/_u64.ts +111 -0
- package/node_modules/@noble/hashes/src/argon2.ts +693 -0
- package/node_modules/@noble/hashes/src/blake1.ts +677 -0
- package/node_modules/@noble/hashes/src/blake2.ts +648 -0
- package/node_modules/@noble/hashes/src/blake3.ts +344 -0
- package/node_modules/@noble/hashes/src/eskdf.ts +265 -0
- package/node_modules/@noble/hashes/src/hkdf.ts +161 -0
- package/node_modules/@noble/hashes/src/hmac.ts +130 -0
- package/node_modules/@noble/hashes/src/index.ts +33 -0
- package/node_modules/@noble/hashes/src/legacy.ts +361 -0
- package/node_modules/@noble/hashes/src/pbkdf2.ts +219 -0
- package/node_modules/@noble/hashes/src/scrypt.ts +375 -0
- package/node_modules/@noble/hashes/src/sha2.ts +486 -0
- package/node_modules/@noble/hashes/src/sha3-addons.ts +1157 -0
- package/node_modules/@noble/hashes/src/sha3.ts +525 -0
- package/node_modules/@noble/hashes/src/utils.ts +978 -0
- package/node_modules/@noble/hashes/src/webcrypto.ts +283 -0
- package/node_modules/@noble/hashes/utils.d.ts +560 -0
- package/node_modules/@noble/hashes/utils.js +687 -0
- package/node_modules/@noble/hashes/webcrypto.d.ts +121 -0
- package/node_modules/@noble/hashes/webcrypto.js +228 -0
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +172 -0
- package/node_modules/yaml/bin.mjs +11 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/node_modules/yaml/browser/dist/errors.js +57 -0
- package/node_modules/yaml/browser/dist/index.js +17 -0
- package/node_modules/yaml/browser/dist/log.js +11 -0
- package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
- package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
- package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
- package/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/node_modules/yaml/browser/dist/util.js +11 -0
- package/node_modules/yaml/browser/dist/visit.js +233 -0
- package/node_modules/yaml/browser/index.js +5 -0
- package/node_modules/yaml/browser/package.json +3 -0
- package/node_modules/yaml/dist/cli.d.ts +8 -0
- package/node_modules/yaml/dist/cli.mjs +201 -0
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/node_modules/yaml/dist/compose/composer.js +224 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/node_modules/yaml/dist/doc/Document.js +337 -0
- package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/node_modules/yaml/dist/doc/directives.js +178 -0
- package/node_modules/yaml/dist/errors.d.ts +21 -0
- package/node_modules/yaml/dist/errors.js +62 -0
- package/node_modules/yaml/dist/index.d.ts +25 -0
- package/node_modules/yaml/dist/index.js +50 -0
- package/node_modules/yaml/dist/log.d.ts +3 -0
- package/node_modules/yaml/dist/log.js +19 -0
- package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/Alias.js +120 -0
- package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
- package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/node_modules/yaml/dist/options.d.ts +350 -0
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/node_modules/yaml/dist/parse/cst.js +112 -0
- package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/node_modules/yaml/dist/parse/lexer.js +723 -0
- package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/node_modules/yaml/dist/parse/parser.js +980 -0
- package/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/node_modules/yaml/dist/public-api.js +107 -0
- package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/node_modules/yaml/dist/schema/tags.js +99 -0
- package/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/node_modules/yaml/dist/test-events.js +134 -0
- package/node_modules/yaml/dist/util.d.ts +16 -0
- package/node_modules/yaml/dist/util.js +28 -0
- package/node_modules/yaml/dist/visit.d.ts +102 -0
- package/node_modules/yaml/dist/visit.js +236 -0
- package/node_modules/yaml/package.json +97 -0
- package/node_modules/yaml/util.js +2 -0
- package/package.json +108 -4
- package/vendor/mdbase-connect-sdk-e6e66bcd172f.json +13 -0
- package/vendor/mdbase-dev-connect-protocol-0.1.0-beta.145-e6e66bcd172f.tgz +0 -0
package/dist/holds.js
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
export const HOLD_TITLE = "mdbase protected your edit";
|
|
2
|
+
const CAUSES = {
|
|
3
|
+
conflict: {
|
|
4
|
+
cause: "This file was also changed on another device while you were editing it.",
|
|
5
|
+
detail: "Your version is kept here and is not synced until you choose what to keep.",
|
|
6
|
+
},
|
|
7
|
+
unknown_provenance: {
|
|
8
|
+
cause: "This file changed on disk in a way mdbase could not trace to an app or a sync.",
|
|
9
|
+
detail: "The bytes on disk are kept here and are not synced until you confirm them.",
|
|
10
|
+
},
|
|
11
|
+
deleted_elsewhere: {
|
|
12
|
+
cause: "This file was deleted on another device after you edited it.",
|
|
13
|
+
detail: "Your version is kept here; nothing is deleted until you choose.",
|
|
14
|
+
},
|
|
15
|
+
read_only: {
|
|
16
|
+
cause: "Changed with view access.",
|
|
17
|
+
detail: "Edit access will not sync these changes. Submit or discard them.",
|
|
18
|
+
},
|
|
19
|
+
editor_busy: {
|
|
20
|
+
cause: "An editor still has this file open with unsaved changes.",
|
|
21
|
+
detail: "mdbase waits so that it never overwrites what you are typing.",
|
|
22
|
+
},
|
|
23
|
+
suspect_write: {
|
|
24
|
+
cause: "The last write to this file looked incomplete, for example after a crash.",
|
|
25
|
+
detail: "The file is kept aside and is not synced until you confirm it.",
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
const OPTIONS = {
|
|
29
|
+
keep_mine: { label: "Keep mine", description: "Sync the version on this device.", resolution: "keep_mine", needs: "records.edit", discardsMine: false },
|
|
30
|
+
take_theirs: { label: "Take theirs", description: "Replace this file with the synced version.", resolution: "take_theirs", needs: "records.edit", discardsMine: true },
|
|
31
|
+
keep_both: { label: "Keep both", description: "Save your version as a copy next to the synced one.", resolution: "keep_both", needs: "records.edit", discardsMine: false },
|
|
32
|
+
delete: { label: "Delete", description: "Accept the deletion and remove this file here too.", resolution: "delete", needs: "records.delete", discardsMine: true },
|
|
33
|
+
use: { label: "Use merged", description: "Sync the document you merged.", resolution: "use", needs: "records.edit", discardsMine: false },
|
|
34
|
+
compare: { label: "Compare side by side", description: "Open both versions to merge them.", discardsMine: false },
|
|
35
|
+
};
|
|
36
|
+
/** Which actions apply to each reason, in display order. `compare` and `take_theirs` need a confirmed version. */
|
|
37
|
+
const ACTIONS = {
|
|
38
|
+
conflict: ["keep_mine", "take_theirs", "compare", "keep_both"],
|
|
39
|
+
unknown_provenance: ["keep_mine", "take_theirs", "compare", "keep_both"],
|
|
40
|
+
deleted_elsewhere: ["keep_mine", "delete"],
|
|
41
|
+
read_only: ["keep_mine", "take_theirs", "compare", "keep_both"],
|
|
42
|
+
editor_busy: ["keep_mine", "take_theirs", "compare"],
|
|
43
|
+
suspect_write: ["keep_mine", "take_theirs", "compare", "keep_both"],
|
|
44
|
+
};
|
|
45
|
+
export const HOLD_COMPARE_SCHEME = "mdbase://hold/compare";
|
|
46
|
+
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
47
|
+
/** The compare hand-off the daemon tray opens and apps register: `mdbase://hold/compare?collection=<uuid>&id=<uuid>`. */
|
|
48
|
+
export function holdCompareLink(collectionId, id) {
|
|
49
|
+
if (!UUID.test(collectionId) || !UUID.test(id))
|
|
50
|
+
throw new Error("holdCompareLink: collection and id are UUIDs");
|
|
51
|
+
return `${HOLD_COMPARE_SCHEME}?collection=${collectionId.toLowerCase()}&id=${id.toLowerCase()}`;
|
|
52
|
+
}
|
|
53
|
+
/** Parse a compare hand-off; `null` for anything else (never throws on untrusted input). */
|
|
54
|
+
export function parseHoldCompareLink(url) {
|
|
55
|
+
if (typeof url !== "string" || url.length > 512 || !url.startsWith(`${HOLD_COMPARE_SCHEME}?`))
|
|
56
|
+
return null;
|
|
57
|
+
const q = new URLSearchParams(url.slice(HOLD_COMPARE_SCHEME.length + 1));
|
|
58
|
+
const collectionId = q.get("collection") ?? "";
|
|
59
|
+
const id = q.get("id") ?? "";
|
|
60
|
+
if (!UUID.test(collectionId) || !UUID.test(id))
|
|
61
|
+
return null;
|
|
62
|
+
return { collectionId: collectionId.toLowerCase(), id: id.toLowerCase() };
|
|
63
|
+
}
|
|
64
|
+
/** Present one hold: cause, detail, applicable actions and the compare link. */
|
|
65
|
+
export function describeHold(h, o) {
|
|
66
|
+
const readOnly = h.reason === "read_only";
|
|
67
|
+
const hasTheirs = h.theirs !== undefined;
|
|
68
|
+
const canCompare = (o.canCompare ?? true) && hasTheirs;
|
|
69
|
+
const can = (needs) => !needs || !o.capabilities || o.capabilities.includes(needs);
|
|
70
|
+
const actions = ACTIONS[h.reason]
|
|
71
|
+
.filter((a) => a === "compare" ? canCompare : (!readOnly || o.host === true) && (a !== "take_theirs" || hasTheirs || readOnly))
|
|
72
|
+
.map((action) => {
|
|
73
|
+
const option = { action, ...OPTIONS[action] };
|
|
74
|
+
if (readOnly && action === "take_theirs") {
|
|
75
|
+
option.label = "Discard local changes";
|
|
76
|
+
option.description = "Discard unsynced changes on this device.";
|
|
77
|
+
option.needs = "collection.read";
|
|
78
|
+
}
|
|
79
|
+
return option;
|
|
80
|
+
})
|
|
81
|
+
.filter((a) => can(a.needs));
|
|
82
|
+
const text = CAUSES[h.reason];
|
|
83
|
+
return {
|
|
84
|
+
id: h.id,
|
|
85
|
+
path: h.path,
|
|
86
|
+
reason: h.reason,
|
|
87
|
+
title: HOLD_TITLE,
|
|
88
|
+
cause: text.cause,
|
|
89
|
+
detail: text.detail,
|
|
90
|
+
since: h.since,
|
|
91
|
+
saves: h.saves,
|
|
92
|
+
hasTheirs,
|
|
93
|
+
actions,
|
|
94
|
+
reversible: !readOnly,
|
|
95
|
+
reversibleNote: readOnly ? "Copy before discarding." : "You can change your mind later: resolving is an ordinary change, and the previous version stays in the collection's history. Keep both if you want your version kept as a file as well.",
|
|
96
|
+
compareLink: canCompare ? holdCompareLink(o.collectionId, h.id) : null,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/** Banner text for a list of holds, or `null` when there are none. */
|
|
100
|
+
export function holdNotice(holds) {
|
|
101
|
+
if (!holds.length)
|
|
102
|
+
return null;
|
|
103
|
+
if (holds.length === 1)
|
|
104
|
+
return `${HOLD_TITLE}: ${holds[0].path} is waiting for your choice.`;
|
|
105
|
+
return `${HOLD_TITLE}: ${holds.length} files are waiting for your choice.`;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The sync status line every client shows: "Confirmed through N, plus P pending, plus H
|
|
109
|
+
* held". Holds are never "stuck"; they are the user's pending choices.
|
|
110
|
+
*/
|
|
111
|
+
export function syncStatusText(s) {
|
|
112
|
+
const n = (count, word) => `${count} ${word}`;
|
|
113
|
+
const tail = `, plus ${n(s.pending, "pending")}, plus ${n(s.holds, "held")}`;
|
|
114
|
+
if (s.mode === "local_only")
|
|
115
|
+
return `Saved on this device${tail}`;
|
|
116
|
+
return `Confirmed through ${s.confirmedThrough}${tail}`;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=holds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"holds.js","sourceRoot":"","sources":["../src/holds.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mdbase-dev/sdk: the TS SDK for replicas
|
|
3
|
+
* (`docs/contracts/replica-client-api.md`).
|
|
4
|
+
*
|
|
5
|
+
* The root entry is the thin client (`./thin-client.js`) plus the application
|
|
6
|
+
* entry (`MdbaseConnect`, which validates the app's manifest declaration),
|
|
7
|
+
* people, timers, notifications, holds and error copy, and the in-browser runtime.
|
|
8
|
+
*/
|
|
9
|
+
export * from "./thin-client.js";
|
|
10
|
+
export { MdbasePeopleClient, PERSON_CONTRACT, sameIdentity } from "./people.js";
|
|
11
|
+
export type { AccountIdentity, AccountProfile, CurrentAccount, CollectionMemberProfile, PersonRecord, InvalidPersonRecord, PersonResolution, PeopleDirectory, PeopleRequestOptions, PeopleDirectoryOptions, PeopleAuthority } from "./people.js";
|
|
12
|
+
export { TimersApi } from "./timers.js";
|
|
13
|
+
export type { AppTimersPort, DesiredTimer, Timer, TimerRequestOptions, TimerReconcileInput, TimerList, TimerReconciliation, TimerCancellation, TimerChannelRegistration, TimerOperationIdentity, TimerRecoverableReconcileInput, TimerOperationReceipt, TimerOperationLookup, WebPushChannelOptions, FcmChannelOptions, } from "./timers.js";
|
|
14
|
+
export { MDBASE_NOTIFICATION_TYPE, MDBASE_NOTIFICATION_CLICK, parseMdbasePush, parseMdbaseNativeNotification, readMdbaseNotificationData, showMdbaseNotification, handleMdbasePush, handleMdbaseNotificationClick, } from "./notifications.js";
|
|
15
|
+
export type { MdbaseNotification, MdbaseNotificationPresentation, MdbaseNotificationClickMessage, MdbaseNotificationDisplayOptions, HandleMdbasePushOptions, HandleMdbaseNotificationClickOptions, } from "./notifications.js";
|
|
16
|
+
export { inProcessConnector } from "./transport/inprocess.js";
|
|
17
|
+
export type { InProcessConnectOptions, InProcessRuntime } from "./transport/inprocess.js";
|
|
18
|
+
export { WasmRuntime } from "./runtime/wasm.js";
|
|
19
|
+
export type { OpenConfig, QueryExecutionProfile, RuntimeInfo } from "./runtime/wasm.js";
|
|
20
|
+
export { HOLD_COMPARE_SCHEME, HOLD_TITLE, describeHold, holdCompareLink, holdNotice, parseHoldCompareLink, syncStatusText } from "./holds.js";
|
|
21
|
+
export type { DescribeHoldOptions, HoldAction, HoldActionOption, HoldPresentation } from "./holds.js";
|
|
22
|
+
export { describeError, describeDiagnostic, problemCodeOf, PROBLEM_CODES, type ProblemCode, type DescribeErrorOptions, type MdbaseProblemMessages, type MdbaseErrorAction, type MdbaseErrorDescription, } from "./describe-error.js";
|
|
23
|
+
export { parseVersion, compareVersions, versionRelation } from "./semver.js";
|
|
24
|
+
export type { MdbaseVersion, MdbaseVersionRelation } from "./semver.js";
|
|
25
|
+
export { applicationPhase, isReadyPhase, SLOW_OPENING_MS } from "./application/phase.js";
|
|
26
|
+
export type { MdbasePhase, MdbasePhaseKind, MdbaseProblem, MdbaseCollectionSummary, MdbaseApprovalOutcome, ApplicationPhaseOptions as MdbasePhaseOptions } from "./application/phase.js";
|
|
27
|
+
export { MdbaseConnect, MdbaseApplicationUnavailableError } from "./application/entry.js";
|
|
28
|
+
export { createMdbase } from "./application/front-door.js";
|
|
29
|
+
export type { Mdbase, MdbaseSnapshot, MdbaseSetupResult } from "./application/front-door.js";
|
|
30
|
+
export { effectiveCapabilities } from "./application/capabilities.js";
|
|
31
|
+
export type { MdbaseApplicationCapability, MdbaseApplicationCapabilities } from "./application/capabilities.js";
|
|
32
|
+
export type { MdbaseApplicationEntry, MdbaseApplication, MdbaseApplicationConnection, MdbaseApplicationSnapshot, MdbaseApplicationRequestOptions, MdbaseCollectionDeleteOptions, MdbaseSignOutOptions, MdbaseConnectOptions, MdbaseSignInOpener, MdbaseApplicationFacet, MdbaseApplicationProblem, MdbaseApplicationAssessment, MdbaseUnavailableType, MdbaseApplicationFacetSnapshot, MdbaseApplicationReadinessSnapshot, MdbaseLinks } from "./application/entry.js";
|
|
33
|
+
export type { MdbaseApplicationSetup, MdbaseSetupPlan, MdbaseSetupPlanOptions, MdbaseSetupRecord, MdbaseSetupChange, MdbaseSetupChangeKind, MdbaseSetupConflict, MdbaseSetupRefusalCode } from "./application/setup.js";
|
|
34
|
+
export type { MdbaseAccessRequest, MdbaseAccessRequestOptions, MdbaseAccessResult } from "./application/file-access.js";
|
|
35
|
+
export type { ApplicationCollectionSelectionSnapshot as MdbaseApplicationSelectionSnapshot, ApplicationCollectionSelectionState as MdbaseApplicationSelectionState } from "./application/collection-selection.js";
|
|
36
|
+
export type { MdbaseApplicationDeclaration, ApplicationStorageDeclaration, ApplicationJson } from "./application/declaration.js";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @mdbase-dev/sdk: the TS SDK for replicas
|
|
3
|
+
* (`docs/contracts/replica-client-api.md`).
|
|
4
|
+
*
|
|
5
|
+
* The root entry is the thin client (`./thin-client.js`) plus the application
|
|
6
|
+
* entry (`MdbaseConnect`, which validates the app's manifest declaration),
|
|
7
|
+
* people, timers, notifications, holds and error copy, and the in-browser runtime.
|
|
8
|
+
*/
|
|
9
|
+
export * from "./thin-client.js";
|
|
10
|
+
export { MdbasePeopleClient, PERSON_CONTRACT, sameIdentity } from "./people.js";
|
|
11
|
+
export { TimersApi } from "./timers.js";
|
|
12
|
+
export { MDBASE_NOTIFICATION_TYPE, MDBASE_NOTIFICATION_CLICK, parseMdbasePush, parseMdbaseNativeNotification, readMdbaseNotificationData, showMdbaseNotification, handleMdbasePush, handleMdbaseNotificationClick, } from "./notifications.js";
|
|
13
|
+
export { inProcessConnector } from "./transport/inprocess.js";
|
|
14
|
+
export { WasmRuntime } from "./runtime/wasm.js";
|
|
15
|
+
export { HOLD_COMPARE_SCHEME, HOLD_TITLE, describeHold, holdCompareLink, holdNotice, parseHoldCompareLink, syncStatusText } from "./holds.js";
|
|
16
|
+
export { describeError, describeDiagnostic, problemCodeOf, PROBLEM_CODES, } from "./describe-error.js";
|
|
17
|
+
export { parseVersion, compareVersions, versionRelation } from "./semver.js";
|
|
18
|
+
export { applicationPhase, isReadyPhase, SLOW_OPENING_MS } from "./application/phase.js";
|
|
19
|
+
export { MdbaseConnect, MdbaseApplicationUnavailableError } from "./application/entry.js";
|
|
20
|
+
export { createMdbase } from "./application/front-door.js";
|
|
21
|
+
export { effectiveCapabilities } from "./application/capabilities.js";
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,OAAO,EACL,wBAAwB,EAAE,yBAAyB,EAAE,eAAe,EAAE,6BAA6B,EACnG,0BAA0B,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,6BAA6B,GACpG,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9I,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,aAAa,GAMd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAAC,aAAa,EAAC,iCAAiC,EAAC,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EAAC,qBAAqB,EAAC,MAAM,+BAA+B,CAAC"}
|
package/dist/keys.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { StaticKey } from "./transport/noise.js";
|
|
2
|
+
export interface ClientKey extends StaticKey {
|
|
3
|
+
/** True when the private key can't be exported by page script. */
|
|
4
|
+
readonly nonExtractable: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** What a key store persists for one key. CryptoKeys are structured-cloneable. */
|
|
7
|
+
export type StoredKey = {
|
|
8
|
+
kind: "webcrypto";
|
|
9
|
+
privateKey: CryptoKey;
|
|
10
|
+
publicKey: Uint8Array;
|
|
11
|
+
} | {
|
|
12
|
+
kind: "raw";
|
|
13
|
+
secretKey: Uint8Array;
|
|
14
|
+
publicKey: Uint8Array;
|
|
15
|
+
};
|
|
16
|
+
export interface KeyStorage {
|
|
17
|
+
get(name: string): Promise<StoredKey | undefined>;
|
|
18
|
+
put(name: string, key: StoredKey): Promise<void>;
|
|
19
|
+
/** Atomically keep the existing identity or commit this candidate. Persistent
|
|
20
|
+
* stores shared across contexts should implement this; no silent replacement. */
|
|
21
|
+
putIfAbsent?(name: string, key: StoredKey): Promise<StoredKey>;
|
|
22
|
+
delete(name: string): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
/** Keys in memory only (tests, short-lived scripts). */
|
|
25
|
+
export declare function memoryKeyStorage(): KeyStorage;
|
|
26
|
+
/** Keys in IndexedDB (browsers, extensions, Obsidian). */
|
|
27
|
+
export declare function indexedDbKeyStorage(dbName?: string, storeName?: string): KeyStorage;
|
|
28
|
+
export interface LoadKeyOptions {
|
|
29
|
+
/** Where keys live. Default: IndexedDB when available, else memory. */
|
|
30
|
+
storage?: KeyStorage;
|
|
31
|
+
/** Require non-extractable X25519 custody, including for existing keys. */
|
|
32
|
+
requireNonExtractable?: boolean;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Load one committed identity. Existing raw/extractable keys are never silently
|
|
36
|
+
* replaced when stricter custody is requested. Same-store creation coalesces;
|
|
37
|
+
* built-in IndexedDB also chooses one winner across contexts atomically.
|
|
38
|
+
* Custom shared persistent stores need putIfAbsent for cross-context safety.
|
|
39
|
+
*/
|
|
40
|
+
export declare function loadOrCreateClientKey(name: string, o?: LoadKeyOptions): Promise<ClientKey>;
|
package/dist/keys.js
ADDED
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client static keys (`replica-client-api.md` §12.3, "Keys for web apps").
|
|
3
|
+
*
|
|
4
|
+
* A browser app generates its X25519 static key once and registers the public key in
|
|
5
|
+
* its grant at consent time. Where the platform supports it, the private key is a
|
|
6
|
+
* **non-extractable WebCrypto key kept in IndexedDB**: page script can use it for the
|
|
7
|
+
* handshake but cannot read it out. Otherwise the raw key is kept in IndexedDB, scoped
|
|
8
|
+
* to the app's origin, and `nonExtractable` is false so the app can tell.
|
|
9
|
+
*/
|
|
10
|
+
import { x25519 } from "@noble/curves/ed25519.js";
|
|
11
|
+
import { mdbaseError } from "./errors.js";
|
|
12
|
+
/** Keys in memory only (tests, short-lived scripts). */
|
|
13
|
+
export function memoryKeyStorage() {
|
|
14
|
+
const m = new Map();
|
|
15
|
+
return {
|
|
16
|
+
get: async (n) => m.get(n),
|
|
17
|
+
put: async (n, k) => void m.set(n, k),
|
|
18
|
+
putIfAbsent: async (n, k) => {
|
|
19
|
+
const existing = m.get(n);
|
|
20
|
+
if (existing)
|
|
21
|
+
return existing;
|
|
22
|
+
m.set(n, k);
|
|
23
|
+
return k;
|
|
24
|
+
},
|
|
25
|
+
delete: async (n) => void m.delete(n),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/** Keys in IndexedDB (browsers, extensions, Obsidian). */
|
|
29
|
+
export function indexedDbKeyStorage(dbName = "mdbase-keys", storeName = "keys") {
|
|
30
|
+
const idb = globalThis.indexedDB;
|
|
31
|
+
if (!idb)
|
|
32
|
+
throw mdbaseError("invalid_request", "IndexedDB is not available here; pass another KeyStorage");
|
|
33
|
+
const open = () => new Promise((resolve, reject) => {
|
|
34
|
+
const req = idb.open(dbName, 1);
|
|
35
|
+
req.onupgradeneeded = () => req.result.createObjectStore(storeName);
|
|
36
|
+
req.onsuccess = () => resolve(req.result);
|
|
37
|
+
req.onerror = () => reject(req.error);
|
|
38
|
+
});
|
|
39
|
+
const transaction = async (mode, work) => {
|
|
40
|
+
const db = await open();
|
|
41
|
+
try {
|
|
42
|
+
return await new Promise((resolve, reject) => {
|
|
43
|
+
const t = db.transaction(storeName, mode);
|
|
44
|
+
let result;
|
|
45
|
+
let captured = false;
|
|
46
|
+
t.oncomplete = () => captured
|
|
47
|
+
? resolve(result)
|
|
48
|
+
: reject(mdbaseError("unavailable", "key storage transaction completed without a result", "key_storage"));
|
|
49
|
+
t.onabort = () => reject(t.error ?? mdbaseError("unavailable", "key storage transaction aborted", "key_storage"));
|
|
50
|
+
t.onerror = () => reject(t.error ?? mdbaseError("unavailable", "key storage transaction failed", "key_storage"));
|
|
51
|
+
try {
|
|
52
|
+
work(t.objectStore(storeName), value => { result = value; captured = true; });
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
t.abort();
|
|
56
|
+
reject(error);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
finally {
|
|
61
|
+
db.close();
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
const tx = (mode, fn) => transaction(mode, (s, capture) => {
|
|
65
|
+
const req = fn(s);
|
|
66
|
+
req.onsuccess = () => capture(req.result);
|
|
67
|
+
});
|
|
68
|
+
return {
|
|
69
|
+
get: (n) => tx("readonly", (s) => s.get(n)),
|
|
70
|
+
put: (n, k) => tx("readwrite", (s) => s.put(k, n)).then(() => { }),
|
|
71
|
+
putIfAbsent: (n, k) => transaction("readwrite", (s, capture) => {
|
|
72
|
+
const req = s.get(n);
|
|
73
|
+
req.onsuccess = () => {
|
|
74
|
+
if (req.result !== undefined) {
|
|
75
|
+
capture(req.result);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
try {
|
|
79
|
+
const added = s.add(k, n);
|
|
80
|
+
added.onsuccess = () => capture(k);
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
s.transaction.abort();
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}),
|
|
87
|
+
delete: (n) => tx("readwrite", (s) => s.delete(n)).then(() => { }),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
function subtle() {
|
|
91
|
+
return globalThis.crypto?.subtle;
|
|
92
|
+
}
|
|
93
|
+
async function webCryptoX25519() {
|
|
94
|
+
const s = subtle();
|
|
95
|
+
if (!s)
|
|
96
|
+
return null;
|
|
97
|
+
try {
|
|
98
|
+
const pair = (await s.generateKey({ name: "X25519" }, false, ["deriveBits"]));
|
|
99
|
+
const pub = new Uint8Array(await s.exportKey("raw", pair.publicKey));
|
|
100
|
+
return { kind: "webcrypto", privateKey: pair.privateKey, publicKey: pub };
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return null; // X25519 not supported by this engine
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function toClientKey(k) {
|
|
107
|
+
if (k.kind === "raw") {
|
|
108
|
+
return {
|
|
109
|
+
publicKey: k.publicKey,
|
|
110
|
+
nonExtractable: false,
|
|
111
|
+
dh: (pk) => x25519.getSharedSecret(k.secretKey, pk),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
return {
|
|
115
|
+
publicKey: k.publicKey,
|
|
116
|
+
nonExtractable: !k.privateKey.extractable,
|
|
117
|
+
dh: async (pk) => {
|
|
118
|
+
const s = subtle();
|
|
119
|
+
const pub = await s.importKey("raw", pk, { name: "X25519" }, false, []);
|
|
120
|
+
const bits = await s.deriveBits({ name: "X25519", public: pub }, k.privateKey, 256);
|
|
121
|
+
return new Uint8Array(bits);
|
|
122
|
+
},
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
const memoryDefault = memoryKeyStorage();
|
|
126
|
+
const creating = new WeakMap();
|
|
127
|
+
function requireCustody(k, required) {
|
|
128
|
+
if (required && (k.kind !== "webcrypto" || k.privateKey.extractable !== false ||
|
|
129
|
+
k.privateKey.type !== "private" || k.privateKey.algorithm.name !== "X25519" ||
|
|
130
|
+
!k.privateKey.usages.includes("deriveBits"))) {
|
|
131
|
+
throw mdbaseError("invalid_request", "a non-extractable X25519 key is required; explicitly reauthorize incompatible stored identities", "key_storage");
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Load one committed identity. Existing raw/extractable keys are never silently
|
|
136
|
+
* replaced when stricter custody is requested. Same-store creation coalesces;
|
|
137
|
+
* built-in IndexedDB also chooses one winner across contexts atomically.
|
|
138
|
+
* Custom shared persistent stores need putIfAbsent for cross-context safety.
|
|
139
|
+
*/
|
|
140
|
+
export async function loadOrCreateClientKey(name, o = {}) {
|
|
141
|
+
const storage = o.storage ?? (globalThis.indexedDB ? indexedDbKeyStorage() : memoryDefault);
|
|
142
|
+
const required = o.requireNonExtractable;
|
|
143
|
+
let pending = creating.get(storage);
|
|
144
|
+
if (!pending) {
|
|
145
|
+
pending = new Map();
|
|
146
|
+
creating.set(storage, pending);
|
|
147
|
+
}
|
|
148
|
+
let work = pending.get(name);
|
|
149
|
+
if (!work) {
|
|
150
|
+
work = (async () => {
|
|
151
|
+
const existing = await storage.get(name);
|
|
152
|
+
if (existing)
|
|
153
|
+
return existing;
|
|
154
|
+
let k = await webCryptoX25519();
|
|
155
|
+
if (!k) {
|
|
156
|
+
if (required)
|
|
157
|
+
throw mdbaseError("invalid_request", "this platform cannot keep a non-extractable X25519 key", "key_storage");
|
|
158
|
+
const secretKey = x25519.utils.randomSecretKey();
|
|
159
|
+
k = { kind: "raw", secretKey, publicKey: x25519.getPublicKey(secretKey) };
|
|
160
|
+
}
|
|
161
|
+
requireCustody(k, required);
|
|
162
|
+
if (storage.putIfAbsent)
|
|
163
|
+
return storage.putIfAbsent(name, k);
|
|
164
|
+
await storage.put(name, k);
|
|
165
|
+
return k;
|
|
166
|
+
})();
|
|
167
|
+
pending.set(name, work);
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
const k = await work;
|
|
171
|
+
// Enforce each caller's captured requirement, including the existing/atomic
|
|
172
|
+
// winner and concurrent callers whose options differ from the creator's.
|
|
173
|
+
requireCustody(k, required);
|
|
174
|
+
return toClientKey(k);
|
|
175
|
+
}
|
|
176
|
+
finally {
|
|
177
|
+
if (pending.get(name) === work)
|
|
178
|
+
pending.delete(name);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=keys.js.map
|
package/dist/keys.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../src/keys.ts"],"names":[],"mappings":"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"}
|
package/dist/live.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live query state (`replica-client-api.md` §4): the first push is a `snapshot`, then
|
|
3
|
+
* `diff`s; `reset` means "a new snapshot follows". Because updates describe state,
|
|
4
|
+
* applying them in order always gives the replica's current result.
|
|
5
|
+
*/
|
|
6
|
+
import type { QueryMetadata, QueryUpdate, RecordView, Uuid } from "./wire.js";
|
|
7
|
+
export interface LiveQueryState {
|
|
8
|
+
/** The current result, in result order. */
|
|
9
|
+
readonly records: readonly RecordView[];
|
|
10
|
+
/** False while the replica installs a snapshot (rows may be missing). */
|
|
11
|
+
readonly complete: boolean;
|
|
12
|
+
/** Local view version of this result. */
|
|
13
|
+
readonly asOf: number;
|
|
14
|
+
/** Current full metadata at asOf; absent while stale or when not supplied. */
|
|
15
|
+
readonly metadata?: QueryMetadata | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* True until the first snapshot, and between a `reset` (or a reconnect) and the
|
|
18
|
+
* next snapshot. The previous records stay visible meanwhile.
|
|
19
|
+
*/
|
|
20
|
+
readonly stale: boolean;
|
|
21
|
+
}
|
|
22
|
+
export type LiveListener = (state: LiveQueryState, update: QueryUpdate | null) => void;
|
|
23
|
+
/** Applies `query-update` pushes to an ordered record set. */
|
|
24
|
+
export declare class LiveResult implements LiveQueryState {
|
|
25
|
+
private byId;
|
|
26
|
+
private order;
|
|
27
|
+
private cached;
|
|
28
|
+
complete: boolean;
|
|
29
|
+
asOf: number;
|
|
30
|
+
stale: boolean;
|
|
31
|
+
metadata: QueryMetadata | undefined;
|
|
32
|
+
get records(): readonly RecordView[];
|
|
33
|
+
get(id: Uuid): RecordView | undefined;
|
|
34
|
+
/** Mark stale (reconnect); records stay until the next snapshot replaces them. */
|
|
35
|
+
markStale(): void;
|
|
36
|
+
apply(u: QueryUpdate): void;
|
|
37
|
+
private reorder;
|
|
38
|
+
}
|
package/dist/live.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/** Applies `query-update` pushes to an ordered record set. */
|
|
2
|
+
export class LiveResult {
|
|
3
|
+
byId = new Map();
|
|
4
|
+
order = [];
|
|
5
|
+
cached = [];
|
|
6
|
+
complete = false;
|
|
7
|
+
asOf = 0;
|
|
8
|
+
stale = true;
|
|
9
|
+
metadata;
|
|
10
|
+
get records() {
|
|
11
|
+
return (this.cached ??= this.order.map((id) => this.byId.get(id)).filter(Boolean));
|
|
12
|
+
}
|
|
13
|
+
get(id) {
|
|
14
|
+
return this.byId.get(id);
|
|
15
|
+
}
|
|
16
|
+
/** Mark stale (reconnect); records stay until the next snapshot replaces them. */
|
|
17
|
+
markStale() {
|
|
18
|
+
this.stale = true;
|
|
19
|
+
this.metadata = undefined;
|
|
20
|
+
}
|
|
21
|
+
apply(u) {
|
|
22
|
+
switch (u.kind) {
|
|
23
|
+
case "reset":
|
|
24
|
+
this.stale = true;
|
|
25
|
+
break;
|
|
26
|
+
case "snapshot": {
|
|
27
|
+
this.byId.clear();
|
|
28
|
+
this.order = [];
|
|
29
|
+
for (const r of u.added ?? []) {
|
|
30
|
+
if (!this.byId.has(r.id))
|
|
31
|
+
this.order.push(r.id);
|
|
32
|
+
this.byId.set(r.id, r);
|
|
33
|
+
}
|
|
34
|
+
if (u.order)
|
|
35
|
+
this.reorder(u.order);
|
|
36
|
+
this.stale = false;
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
case "diff": {
|
|
40
|
+
if (u.removed?.length) {
|
|
41
|
+
const gone = new Set(u.removed);
|
|
42
|
+
for (const id of gone)
|
|
43
|
+
this.byId.delete(id);
|
|
44
|
+
this.order = this.order.filter((id) => !gone.has(id));
|
|
45
|
+
}
|
|
46
|
+
for (const r of u.changed ?? []) {
|
|
47
|
+
if (!this.byId.has(r.id))
|
|
48
|
+
this.order.push(r.id);
|
|
49
|
+
this.byId.set(r.id, r);
|
|
50
|
+
}
|
|
51
|
+
for (const r of u.added ?? []) {
|
|
52
|
+
if (!this.byId.has(r.id))
|
|
53
|
+
this.order.push(r.id);
|
|
54
|
+
this.byId.set(r.id, r);
|
|
55
|
+
}
|
|
56
|
+
if (u.order)
|
|
57
|
+
this.reorder(u.order);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Metadata is a full replacement at THIS update's asOf, never a delta.
|
|
62
|
+
// Reset/reconnect or omission must not present an older count/group as current.
|
|
63
|
+
this.metadata = u.kind === "reset" || this.stale ? undefined : u.metadata;
|
|
64
|
+
this.complete = u.complete;
|
|
65
|
+
this.asOf = u.asOf;
|
|
66
|
+
this.cached = null;
|
|
67
|
+
}
|
|
68
|
+
reorder(order) {
|
|
69
|
+
// The full ordered list. IDs we don't hold are skipped; rows missing from it keep
|
|
70
|
+
// their place at the end (they will be corrected by the next diff).
|
|
71
|
+
const seen = new Set();
|
|
72
|
+
const next = [];
|
|
73
|
+
for (const id of order)
|
|
74
|
+
if (this.byId.has(id) && !seen.has(id))
|
|
75
|
+
(seen.add(id), next.push(id));
|
|
76
|
+
for (const id of this.order)
|
|
77
|
+
if (!seen.has(id))
|
|
78
|
+
next.push(id);
|
|
79
|
+
this.order = next;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=live.js.map
|
package/dist/live.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live.js","sourceRoot":"","sources":["../src/live.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** Managed artifact literal. Only a signature-verified per-stack local build
|
|
2
|
+
* replaces this literal; never a runtime environment/config option. Thin-safe. */
|
|
3
|
+
export declare const LOCAL_APPLICATION_BUILD: boolean;
|
|
4
|
+
/** Transport admission only: never authenticates release context or authority.
|
|
5
|
+
* Kept behind the compiled literal so runtime flags cannot relax managed TLS. */
|
|
6
|
+
export declare function localApplicationHttpOrigin(value: string): boolean;
|
|
7
|
+
/** The relay's local equivalent of TLS; credentials still travel in the first
|
|
8
|
+
* frame, never in a URL. Managed relays continue to require wss. */
|
|
9
|
+
export declare function localApplicationWebSocketUrl(value: string): boolean;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/** Managed artifact literal. Only a signature-verified per-stack local build
|
|
2
|
+
* replaces this literal; never a runtime environment/config option. Thin-safe. */
|
|
3
|
+
export const LOCAL_APPLICATION_BUILD = false;
|
|
4
|
+
/** Transport admission only: never authenticates release context or authority.
|
|
5
|
+
* Kept behind the compiled literal so runtime flags cannot relax managed TLS. */
|
|
6
|
+
export function localApplicationHttpOrigin(value) {
|
|
7
|
+
if (!LOCAL_APPLICATION_BUILD)
|
|
8
|
+
return false;
|
|
9
|
+
try {
|
|
10
|
+
const url = new URL(value);
|
|
11
|
+
return url.protocol === "http:" && ["127.0.0.1", "localhost", "[::1]"].includes(url.hostname)
|
|
12
|
+
&& Number(url.port) > 0 && url.origin === value && !url.username && !url.password;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
/** The relay's local equivalent of TLS; credentials still travel in the first
|
|
19
|
+
* frame, never in a URL. Managed relays continue to require wss. */
|
|
20
|
+
export function localApplicationWebSocketUrl(value) {
|
|
21
|
+
if (!LOCAL_APPLICATION_BUILD)
|
|
22
|
+
return false;
|
|
23
|
+
try {
|
|
24
|
+
const url = new URL(value);
|
|
25
|
+
return url.protocol === "ws:" && !url.username && !url.password && !url.hash
|
|
26
|
+
&& (url.origin === value || url.href === value)
|
|
27
|
+
&& localApplicationHttpOrigin(`http://${url.host}`);
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=local-build.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-build.js","sourceRoot":"","sources":["../src/local-build.ts"],"names":[],"mappings":"AAAA;kFACkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAY,KAAK,CAAC;AAEtD;iFACiF;AACjF,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,IAAI,CAAC,uBAAuB;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;eACxF,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtF,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC;AAED;oEACoE;AACpE,MAAM,UAAU,4BAA4B,CAAC,KAAa;IACxD,IAAI,CAAC,uBAAuB;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI;eACvE,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC;eAC5C,0BAA0B,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "mdbase-sdk/npm-publication/1",
|
|
3
|
+
"commit": "4443fd15c4a591e46538eae24cf8425708e6a7f0",
|
|
4
|
+
"environment": "production",
|
|
5
|
+
"trust": {
|
|
6
|
+
"package": "@mdbase-dev/sdk",
|
|
7
|
+
"sha256": "7912e40838213e60b65848350d319a48019021317b112e3326429b250f0133d7",
|
|
8
|
+
"bytes": 840,
|
|
9
|
+
"cpOrigin": "https://connect.mdbase.dev",
|
|
10
|
+
"logOrigin": "https://log.mdbase.dev",
|
|
11
|
+
"sourceCommit": "36abd4b065be9495a7f5ae0808865a1f2279af04",
|
|
12
|
+
"sourceVersion": "0.1.0-beta.141"
|
|
13
|
+
},
|
|
14
|
+
"runtime": {
|
|
15
|
+
"sha256": "643eef6203bc7d394c76f9e305faa8977ea97785758b9cb076efda05d4f4d83f",
|
|
16
|
+
"bytes": 3720400,
|
|
17
|
+
"maxBytes": 3720400,
|
|
18
|
+
"source": {
|
|
19
|
+
"repository": "mdbase-dev/mdbase-connect",
|
|
20
|
+
"commit": "e161f426a521c39adf8ca057255fa940338f7de4"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
Binary file
|