@mdbase-dev/sdk 0.0.0-stage → 0.1.0-beta.153
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 +48 -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 +606 -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 +608 -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 +376 -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 +40 -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 +34835 -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 +49398 -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 +658 -0
- package/dist/client.js +1966 -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 +13 -0
- package/dist/local-build.js +47 -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 +857 -0
- package/dist/wire.js +915 -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
|
@@ -0,0 +1,452 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared user-facing copy for SDK errors, sign-in/open problems and readiness.
|
|
3
|
+
*
|
|
4
|
+
* Plain language plus one suggested action. Never returns raw codes, server
|
|
5
|
+
* messages or exception text. English by default; pass `messages` to
|
|
6
|
+
* translate by `key`. No Worker, wasm or network imports, so it is safe in any
|
|
7
|
+
* bundle. Every server-provided field is untrusted: only known codes select
|
|
8
|
+
* copy, retry delays are clamped and update links are allowlisted.
|
|
9
|
+
*
|
|
10
|
+
* The problem vocabulary is closed: `ProblemCode` lists every code an app can
|
|
11
|
+
* meet, and `COPY` must give each one plain copy (checked by the compiler).
|
|
12
|
+
* Other SDK codes either alias a ProblemCode or are internal (described by
|
|
13
|
+
* their `MdbaseError` code); a source-scan test fails on any unclassified code.
|
|
14
|
+
*/
|
|
15
|
+
import { registrationRefusal, registrationRefusalMessage } from "./application/registration-refusal.js";
|
|
16
|
+
import { isCollectionUnavailableReason } from "./collection-availability.js";
|
|
17
|
+
import { DEFAULT_UPDATE_URL, MAX_SERVER_RETRY_MS, MIN_SERVER_RETRY_MS, sanitizeAppServerProblem, trustedUpdateUrl } from "./app-host/cp-problem.js";
|
|
18
|
+
const LABELS = {
|
|
19
|
+
retry: "Try again", wait: null, reload: "Reload", sign_in: "Sign in", approve: "Approve",
|
|
20
|
+
choose_collection: "Choose a collection", set_up: "Set up", update_app: "Update the app",
|
|
21
|
+
free_space: "Manage storage", check_connection: "Try again", resolve_outcome: "Check and try again",
|
|
22
|
+
contact_support: "Contact support", none: null,
|
|
23
|
+
};
|
|
24
|
+
/** Every problem code an app can meet. Each has plain copy in COPY. */
|
|
25
|
+
export const PROBLEM_CODES = [
|
|
26
|
+
// Collection availability.
|
|
27
|
+
"device_offline", "desktop_update_required", "old_connector_running", "sync_required", "no_device_registered",
|
|
28
|
+
"access_removed", "read_only", "capability_missing", "collection_deleted", "collection_unavailable", "moved_to_next_runtime", "device_approval_required",
|
|
29
|
+
// Server outcomes.
|
|
30
|
+
"collection_migrating", "collection_not_yet_migrated", "account_suspended", "update_required", "account_collection_quota_exceeded",
|
|
31
|
+
// MdbaseError codes (the 15).
|
|
32
|
+
"invalid_request", "invalid_record", "not_found", "conflict", "unauthenticated", "forbidden", "collection_invalid",
|
|
33
|
+
"unavailable", "rate_limited", "quota_exceeded", "too_large", "outcome_unknown", "internal",
|
|
34
|
+
// Sign-in, open and sign-out.
|
|
35
|
+
"refused", "expired", "approval_window_closed", "account_confirmation_required", "recovery_required", "open_failed",
|
|
36
|
+
"busy", "open_in_another_tab", "not_authorized", "sign_out_pending_writes", "sign_out_failed",
|
|
37
|
+
// Application entry.
|
|
38
|
+
"application_popup_blocked", "sign_in_window", "application_not_yet_available", "application_failed",
|
|
39
|
+
"application_worker_unavailable", "browser_unsupported", "application_storage_unavailable", "storage_may_be_evicted",
|
|
40
|
+
"application_registration_unsupported", "application_registration_refused",
|
|
41
|
+
"application_selection_not_approved", "application_selection_invalid", "installation_scope_removed", "recovery_account_mismatch", "assets",
|
|
42
|
+
// Readiness.
|
|
43
|
+
"setup_required", "incompatible", "approval_required", "contract_mismatch", "contract_missing", "implementation_missing",
|
|
44
|
+
"catalog_invalid", "catalog_response", "type_invalid", "readiness_budget", "readiness_unsupported",
|
|
45
|
+
"notifications_consent_required", "timer_channel_reapproval_required", "notifications_unsupported",
|
|
46
|
+
"people_unsupported", "people_permission_declined", "people_access",
|
|
47
|
+
"configuration_conflict", "configuration_unavailable", "configuration_unsupported", "configuration_busy_timeout", "readiness_busy_timeout",
|
|
48
|
+
// Setup review.
|
|
49
|
+
"setup_forbidden", "setup_conflict", "setup_unresolved", "collection_setup_conflict", "setup_records_forbidden", "setup_changed", "installed_newer",
|
|
50
|
+
"type_pack_conflict", "invalid_type_pack",
|
|
51
|
+
// Optional file actions.
|
|
52
|
+
"access_required", "access_declined", "access_undeclared", "files_access_missing", "files_scope_missing", "file_read_failed", "file_read_idle",
|
|
53
|
+
// Collection delete.
|
|
54
|
+
"collection_delete_name_mismatch", "collection_delete_not_owner", "collection_delete_not_found", "collection_delete_frozen",
|
|
55
|
+
"collection_delete_busy", "collection_delete_not_approved", "collection_delete_sign_in", "collection_delete_invalid",
|
|
56
|
+
"collection_delete_outcome_unknown", "collection_delete_failed",
|
|
57
|
+
// Account keys (Private collections).
|
|
58
|
+
"wrong_secret", "locked", "weak_password", "already_set_up", "no_account_key",
|
|
59
|
+
];
|
|
60
|
+
const GENERIC = ["Something went wrong", "An unexpected problem occurred. Reload the app, and contact support if it keeps happening.", "reload", "error"];
|
|
61
|
+
const BUSY = ["Another step hasn't finished", "The app couldn't finish this step yet. Try again, or reload if it keeps happening.", "retry", "warning", true];
|
|
62
|
+
const OFFLINE = ["Can't connect right now", "mdbase couldn't be reached. Check your connection and try again.", "check_connection", "warning"];
|
|
63
|
+
const UPDATE = ["Update required", "Update mdbase on this computer, then reload the app to try again.", "update_app", "warning", false, "Update mdbase"];
|
|
64
|
+
const CHOOSE = ["Choose a collection", "Pick the collection you want this app to use.", "choose_collection", "info"];
|
|
65
|
+
const APPROVE = ["Approval needed", "This app needs your approval for extra access to your collection.", "approve", "info"];
|
|
66
|
+
const SET_UP = ["Set up this collection", "This collection needs a one-time setup before the app can use it.", "set_up", "info"];
|
|
67
|
+
const COPY = {
|
|
68
|
+
// Private collections served by one of the account's computers (collection availability).
|
|
69
|
+
device_offline: ["Your computer isn't online", "This collection is kept on your computer. Open the mdbase desktop app on a computer that has it, and this app connects as soon as it's online.", "wait", "info", true],
|
|
70
|
+
desktop_update_required: ["Update mdbase on your computer", "The mdbase desktop app on the computer that has this collection is out of date. Update it there, then try again.", "update_app", "warning", false, "Get the update"],
|
|
71
|
+
old_connector_running: ["Quit the old mdbase Connect app", "The old mdbase Connect app is still running on the computer that has this collection. Quit it there (including its menu-bar or tray icon), then open the mdbase desktop app.", "retry", "warning"],
|
|
72
|
+
sync_required: ["Give this app access again", "Access to this collection changed since you approved this app. Approve it again to keep using the collection.", "approve", "warning", false, "Approve again"],
|
|
73
|
+
no_device_registered: ["Turn on sync for this collection", "No computer is offering this collection to apps. Open the mdbase desktop app on the computer that has it and turn on sync. Web apps can reach a collection once sync is on.", "retry", "info"],
|
|
74
|
+
installation_scope_removed: ["Access was removed", "This app's previous installation cannot regain access to this collection. Request access again to approve a new installation for this collection. Your other collections keep their access.", "approve", "warning", false, "Request access again"],
|
|
75
|
+
access_removed: ["You no longer have access", "You were removed from this collection, so this app can't open it. Ask its owner to add you again, or choose another collection.", "choose_collection", "warning"],
|
|
76
|
+
collection_deleted: ["Collection deleted", "This collection was deleted, so it can't be opened any more. Choose another collection.", "choose_collection", "info"],
|
|
77
|
+
collection_unavailable: ["Collection not available", "This collection can't be opened from this app right now. It may no longer be shared with this app, or the computer that offered it stopped. Choose another collection, or try again later.", "choose_collection", "warning"],
|
|
78
|
+
moved_to_next_runtime: ["mdbase was upgraded", "This collection now uses the new version of mdbase. Update the app to keep using it; for a web app, reloading the page is enough. If the collection still doesn't appear, open the mdbase desktop app and turn on sync for it so web apps can reach it.", "update_app", "warning"],
|
|
79
|
+
// `approval_required` (readiness) means approval in the portal; this one means on a computer.
|
|
80
|
+
device_approval_required: ["Waiting for your computer", "Keep a computer with this collection running mdbase and signed in. This app connects when it is ready.", "wait", "info", true],
|
|
81
|
+
collection_not_yet_migrated: ["Your collection needs an upgrade", "Your data is safe. Open the latest mdbase desktop app on the computer that keeps this collection to finish upgrading it, then try again.", "retry", "info"],
|
|
82
|
+
collection_migrating: ["Your collection is being upgraded", "Your data is safe. This usually takes a few minutes, and the app reconnects by itself when it's done.", "wait", "info", true],
|
|
83
|
+
account_suspended: ["Your account is suspended", "Your mdbase account has been suspended, so this app can't open your collections. Contact mdbase support for help.", "contact_support", "error"],
|
|
84
|
+
update_required: UPDATE,
|
|
85
|
+
invalid_request: ["Couldn't do that", "Some of the information isn't valid. Check it and try again.", "none", "warning"],
|
|
86
|
+
invalid_record: ["Couldn't save that", "Some fields aren't valid. Check them and try again.", "none", "warning"],
|
|
87
|
+
not_found: ["Not found", "This item no longer exists. It may have been deleted on another device.", "none", "info"],
|
|
88
|
+
conflict: ["Changed somewhere else", "This item was changed on another device. Review the latest version and try again.", "retry", "warning"],
|
|
89
|
+
unauthenticated: ["Sign in again", "Your session has ended. Sign in again to continue.", "sign_in", "warning"],
|
|
90
|
+
read_only: ["View access only", "You have view access, so changes can't be saved. Ask the collection's owner for edit access.", "none", "warning"],
|
|
91
|
+
forbidden: ["Access needed", "This app doesn't have permission to do that. Approve access to continue.", "approve", "warning"],
|
|
92
|
+
collection_invalid: ["Your collection needs repair", "Something in this collection isn't valid. Contact support if this keeps happening.", "contact_support", "error"],
|
|
93
|
+
unavailable: OFFLINE,
|
|
94
|
+
rate_limited: ["Too many requests", "Wait a moment, then try again.", "retry", "warning", true],
|
|
95
|
+
quota_exceeded: ["Out of storage", "Your collection has reached its storage limit. Free up space to keep saving.", "free_space", "error"],
|
|
96
|
+
account_collection_quota_exceeded: ["Synced collection limit reached", "Your account has reached its synced collection limit. Delete a synced collection before creating another.", "free_space", "error", false, "Manage collections"],
|
|
97
|
+
too_large: ["That's too large", "This item is larger than mdbase allows.", "none", "warning"],
|
|
98
|
+
outcome_unknown: ["Not sure that worked", "The connection dropped before mdbase confirmed it. Check whether it went through before trying again.", "resolve_outcome", "warning"],
|
|
99
|
+
internal: GENERIC,
|
|
100
|
+
refused: ["Sign-in didn't go through", "mdbase didn't accept this sign-in. Try signing in again.", "sign_in", "warning"],
|
|
101
|
+
expired: ["Sign-in timed out", "The sign-in request expired. Start again to get a new one.", "sign_in", "warning"],
|
|
102
|
+
approval_window_closed: ["Sign-in wasn't finished", "The mdbase window was closed before access was approved. Sign in again to continue.", "sign_in", "info"],
|
|
103
|
+
account_confirmation_required: ["Confirm your account", "Confirm which mdbase account to use, then continue.", "sign_in", "info"],
|
|
104
|
+
recovery_account_mismatch: ["Use a different account", "Sign in with the account you originally used for this collection to continue.", "approve", "info", false, "Use a different account"],
|
|
105
|
+
recovery_required: ["Reload required", "The app stopped to keep your data safe. Reload to continue.", "reload", "error"],
|
|
106
|
+
open_failed: ["Couldn't open your collection", "Something went wrong while opening it. Reload the app to try again.", "reload", "error"],
|
|
107
|
+
busy: BUSY,
|
|
108
|
+
file_read_failed: ["Couldn't load the file", "mdbase couldn't finish downloading this file. Check your connection and try opening the collection again.", "retry", "warning"],
|
|
109
|
+
file_read_idle: ["File download timed out", "The file download stopped making progress. Try opening the collection again.", "retry", "warning"],
|
|
110
|
+
configuration_busy_timeout: ["Collection setup is taking too long", "The app is waiting for another setup or metadata request to finish. Try again; if it keeps happening, close other tabs of this app and reload.", "retry", "warning"],
|
|
111
|
+
readiness_busy_timeout: ["Collection checks are taking too long", "The app couldn't get a stable view of the collection yet. Try again when the other step has finished.", "retry", "warning"],
|
|
112
|
+
open_in_another_tab: ["Open in another tab", "This app is already open in another tab. Close that tab, or keep using it there; this tab continues by itself when it's free.", "none", "info", true],
|
|
113
|
+
not_authorized: ["This app can't open this collection", "This app isn't allowed to open this collection. Approve it again, or choose another collection.", "approve", "warning", false, "Approve again"],
|
|
114
|
+
sign_out_pending_writes: ["Changes are still saving", "Some changes haven't reached mdbase yet. Wait for them to finish, or sign out anyway and lose them on this device.", "wait", "warning", false, "Wait"],
|
|
115
|
+
sign_out_failed: ["Couldn't finish signing out", "This device couldn't remove all of its sign-in data. Reload the app and sign out again.", "reload", "error"],
|
|
116
|
+
application_popup_blocked: ["Allow pop-ups to sign in", "Your browser blocked the sign-in window. Allow pop-ups for this site, then try again.", "retry", "warning"],
|
|
117
|
+
sign_in_window: ["Sign-in window problem", "The sign-in window couldn't be opened. Try again.", "retry", "warning"],
|
|
118
|
+
application_not_yet_available: ["Not available yet", "This app isn't available on this version of mdbase yet.", "none", "info"],
|
|
119
|
+
application_failed: ["The app stopped", "Something inside the app stopped working. Your data is safe. Reload to continue.", "reload", "error"],
|
|
120
|
+
application_worker_unavailable: ["This browser can't run the app", "Open the app in a current version of Chrome, Edge, Firefox or Safari.", "none", "error"],
|
|
121
|
+
browser_unsupported: ["This browser can't run mdbase", "Update Safari to 17.4 or newer, Firefox to 130 or newer, or Chrome or Edge to 133 or newer, then open the app again.", "none", "error"],
|
|
122
|
+
application_storage_unavailable: ["This browser can't keep mdbase data on this device", "Private browsing may be on. Open the app in a regular window so your changes can be kept safely on this device.", "none", "error"],
|
|
123
|
+
storage_may_be_evicted: ["Not synced yet", "Some changes are only on this device. Stay online so they can sync.", "check_connection", "warning"],
|
|
124
|
+
application_registration_unsupported: ["This app can't connect", "This version of the app isn't supported by mdbase. Update the app.", "update_app", "error"],
|
|
125
|
+
application_registration_refused: ["This app can't connect", "This app can't connect right now. Contact the app's developer.", "contact_support", "error"],
|
|
126
|
+
application_selection_not_approved: ["Collection not approved", "This app hasn't been given access to that collection. Approve it to continue.", "approve", "info"],
|
|
127
|
+
application_selection_invalid: CHOOSE,
|
|
128
|
+
assets: ["The app couldn't load", "Some of the app's files couldn't be loaded. Check your connection and reload.", "reload", "error"],
|
|
129
|
+
setup_required: SET_UP,
|
|
130
|
+
incompatible: ["This collection isn't compatible", "This collection uses a format this version of the app doesn't support. Update the app.", "update_app", "error"],
|
|
131
|
+
approval_required: APPROVE,
|
|
132
|
+
capability_missing: APPROVE,
|
|
133
|
+
contract_mismatch: ["Your collection's format differs", "This collection's record types don't match what this app expects. Set it up again or update the app.", "set_up", "warning"],
|
|
134
|
+
contract_missing: ["Set up this collection", "This collection is missing record types this app needs. Set it up to continue.", "set_up", "info"],
|
|
135
|
+
implementation_missing: ["Set up this collection", "A record type in this collection doesn't provide the fields this app needs. Set it up to continue.", "set_up", "info"],
|
|
136
|
+
catalog_invalid: ["A definition has a problem", "A definition in this collection has an error, so the app can't open the collection safely. Fix the definition in your collection, and the app picks up the change.", "none", "warning"],
|
|
137
|
+
catalog_response: ["Couldn't read this collection's definitions", "The app couldn't read how this collection is defined, so it didn't open it. Nothing was changed. Try again.", "retry", "warning"],
|
|
138
|
+
type_invalid: ["A record type isn't available", "This record type has an error in its definition, so the app can't use it right now. Everything else still works. Fix the type in your collection to use it again.", "none", "warning"],
|
|
139
|
+
readiness_budget: ["This collection is too large to check", "This collection has more definitions than the app can check at once. Contact the app's developer.", "contact_support", "warning"],
|
|
140
|
+
readiness_unsupported: ["Update the app", "This collection uses features this version of the app can't check. Update the app to open it.", "update_app", "warning"],
|
|
141
|
+
notifications_consent_required: ["Allow reminders", "Approve notifications so reminders can reach this device.", "approve", "info"],
|
|
142
|
+
timer_channel_reapproval_required: ["Allow reminders again", "Approve notifications again so reminders keep reaching this device.", "approve", "info"],
|
|
143
|
+
notifications_unsupported: ["Reminders aren't available here", "This browser or device can't receive notifications.", "none", "info"],
|
|
144
|
+
people_unsupported: ["Sharing isn't available here", "People and sharing aren't supported for this collection yet.", "none", "info"],
|
|
145
|
+
people_permission_declined: ["People aren't shown", "This app wasn't allowed to see who else is in this collection. Approve it again and allow people to show them here.", "approve", "info", false, "Approve again"],
|
|
146
|
+
people_access: ["People can't be shown", "This app can't see the people in this collection right now. Everything else still works.", "none", "info"],
|
|
147
|
+
configuration_conflict: ["Settings changed elsewhere", "These settings were changed on another device. Review them and try again.", "retry", "warning"],
|
|
148
|
+
// The collection's setup couldn't be assessed: not a network problem.
|
|
149
|
+
configuration_unavailable: ["Couldn't check this collection's setup", "The app couldn't read how this collection is set up, so it didn't open it. Nothing in the collection was changed. Try again, and contact support if it keeps happening.", "retry", "warning"],
|
|
150
|
+
configuration_unsupported: ["This app can't set up this collection", "This app's setup isn't supported by this version of mdbase. Contact the app's developer.", "contact_support", "warning"],
|
|
151
|
+
setup_forbidden: ["You can't set up this collection", "Your access to this collection doesn't allow setting it up. Ask its owner to open it in this app first.", "choose_collection", "warning"],
|
|
152
|
+
setup_conflict: ["Setup needs your decision", "Some things in this collection differ from what this app needs. Review them to continue.", "set_up", "warning", false, "Review setup"],
|
|
153
|
+
setup_unresolved: ["Setup can't finish", "This collection is missing something this app needs, and setup can't add it. A note type this app set up may have been changed or removed. Restore it, then try again.", "retry", "warning"],
|
|
154
|
+
collection_setup_conflict: ["Collection setup conflicts", "This collection's definitions conflict with what this app requires. Ask its owner to review them, or choose a different collection. Setup cannot continue while these conflicts remain.", "choose_collection", "warning"],
|
|
155
|
+
setup_records_forbidden: ["You can't add notes to this collection", "Your access to this collection doesn't allow creating notes, which this app's setup needs. Ask its owner for more access.", "choose_collection", "warning"],
|
|
156
|
+
setup_changed: ["This collection changed", "The collection changed while you were reviewing its setup. Review the setup again; nothing was changed yet.", "set_up", "info", false, "Review again"],
|
|
157
|
+
installed_newer: ["Update the app", "A newer version of this app set up this collection with changes this version can't use. Update the app to keep using the collection.", "update_app", "warning"],
|
|
158
|
+
type_pack_conflict: ["Setup needs your decision", "Some record types already exist with different content. Review them to continue.", "set_up", "warning", false, "Review setup"],
|
|
159
|
+
invalid_type_pack: ["This app's setup has a problem", "Setting up this collection would leave it invalid, so nothing was changed. Contact the app's developer.", "contact_support", "warning"],
|
|
160
|
+
// Optional file actions asked for at the moment of use (requestAccess).
|
|
161
|
+
access_required: ["Allow this app to change files?", "This app needs your permission before it can add or change files in this collection.", "approve", "info", false, "Allow"],
|
|
162
|
+
access_declined: ["Not allowed", "You chose not to allow this. Everything else in the app works as before, and you can allow it the next time you try.", "none", "info"],
|
|
163
|
+
access_undeclared: ["This app can't do that", "This app isn't set up to change files this way. Contact the app's developer if you need it.", "none", "warning"],
|
|
164
|
+
files_access_missing: ["This app can't use this collection", "Your access to this collection doesn't include the file changes this app needs. Ask the collection's owner for more access.", "none", "warning"],
|
|
165
|
+
files_scope_missing: ["This app can't use this collection", "This app needs access to all files in this collection, but your access covers only some folders. Ask the collection's owner for more access.", "none", "warning"],
|
|
166
|
+
collection_delete_name_mismatch: ["The name doesn't match", "Type the collection's current name exactly to delete it.", "none", "warning"],
|
|
167
|
+
collection_delete_not_owner: ["Only the owner can delete this", "Ask the collection's owner to delete it.", "none", "info"],
|
|
168
|
+
collection_delete_not_found: ["Collection not found", "This collection no longer exists, or this app can't reach it. It may already have been deleted.", "none", "info"],
|
|
169
|
+
collection_delete_frozen: ["Can't delete right now", "Your account is being upgraded, so collections can't be deleted until that finishes. Try again later.", "retry", "warning"],
|
|
170
|
+
collection_delete_busy: ["mdbase is busy", "Wait a moment, then try deleting again.", "retry", "warning", true],
|
|
171
|
+
collection_delete_not_approved: ["This app can't delete this collection", "This app doesn't have access to this collection anymore. Approve it again, then try again.", "approve", "warning"],
|
|
172
|
+
collection_delete_sign_in: ["Sign in again", "This device's sign-in is no longer current. Sign in again, then try deleting again.", "sign_in", "warning"],
|
|
173
|
+
collection_delete_invalid: ["Couldn't delete the collection", "Check the name you typed and try again.", "none", "warning"],
|
|
174
|
+
collection_delete_outcome_unknown: ["Not sure the collection was deleted", "The connection dropped before mdbase confirmed. Reload your collections to check before trying again.", "resolve_outcome", "warning"],
|
|
175
|
+
collection_delete_failed: ["Couldn't delete the collection", "Something went wrong. Try again, and contact support if it keeps happening.", "retry", "error"],
|
|
176
|
+
wrong_secret: ["That isn't right", "The password or recovery key doesn't match. Check it and try again.", "none", "warning"],
|
|
177
|
+
locked: ["Too many attempts", "Wait a few minutes before trying again.", "wait", "warning", true],
|
|
178
|
+
weak_password: ["Choose a stronger password", "That password is too easy to guess. Use a longer one, or a few unrelated words.", "none", "warning"],
|
|
179
|
+
already_set_up: ["Already set up", "Your account key is already set up on this account.", "none", "info"],
|
|
180
|
+
no_account_key: ["Set up your account key", "This account doesn't have an account key yet. Set one up to use Private collections.", "none", "info"],
|
|
181
|
+
};
|
|
182
|
+
/** Codes that mean the same outcome as a ProblemCode (server reasons, facet
|
|
183
|
+
* and entry variants). Explicit: there is no suffix guessing. */
|
|
184
|
+
const ALIASES = Object.assign(Object.create(null), {
|
|
185
|
+
no_device_online: "device_offline", collection_moved: "moved_to_next_runtime", client_update_required: "update_required",
|
|
186
|
+
upgrade_required: "update_required",
|
|
187
|
+
// Compatibility details can be published without their upgrade_required wrapper.
|
|
188
|
+
declared_setup_unsupported: "update_required", resource_setup_unsupported: "update_required",
|
|
189
|
+
type_packs_unsupported: "update_required", describe_definitions_unsupported: "update_required",
|
|
190
|
+
contract_records_unsupported: "update_required", record_links_unsupported: "update_required",
|
|
191
|
+
change_entity_unsupported: "update_required", timer_operation_recovery_unavailable: "update_required",
|
|
192
|
+
contract_query_version: "update_required", unsupported_push_version: "update_required",
|
|
193
|
+
// The SDK re-checks a concurrent change or an occupied step by itself.
|
|
194
|
+
fenced: "busy", reconnecting: "busy", application_busy: "busy", application_fenced: "busy", application_entry_fenced: "busy",
|
|
195
|
+
application_asset_fenced: "busy", application_connection_busy: "busy", application_connection_fenced: "busy",
|
|
196
|
+
application_readiness_busy: "busy", application_readiness_fenced: "busy", application_registration_fenced: "busy",
|
|
197
|
+
application_selection_busy: "busy", application_selection_fenced: "busy", application_worker_busy: "busy",
|
|
198
|
+
application_worker_fenced: "busy", application_popup_fenced: "busy", readiness_fenced: "busy", readiness_busy: "busy",
|
|
199
|
+
readiness_changed: "busy", configuration_busy: "busy", configuration_fenced: "busy", files_fenced: "busy",
|
|
200
|
+
people_fenced: "busy", people_readiness_busy: "busy", people_readiness_fenced: "busy",
|
|
201
|
+
notification_readiness_busy: "busy", notification_readiness_fenced: "busy", record_links_fenced: "busy",
|
|
202
|
+
// An internal invariant failed: the Worker, page and SDK stop safely.
|
|
203
|
+
binding: "application_failed", response: "application_failed", application_declaration: "application_failed",
|
|
204
|
+
application_connection_binding: "application_failed", application_popup_binding: "application_failed",
|
|
205
|
+
application_registration_response: "application_failed",
|
|
206
|
+
application_selection_binding: "application_failed", application_worker_binding: "application_failed",
|
|
207
|
+
application_worker_module_binding: "application_failed", application_entry_unavailable: "application_failed",
|
|
208
|
+
application_readiness_unavailable: "application_failed", configuration_binding: "application_failed",
|
|
209
|
+
configuration_response: "application_failed", files_unavailable: "application_failed",
|
|
210
|
+
application_stop_failed: "recovery_required", application_worker_stop_failed: "recovery_required",
|
|
211
|
+
application_popup_stop_failed: "recovery_required", configuration_recovery_required: "recovery_required",
|
|
212
|
+
application_popup_unavailable: "sign_in_window",
|
|
213
|
+
// Registration could not reach the CP: a connection problem.
|
|
214
|
+
application_registration_unavailable: "unavailable", application_registration_unknown: "unavailable",
|
|
215
|
+
application_connection_unavailable: "unavailable", readiness_unavailable: "unavailable",
|
|
216
|
+
grant_activation_timeout: "unavailable",
|
|
217
|
+
application_connection_people_unavailable: "people_access", people_unavailable: "people_access",
|
|
218
|
+
people_response: "people_access", people_binding: "people_access", people_budget: "people_access", people_incomplete: "people_access",
|
|
219
|
+
application_selection_empty: "application_selection_invalid", application_selection_duplicate: "application_selection_invalid",
|
|
220
|
+
application_selection_metadata: "application_selection_invalid",
|
|
221
|
+
application_lab_trust_unavailable: "assets", application_production_trust_unavailable: "assets",
|
|
222
|
+
application_release_trust_unavailable: "assets",
|
|
223
|
+
application_packaged_assets_unavailable: "assets", application_asset_fetch: "assets",
|
|
224
|
+
grant_required: "approval_required",
|
|
225
|
+
readiness_capability_version: "readiness_unsupported", readiness_type_invalid: "type_invalid",
|
|
226
|
+
configuration_not_authorized: "setup_forbidden", configuration_unsupported_source_provision: "configuration_unsupported",
|
|
227
|
+
setup_downgrade: "installed_newer", type_pack_downgrade: "installed_newer", installed_newer_major: "installed_newer",
|
|
228
|
+
timer_push_platform: "notifications_unsupported", push_registration_missing: "notifications_consent_required",
|
|
229
|
+
});
|
|
230
|
+
/** Readiness facets publish `readiness_<reason>`; some reasons need their own key. */
|
|
231
|
+
const READINESS = Object.assign(Object.create(null), {
|
|
232
|
+
budget: "readiness_budget", unsupported: "readiness_unsupported",
|
|
233
|
+
});
|
|
234
|
+
/** Not problems: the SDK handled them, or the person chose them. describeError returns null. */
|
|
235
|
+
export const NON_PROBLEM_CODES = ["application_registration_id_superseded", "application_closing", "cancelled", "aborted"];
|
|
236
|
+
const NON_PROBLEMS = new Set(NON_PROBLEM_CODES);
|
|
237
|
+
/** Published inventory of codec/protocol internals, test fakes and developer
|
|
238
|
+
* misuse. Previously exported compatibility details remain here for source
|
|
239
|
+
* compatibility; problemCodeOf and ALIASES now give those details update copy
|
|
240
|
+
* even when their MdbaseError wrapper is no longer available. */
|
|
241
|
+
export const INTERNAL_PROBLEM_CODES = [
|
|
242
|
+
// CBOR / codec internals.
|
|
243
|
+
"duplicate_key", "float", "hash", "indefinite", "int", "mixed_map_keys", "non_canonical_head", "simple", "tag", "too_deep",
|
|
244
|
+
"too_long", "trailing_bytes", "tstr", "uint", "unencodable", "unexpected_end", "unsorted_keys", "utf8", "uuid", "value",
|
|
245
|
+
"unknown_method", "unknown_variant", "unsupported", "storage", "noise", "declared_setup_codec",
|
|
246
|
+
// In-memory test replica and contracts.
|
|
247
|
+
"body", "data_contract_ambiguous", "data_contract_field_conflict", "data_contract_field_unmapped", "data_contract_not_found",
|
|
248
|
+
"data_contract_not_implemented", "data_contract_promote_typed", "digest_mismatch", "invalid_type_definition", "path_taken",
|
|
249
|
+
"revision", "size_mismatch", "transfer_expired", "type_conflict",
|
|
250
|
+
// Developer misuse (invalid_request / invalid_record carry the copy).
|
|
251
|
+
"account_secret_length", "access_invalid", "access_no_collection", "application_sign_in_opener", "change_entity_unsupported",
|
|
252
|
+
"click_target_cross_origin", "context_required", "context_type_mismatch", "cursor_expired", "file_upload_identity_mismatch",
|
|
253
|
+
"invalid_autosave", "invalid_binding", "invalid_call", "invalid_push_payload", "invalid_sas", "invalid_scope",
|
|
254
|
+
"invalid_timeout", "invalid_timer_response", "invalid_typing_response", "invalid_validation_result", "invalid_view",
|
|
255
|
+
"key_id_changed", "read_many_bounds", "read_many_identity_mismatch", "read_many_selection", "record_identity_mismatch",
|
|
256
|
+
"record_lease_policy", "record_links_bounds", "record_links_missing", "record_links_response", "record_links_unsupported",
|
|
257
|
+
"record_recovery_mismatch", "record_session_budget", "record_validation_stale", "record_witness_required", "strength",
|
|
258
|
+
"strict_mode", "typing_bounds", "unsupported_push_version", "validation_bounds", "validation_selection",
|
|
259
|
+
// The build does not match the app's registration: apps describe this in
|
|
260
|
+
// their own words (describeError gives the "unknown" key so their copy wins).
|
|
261
|
+
"application_registration_binding",
|
|
262
|
+
"view_not_found", "view_source_changed", "view_source_witness_required", "bases_read_backpressure",
|
|
263
|
+
"contract_query_response", "contract_query_version", "contract_records_unsupported", "describe_definitions_unsupported",
|
|
264
|
+
"prefix_response", "type_pack_contract_setups_unsupported", "type_packs_unsupported", "resource_setup_unavailable",
|
|
265
|
+
"resource_setup_unsupported", "timer_operation_recovery_unavailable", "declared_setup_unsupported", "setup_outcome_unknown",
|
|
266
|
+
// Storage probe (describes as `unavailable`).
|
|
267
|
+
"cleanup_failed", "opfs_unavailable", "probe_failed", "sync_handle_unavailable", "worker_required",
|
|
268
|
+
// Owner lifecycle (wrapped as open_failed / recovery_required by the session).
|
|
269
|
+
"shutdown_failed",
|
|
270
|
+
// Thin-client, relay and app-grant transport (legacy Private path; wrapped as the 15).
|
|
271
|
+
"authorization_binding", "authorization_callback", "authorization_cancelled", "authorization_denied", "authorization_signature", "authorization_start",
|
|
272
|
+
"authorization_timed_out", "client_key_required", "collection_mismatch", "control_error",
|
|
273
|
+
"control_unreachable", "daemon_not_running", "grant_invalid", "grant_storage", "key_storage", "redirect_uri",
|
|
274
|
+
"relay_insecure", "relay_unauthenticated", "relay_unavailable", "relay_url", "route_mismatch", "token_error",
|
|
275
|
+
"token_response", "untrusted_identity",
|
|
276
|
+
];
|
|
277
|
+
const DEVELOPER = Object.assign(Object.create(null), {
|
|
278
|
+
device_offline: "Collection availability device_offline: no device serving this Private collection is connected to the relay.",
|
|
279
|
+
desktop_update_required: "Collection availability desktop_update_required: the serving device's last relay connection was refused as incompatible.",
|
|
280
|
+
old_connector_running: "Collection availability old_connector_running: the serving device reports a legacy connector still holding its collections.",
|
|
281
|
+
device_approval_required: "Collection availability approval_required: no device has signed an approval for this app's grant yet.",
|
|
282
|
+
sync_required: "Collection availability sync_required: the grant no longer matches the collection's membership; run authorize() again.",
|
|
283
|
+
no_device_registered: "Collection availability no_device_registered: Connect has no device that can serve this collection (none registered with sync on, or its device was revoked).",
|
|
284
|
+
installation_scope_removed: "The original installation lost this collection scope. Only explicit approval of a fresh scoped installation can regain access.",
|
|
285
|
+
access_removed: "Collection availability access_removed: the grant's account is no longer a member of the collection.",
|
|
286
|
+
collection_deleted: "Collection availability collection_deleted: the owner deleted the collection.",
|
|
287
|
+
collection_unavailable: "Connect problem collection_unavailable without a known reason: the collection is not offered to this app or client.",
|
|
288
|
+
moved_to_next_runtime: "Connect problem collection_unavailable, reason moved_to_next_runtime: a legacy route was used for a collection that completed its move to mdbase-next.",
|
|
289
|
+
people_permission_declined: "People members request refused (people_permission_declined): the person did not grant the people permission for this app.",
|
|
290
|
+
people_access: "People request refused (people_access).",
|
|
291
|
+
access_required: "access_required: an optional file action the person has not allowed. Call requestAccess from the user's action, then retry.",
|
|
292
|
+
access_undeclared: "access_undeclared: the file action is not in the manifest's requirements.files.",
|
|
293
|
+
installed_newer: "installed_newer: an installed type pack has a different major version than the one this app ships; same-major newer packs open read/write.",
|
|
294
|
+
application_registration_id_superseded: "The declared application ID is an earlier registration ID: mdbase registers each exact manifest under its own ID, so it changes with the manifest. The SDK uses the registered ID and keeps the declared storage names. Declare the manifest's logical `id` (stable across manifest changes and origins) with pinned storage names to remove this note.",
|
|
295
|
+
application_worker_unavailable: "application_worker_unavailable: this page cannot construct the SDK's module Worker (no Worker/MessageChannel, or a non-web origin).",
|
|
296
|
+
browser_unsupported: "browser_unsupported: the SDK's upfront capability probe found a required browser feature missing (Web Crypto/X25519, AbortSignal.any, Web Locks, BroadcastChannel, IndexedDB, Worker/MessageChannel or crypto.randomUUID); see the MdbaseError details for the missing tokens.",
|
|
297
|
+
application_storage_unavailable: "application_storage_unavailable: navigator.storage.getDirectory() (OPFS) is absent or rejected, as in private browsing; the local replica cannot be kept on this device.",
|
|
298
|
+
storage_may_be_evicted: "storage_may_be_evicted: replica edits are pending for at least 30 seconds or while disconnected on nonpersistent storage (snapshot.saveWarning); only a log-confirmed receipt counts as saved.",
|
|
299
|
+
sign_out_pending_writes: "sign_out_pending_writes: unconfirmed writes are still queued on this device; signOut({discard: true}) discards them.",
|
|
300
|
+
});
|
|
301
|
+
const NAME = /^[a-z][a-z0-9_-]{0,127}$/;
|
|
302
|
+
const str = (v) => typeof v === "string" && NAME.test(v) ? v : null;
|
|
303
|
+
const obj = (v) => v !== null && typeof v === "object" && !Array.isArray(v) ? v : null;
|
|
304
|
+
const retry = (v) => typeof v === "number" && Number.isFinite(v) && v >= 0
|
|
305
|
+
? Math.min(MAX_SERVER_RETRY_MS, Math.max(MIN_SERVER_RETRY_MS, Math.round(v))) : null;
|
|
306
|
+
const isProblemCode = (code) => Object.hasOwn(COPY, code);
|
|
307
|
+
/** The ProblemCode a code means, or null when it has none. */
|
|
308
|
+
export function problemCodeOf(code) {
|
|
309
|
+
if (typeof code !== "string")
|
|
310
|
+
return null;
|
|
311
|
+
if (isProblemCode(code))
|
|
312
|
+
return code;
|
|
313
|
+
if (Object.hasOwn(ALIASES, code))
|
|
314
|
+
return ALIASES[code];
|
|
315
|
+
for (const prefix of ["readiness_", "application_"]) {
|
|
316
|
+
if (!code.startsWith(prefix))
|
|
317
|
+
continue;
|
|
318
|
+
const rest = code.slice(prefix.length);
|
|
319
|
+
if (prefix === "readiness_" && Object.hasOwn(READINESS, rest))
|
|
320
|
+
return READINESS[rest];
|
|
321
|
+
if (isProblemCode(rest))
|
|
322
|
+
return rest;
|
|
323
|
+
if (Object.hasOwn(ALIASES, rest))
|
|
324
|
+
return ALIASES[rest];
|
|
325
|
+
}
|
|
326
|
+
return null;
|
|
327
|
+
}
|
|
328
|
+
function availabilityReason(o) {
|
|
329
|
+
const details = o.details;
|
|
330
|
+
if (details instanceof Map && isCollectionUnavailableReason(details.get("availability")))
|
|
331
|
+
return details.get("availability");
|
|
332
|
+
const value = obj(o.availability) ?? (o.state === "unavailable" ? o : null);
|
|
333
|
+
return value && value.state === "unavailable" && isCollectionUnavailableReason(value.reason) ? value.reason : null;
|
|
334
|
+
}
|
|
335
|
+
/** Find the problem in any SDK shape: a code, an error, a public snapshot or a facet. */
|
|
336
|
+
function problemOf(input, cpOrigin) {
|
|
337
|
+
const code = str(input);
|
|
338
|
+
if (code)
|
|
339
|
+
return { codes: [code], retryAfterMs: null, updateUrl: null };
|
|
340
|
+
const o = obj(input);
|
|
341
|
+
if (!o)
|
|
342
|
+
return null;
|
|
343
|
+
try {
|
|
344
|
+
// A phase: its problem (if any) is already described.
|
|
345
|
+
if (typeof o.kind === "string" && "problem" in o && obj(o.problem) && typeof obj(o.problem).code === "string")
|
|
346
|
+
return problemOf(obj(o.problem).code, cpOrigin);
|
|
347
|
+
// Server detail counts only if it re-validates as a sanitized SDK problem.
|
|
348
|
+
const detail = obj(o.problemDetail), server = sanitizeAppServerProblem(o.server ?? detail?.server, cpOrigin);
|
|
349
|
+
const serverCodes = [server?.reason ?? null, server?.code ?? null].filter((c) => c !== null);
|
|
350
|
+
const extra = { retryAfterMs: server?.retryAfterMs ?? retry(o.retryAfterMs), updateUrl: trustedUpdateUrl(server?.updateUrl, cpOrigin) };
|
|
351
|
+
// Snapshot or facet: { problem: string | {code}, readiness?, assessment?, status? }.
|
|
352
|
+
if ("problem" in o || "readiness" in o || "assessment" in o) {
|
|
353
|
+
const own = str(o.problem) ?? str(obj(o.problem)?.code);
|
|
354
|
+
if (own)
|
|
355
|
+
return { codes: [...serverCodes, own], ...extra, refusal: registrationRefusal(detail?.registration) };
|
|
356
|
+
const readiness = obj(o.readiness) ?? o;
|
|
357
|
+
const assessment = obj(readiness.assessment);
|
|
358
|
+
const facet = str(obj(readiness.problem)?.code) ?? str(obj(assessment?.problem)?.code);
|
|
359
|
+
if (facet)
|
|
360
|
+
return { codes: [facet], ...extra };
|
|
361
|
+
const status = str(assessment?.status) ?? str(o.status);
|
|
362
|
+
if (status === "incompatible" || status === "setup_required")
|
|
363
|
+
return { codes: [status], ...extra };
|
|
364
|
+
return null;
|
|
365
|
+
}
|
|
366
|
+
// Collection availability: {state, reason}, a list entry {availability} or an
|
|
367
|
+
// open error carrying details.availability.
|
|
368
|
+
const availability = availabilityReason(o);
|
|
369
|
+
if (availability)
|
|
370
|
+
return { codes: [availability === "approval_required" ? "device_approval_required" : availability], ...extra };
|
|
371
|
+
if ("state" in o && (o.state === "available" || o.state === "opening"))
|
|
372
|
+
return null;
|
|
373
|
+
// Errors: MdbaseError {code, reason}, SDK errors {reason, server}.
|
|
374
|
+
const codes = [...serverCodes, str(o.reason), str(o.code)].filter((c) => c !== null);
|
|
375
|
+
return codes.length ? { codes, ...extra, refusal: registrationRefusal(o.details ?? detail?.registration) } : null;
|
|
376
|
+
}
|
|
377
|
+
catch {
|
|
378
|
+
return null; /* hostile getters never replace the description */
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
function resolve(found) {
|
|
382
|
+
const original = found.codes[found.codes.length - 1];
|
|
383
|
+
try {
|
|
384
|
+
for (const code of found.codes) {
|
|
385
|
+
if (NON_PROBLEMS.has(code))
|
|
386
|
+
return { key: null, original };
|
|
387
|
+
const key = problemCodeOf(code);
|
|
388
|
+
if (key)
|
|
389
|
+
return { key, original };
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
catch { /* fall through to generic */ }
|
|
393
|
+
return { key: "unknown", original };
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Describe a problem for people. Accepts a code string, an `MdbaseError` or SDK
|
|
397
|
+
* error, `{code, reason?}`, a public application snapshot, a phase, a readiness
|
|
398
|
+
* facet, a collection availability or a collection list entry carrying one.
|
|
399
|
+
* Returns `null` when the input has no problem (a ready snapshot) or is not a
|
|
400
|
+
* problem (a cancellation, a note the SDK handled).
|
|
401
|
+
* The most specific known code wins (server reason, then reason, then code).
|
|
402
|
+
*/
|
|
403
|
+
export function describeError(input, options = {}) {
|
|
404
|
+
const cpOrigin = typeof options.cpOrigin === "string" ? options.cpOrigin : null;
|
|
405
|
+
const found = problemOf(input, cpOrigin);
|
|
406
|
+
if (!found)
|
|
407
|
+
return null;
|
|
408
|
+
const { key, original } = resolve(found);
|
|
409
|
+
if (key === null)
|
|
410
|
+
return null;
|
|
411
|
+
const [title, message, action, severity, transient = false, label] = key === "unknown" ? GENERIC : COPY[key];
|
|
412
|
+
let translated;
|
|
413
|
+
try {
|
|
414
|
+
const messages = options.messages;
|
|
415
|
+
translated = messages && Object.hasOwn(messages, key) ? obj(messages[key]) : undefined;
|
|
416
|
+
}
|
|
417
|
+
catch {
|
|
418
|
+
translated = undefined;
|
|
419
|
+
}
|
|
420
|
+
const text = (v, fallback) => typeof v === "string" && v.trim() ? v : fallback;
|
|
421
|
+
const accountLabel = typeof options.recoveryAccountLabel === "string" && options.recoveryAccountLabel.trim().length > 0 && options.recoveryAccountLabel.length <= 320 && !Array.from(options.recoveryAccountLabel).some(c => c.charCodeAt(0) < 32 || c.charCodeAt(0) === 127) ? options.recoveryAccountLabel : null;
|
|
422
|
+
const accountMessage = key === "recovery_account_mismatch" && accountLabel ? `This collection belongs to ${accountLabel}. Sign in as ${accountLabel} to continue.` : message;
|
|
423
|
+
const actionLabel = key === "recovery_account_mismatch" && accountLabel ? `Sign in as ${accountLabel}` : label ?? LABELS[action];
|
|
424
|
+
return Object.freeze({
|
|
425
|
+
key, title: text(translated?.title, title), message: text(translated?.message, accountMessage), action,
|
|
426
|
+
actionLabel: actionLabel === null ? null : text(translated?.actionLabel, actionLabel), severity, transient, code: original,
|
|
427
|
+
developerMessage: diagnostic(key, original, found.refusal ?? null),
|
|
428
|
+
retryAfterMs: found.retryAfterMs,
|
|
429
|
+
updateUrl: action === "update_app" ? found.updateUrl ?? DEFAULT_UPDATE_URL : null,
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
function diagnostic(key, original, refusal) {
|
|
433
|
+
if (key === "application_registration_refused")
|
|
434
|
+
return registrationRefusalMessage(refusal);
|
|
435
|
+
if (Object.hasOwn(DEVELOPER, key))
|
|
436
|
+
return DEVELOPER[key];
|
|
437
|
+
// The code has no user-facing copy: name it for the developer (validated code only).
|
|
438
|
+
return key === "unknown" ? `Problem code ${original} has no user-facing copy; it is shown as a generic error.` : null;
|
|
439
|
+
}
|
|
440
|
+
/** Developer detail for logs and consoles, including notes on non-problems
|
|
441
|
+
* (for example a superseded registration ID). Never show it to end users. */
|
|
442
|
+
export function describeDiagnostic(input, options = {}) {
|
|
443
|
+
const found = problemOf(input, typeof options.cpOrigin === "string" ? options.cpOrigin : null);
|
|
444
|
+
if (!found)
|
|
445
|
+
return null;
|
|
446
|
+
for (const code of found.codes)
|
|
447
|
+
if (Object.hasOwn(DEVELOPER, code) && NON_PROBLEMS.has(code))
|
|
448
|
+
return DEVELOPER[code];
|
|
449
|
+
const { key, original } = resolve(found);
|
|
450
|
+
return key === null ? null : diagnostic(key, original, found.refusal ?? null);
|
|
451
|
+
}
|
|
452
|
+
//# sourceMappingURL=describe-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe-error.js","sourceRoot":"","sources":["../src/describe-error.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The 15 error codes (`replica-client-api.md` §9). Each has exactly one recovery
|
|
3
|
+
* action. Offline and warming indexes are status/reset or complete:false.
|
|
4
|
+
* Generic query cursor expiry/staleness uses typed invalid_request reasons;
|
|
5
|
+
* paging resets require explicit caller clearing before a fresh first page.
|
|
6
|
+
*/
|
|
7
|
+
import type { Issue, Problem, Recovery, Uuid } from "./wire.js";
|
|
8
|
+
/** Local facts about a failure that are not part of the wire problem. */
|
|
9
|
+
export interface MdbaseErrorContext {
|
|
10
|
+
/** The original mutation this failure belongs to. */
|
|
11
|
+
mutationId?: Uuid;
|
|
12
|
+
/** A partial batch: one original mutation per item, in op order. */
|
|
13
|
+
mutationIds?: readonly Uuid[];
|
|
14
|
+
cause?: unknown;
|
|
15
|
+
}
|
|
16
|
+
export declare const ERROR_CODES: {
|
|
17
|
+
readonly invalid_request: "fix_request";
|
|
18
|
+
readonly invalid_record: "fix_request";
|
|
19
|
+
readonly not_found: "refresh";
|
|
20
|
+
readonly conflict: "resolve_conflict";
|
|
21
|
+
readonly unauthenticated: "reauthorize";
|
|
22
|
+
readonly forbidden: "reauthorize";
|
|
23
|
+
readonly collection_invalid: "repair_collection";
|
|
24
|
+
readonly unavailable: "retry";
|
|
25
|
+
readonly rate_limited: "retry";
|
|
26
|
+
readonly quota_exceeded: "free_space";
|
|
27
|
+
readonly too_large: "fix_request";
|
|
28
|
+
readonly upgrade_required: "upgrade";
|
|
29
|
+
readonly outcome_unknown: "resolve_outcome";
|
|
30
|
+
readonly cancelled: "none";
|
|
31
|
+
readonly internal: "contact_support";
|
|
32
|
+
};
|
|
33
|
+
export type ErrorCode = keyof typeof ERROR_CODES;
|
|
34
|
+
export declare function isErrorCode(code: string): code is ErrorCode;
|
|
35
|
+
/** The recovery action for a code, or `contact_support` for a code this SDK doesn't know. */
|
|
36
|
+
export declare function recoveryFor(code: string): Recovery;
|
|
37
|
+
/**
|
|
38
|
+
* An error from a replica or from the SDK itself. Apps branch on `code` (and
|
|
39
|
+
* optionally `reason`) and show their own text; `message` is for developers.
|
|
40
|
+
*/
|
|
41
|
+
export declare class MdbaseError extends Error {
|
|
42
|
+
readonly code: ErrorCode;
|
|
43
|
+
readonly recovery: Recovery;
|
|
44
|
+
readonly reason?: string;
|
|
45
|
+
readonly details?: unknown;
|
|
46
|
+
readonly retryAfterMs?: number;
|
|
47
|
+
readonly issues?: Issue[];
|
|
48
|
+
readonly traceId?: string;
|
|
49
|
+
/**
|
|
50
|
+
* The original mutation of a failed or unsettled write. Its outcome may still be
|
|
51
|
+
* unknown: resolve it with `receipt` / `awaitReceipt` / `pendingWrites` under this
|
|
52
|
+
* same ID. The SDK never resubmits it under a new identity. Absent for reads and
|
|
53
|
+
* dry runs, which capture nothing. Not part of {@link toProblem}.
|
|
54
|
+
*/
|
|
55
|
+
readonly mutationId?: Uuid;
|
|
56
|
+
/** Every original mutation of a failed partial batch, in op order. */
|
|
57
|
+
readonly mutationIds?: readonly Uuid[];
|
|
58
|
+
constructor(problem: Problem, context?: MdbaseErrorContext);
|
|
59
|
+
toProblem(): Problem;
|
|
60
|
+
}
|
|
61
|
+
/** Build an error locally (transport failures, cancellation, schema mismatches). */
|
|
62
|
+
export declare function mdbaseError(code: ErrorCode, message: string,
|
|
63
|
+
/** A `reason` string, or more problem fields. */
|
|
64
|
+
extra?: string | Partial<Omit<Problem, "code" | "recovery" | "message">>): MdbaseError;
|
|
65
|
+
export declare function isMdbaseError(e: unknown, code?: ErrorCode): e is MdbaseError;
|