@mdbase-dev/sdk 0.1.0-beta.169 → 0.1.0-beta.175
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -3
- package/dist/app-host/account-key-host.d.ts +128 -0
- package/dist/app-host/account-key-host.js +449 -0
- package/dist/app-host/account-key-host.js.map +1 -0
- package/dist/app-host/app-environment.d.ts +3 -4
- package/dist/app-host/app-environment.js +6 -6
- package/dist/app-host/app-environment.js.map +1 -1
- package/dist/app-host/app-origin.d.ts +5 -2
- package/dist/app-host/app-origin.js +10 -6
- package/dist/app-host/app-origin.js.map +1 -1
- package/dist/app-host/cloud-copy-bootstrap.js +2 -2
- package/dist/app-host/cloud-copy-bootstrap.js.map +1 -1
- package/dist/app-host/cloud-copy-host.d.ts +69 -5
- package/dist/app-host/cloud-copy-host.js +289 -20
- package/dist/app-host/cloud-copy-host.js.map +1 -1
- package/dist/app-host/cloud-copy-persistence-idb.d.ts +0 -2
- package/dist/app-host/cloud-copy-persistence-idb.js +2 -2
- package/dist/app-host/cloud-copy-persistence-idb.js.map +1 -1
- package/dist/app-host/cp-authority.js +2 -2
- package/dist/app-host/cp-authority.js.map +1 -1
- package/dist/app-host/cp-people.js +2 -2
- package/dist/app-host/cp-people.js.map +1 -1
- package/dist/app-host/cp-problem.d.ts +1 -1
- package/dist/app-host/cp-problem.js +4 -0
- package/dist/app-host/cp-problem.js.map +1 -1
- package/dist/app-host/device-key-idb.d.ts +0 -2
- package/dist/app-host/device-key-idb.js +1 -1
- package/dist/app-host/device-key-idb.js.map +1 -1
- package/dist/app-host/device-key-provider.d.ts +0 -3
- package/dist/app-host/device-key-provider.js +1 -1
- package/dist/app-host/device-key-provider.js.map +1 -1
- package/dist/app-host/device-registration.js +2 -2
- package/dist/app-host/device-registration.js.map +1 -1
- package/dist/app-host/http-log.d.ts +2 -6
- package/dist/app-host/http-log.js +12 -45
- package/dist/app-host/http-log.js.map +1 -1
- package/dist/app-host/index.d.ts +4 -2
- package/dist/app-host/index.js +2 -1
- package/dist/app-host/index.js.map +1 -1
- package/dist/app-host/installation-sign-in.d.ts +19 -1
- package/dist/app-host/installation-sign-in.js +149 -30
- package/dist/app-host/installation-sign-in.js.map +1 -1
- package/dist/app-host/installation-store.d.ts +0 -2
- package/dist/app-host/installation-store.js +4 -4
- package/dist/app-host/installation-store.js.map +1 -1
- package/dist/app-host/log-push.js +2 -2
- package/dist/app-host/log-push.js.map +1 -1
- package/dist/app-host/noise-idb.d.ts +0 -3
- package/dist/app-host/noise-idb.js +1 -1
- package/dist/app-host/noise-idb.js.map +1 -1
- package/dist/app-host/private-bootstrap.js +2 -2
- package/dist/app-host/private-bootstrap.js.map +1 -1
- package/dist/app-host/private-persistence-idb.d.ts +0 -2
- package/dist/app-host/private-persistence-idb.js +1 -1
- package/dist/app-host/private-persistence-idb.js.map +1 -1
- package/dist/app-host/private-persistence.js +2 -2
- package/dist/app-host/private-persistence.js.map +1 -1
- package/dist/app-host/scoped-sign-in-session.d.ts +4 -0
- package/dist/app-host/scoped-sign-in-session.js +13 -1
- package/dist/app-host/scoped-sign-in-session.js.map +1 -1
- package/dist/app-host/spare-nonces.d.ts +27 -0
- package/dist/app-host/spare-nonces.js +58 -0
- package/dist/app-host/spare-nonces.js.map +1 -0
- package/dist/app-host/unsynced-collection.js +8 -3
- package/dist/app-host/unsynced-collection.js.map +1 -1
- package/dist/app-host/wasm-runtime.d.ts +14 -0
- package/dist/app-host/wasm-runtime.js +45 -0
- package/dist/app-host/wasm-runtime.js.map +1 -1
- package/dist/app-host/web-collection.d.ts +4 -1
- package/dist/app-host/web-collection.js +214 -125
- package/dist/app-host/web-collection.js.map +1 -1
- package/dist/app-host/web-sign-in-problem.js +6 -1
- package/dist/app-host/web-sign-in-problem.js.map +1 -1
- package/dist/app-host/web-sign-in-session.d.ts +46 -4
- package/dist/app-host/web-sign-in-session.js +88 -15
- package/dist/app-host/web-sign-in-session.js.map +1 -1
- package/dist/application/asset-loader.d.ts +0 -1
- package/dist/application/asset-loader.js +2 -2
- package/dist/application/asset-loader.js.map +1 -1
- package/dist/application/asset-pins.json +4 -4
- package/dist/application/browser-selection.js +1 -1
- package/dist/application/browser-selection.js.map +1 -1
- package/dist/application/collection-selection.d.ts +10 -0
- package/dist/application/collection-selection.js +58 -11
- package/dist/application/collection-selection.js.map +1 -1
- package/dist/application/declaration.js +2 -2
- package/dist/application/declaration.js.map +1 -1
- package/dist/application/entry.d.ts +19 -0
- package/dist/application/entry.js +81 -38
- package/dist/application/entry.js.map +1 -1
- package/dist/application/front-door.d.ts +6 -1
- package/dist/application/front-door.js +5 -0
- package/dist/application/front-door.js.map +1 -1
- package/dist/application/local-build.d.ts +4 -2
- package/dist/application/local-build.js +4 -2
- package/dist/application/local-build.js.map +1 -1
- package/dist/application/manifest.d.ts +1 -0
- package/dist/application/manifest.js +8 -3
- package/dist/application/manifest.js.map +1 -1
- package/dist/application/native-assets.js +3 -4
- package/dist/application/native-assets.js.map +1 -1
- package/dist/application/packaged-assets.d.ts +1 -1
- package/dist/application/packaged-assets.js +6 -3
- package/dist/application/packaged-assets.js.map +1 -1
- package/dist/application/phase.d.ts +21 -1
- package/dist/application/phase.js +12 -1
- package/dist/application/phase.js.map +1 -1
- package/dist/application/portal-reservation.js +2 -2
- package/dist/application/portal-reservation.js.map +1 -1
- package/dist/application/registration.d.ts +3 -0
- package/dist/application/registration.js +7 -4
- package/dist/application/registration.js.map +1 -1
- package/dist/application/return-url.d.ts +1 -1
- package/dist/application/return-url.js +6 -7
- package/dist/application/return-url.js.map +1 -1
- package/dist/application/runtime.d.ts +7 -1
- package/dist/application/runtime.js +53 -4
- package/dist/application/runtime.js.map +1 -1
- package/dist/application/startup-timing.d.ts +20 -0
- package/dist/application/startup-timing.js +58 -0
- package/dist/application/startup-timing.js.map +1 -0
- package/dist/application/ui-connections.js +17 -4
- package/dist/application/ui-connections.js.map +1 -1
- package/dist/application/worker-client.d.ts +3 -0
- package/dist/application/worker-client.js +27 -2
- package/dist/application/worker-client.js.map +1 -1
- package/dist/application/worker-host.js +51 -3
- package/dist/application/worker-host.js.map +1 -1
- package/dist/application/worker-protocol.d.ts +7 -2
- package/dist/application/worker-protocol.js +10 -1
- package/dist/application/worker-protocol.js.map +1 -1
- package/dist/application/worker-session.d.ts +1 -1
- package/dist/application/worker-session.js +5 -1
- package/dist/application/worker-session.js.map +1 -1
- package/dist/application/worker.js +8969 -2561
- package/dist/application/worker.js.map +1 -1
- package/dist/browser/mdbase-sdk.js +8174 -3680
- package/dist/browser/mdbase-sdk.min.js +78 -78
- package/dist/describe-error.d.ts +2 -2
- package/dist/describe-error.js +11 -2
- package/dist/describe-error.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/local-build.d.ts +7 -4
- package/dist/local-build.js +7 -4
- package/dist/local-build.js.map +1 -1
- package/dist/native/provenance.json +5 -5
- package/dist/native/runtime.wasm +0 -0
- package/dist/private-account.js +13 -18
- package/dist/private-account.js.map +1 -1
- package/dist/testing/application.d.ts +3 -1
- package/dist/testing/application.js +8 -1
- package/dist/testing/application.js.map +1 -1
- package/dist/testing/test-app.d.ts +9 -0
- package/dist/testing/test-app.js +13 -0
- package/dist/testing/test-app.js.map +1 -1
- package/dist/transport/control-route.d.ts +2 -1
- package/dist/transport/control-route.js +4 -1
- package/dist/transport/control-route.js.map +1 -1
- package/dist/transport/relay.d.ts +7 -0
- package/dist/transport/relay.js +3 -1
- package/dist/transport/relay.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { authorizationContractRequirements, authorizationFiles, authorizationOperations, semanticContractVersion } from "@mdbase-dev/connect-protocol";
|
|
2
2
|
import { parseVersionedAppManifest } from "@mdbase-dev/connect-protocol/manifest";
|
|
3
3
|
import { plainApplicationManifest } from "./declaration.js";
|
|
4
|
-
import { applicationLoopbackAllowed } from "./local-build.js";
|
|
5
4
|
function frozen(value) {
|
|
6
5
|
if (value !== null && typeof value === "object") {
|
|
7
6
|
for (const child of Object.values(value))
|
|
@@ -14,7 +13,7 @@ function frozen(value) {
|
|
|
14
13
|
* has no capability→operation table, parser, permission defaults, or selection
|
|
15
14
|
* widening. Registration/native authority/catalog readiness remain separate. */
|
|
16
15
|
export function compileApplicationManifest(declaration) {
|
|
17
|
-
const versioned = parseVersionedAppManifest(plainApplicationManifest(declaration), { allowLocal:
|
|
16
|
+
const versioned = parseVersionedAppManifest(plainApplicationManifest(declaration), { allowLocal: true });
|
|
18
17
|
const manifest = frozen(versioned.manifest), requirements = manifest.requirements;
|
|
19
18
|
const semanticVersion = semanticContractVersion(requirements);
|
|
20
19
|
const operations = frozen(authorizationOperations(manifest, {}));
|
|
@@ -25,7 +24,13 @@ export function compileApplicationManifest(declaration) {
|
|
|
25
24
|
const capabilities = requirements.capabilities;
|
|
26
25
|
const nativeCapabilities = capabilities?.contract_version === 2 ?
|
|
27
26
|
Object.freeze({ capabilityContractVersion: 2, requiredNativeCapabilities: Object.freeze([...capabilities.required]) }) : null;
|
|
27
|
+
// `offline.replica` in EITHER list is the app's request to join Private
|
|
28
|
+
// collections as a keyed device. Optional is the declaration for an app that
|
|
29
|
+
// must keep working where Connect does not offer device access: it adds no
|
|
30
|
+
// readiness requirement (only `required` does, above) and no consent group.
|
|
31
|
+
const privateDeviceDeclared = capabilities?.contract_version === 2 &&
|
|
32
|
+
[...capabilities.required, ...(capabilities.optional ?? [])].includes("offline.replica");
|
|
28
33
|
return Object.freeze({ contractVersion: versioned.contractVersion, manifest, semanticVersion, operations,
|
|
29
|
-
...(files ? { files: frozen(files) } : {}), contracts, nativeCapabilities });
|
|
34
|
+
...(files ? { files: frozen(files) } : {}), contracts, nativeCapabilities, privateDeviceDeclared });
|
|
30
35
|
}
|
|
31
36
|
//# sourceMappingURL=manifest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/application/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iCAAiC,EAAC,kBAAkB,EAAC,uBAAuB,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAClJ,OAAO,EAAC,yBAAyB,EAAC,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAqC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/application/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iCAAiC,EAAC,kBAAkB,EAAC,uBAAuB,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAClJ,OAAO,EAAC,yBAAyB,EAAC,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAC,wBAAwB,EAAqC,MAAM,kBAAkB,CAAC;AAE9F,SAAS,MAAM,CAAI,KAAO;IACxB,IAAG,KAAK,KAAG,IAAI,IAAE,OAAO,KAAK,KAAG,QAAQ,EAAC,CAAC;QACxC,KAAI,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;YAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD;;gFAEgF;AAChF,MAAM,UAAU,0BAA0B,CAAC,WAAoD;IAC7F,MAAM,SAAS,GAAC,yBAAyB,CAAC,wBAAwB,CAAC,WAAW,CAAC,EAAC,EAAC,UAAU,EAAC,IAAI,EAAC,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAC,YAAY,GAAC,QAAQ,CAAC,YAAY,CAAC;IAC7E,MAAM,eAAe,GAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAC,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,2EAA2E;IAC3E,2EAA2E;IAC3E,MAAM,SAAS,GAAC,MAAM,CAAC,iCAAiC,CAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,eAAe,CAAC,CAAC,CAAC;IACtG,MAAM,YAAY,GAAC,YAAY,CAAC,YAAY,CAAC;IAC7C,MAAM,kBAAkB,GAAC,YAAY,EAAE,gBAAgB,KAAG,CAAC,CAAA,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,EAAC,yBAAyB,EAAC,CAAU,EAAC,0BAA0B,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAC,CAAC,CAAA,CAAC,CAAA,IAAI,CAAC;IAClI,wEAAwE;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,qBAAqB,GAAC,YAAY,EAAE,gBAAgB,KAAG,CAAC;QAC5D,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,IAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IACxF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAC,eAAe,EAAC,SAAS,CAAC,eAAe,EAAC,QAAQ,EAAC,eAAe,EAAC,UAAU;QACjG,GAAG,CAAC,KAAK,CAAA,CAAC,CAAA,EAAC,KAAK,EAAC,MAAM,CAAC,KAAK,CAAC,EAAC,CAAA,CAAC,CAAA,EAAE,CAAC,EAAC,SAAS,EAAC,kBAAkB,EAAC,qBAAqB,EAAC,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -9,9 +9,8 @@ export function applicationNativeAssets(declaration, packaged, handoff, fetcher)
|
|
|
9
9
|
assetSha256: released.assetSha256, source: Object.freeze({ ...released.source }),
|
|
10
10
|
trustedRoots: Object.freeze(released.trustedRoots.map(root => new Uint8Array(root))), policyPins: new Uint8Array(released.policyPins),
|
|
11
11
|
});
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const host = { origin: declaration.origin, platform, environment: declaration.environment, ...(fetcher ? { fetch: fetcher } : {}) };
|
|
12
|
+
const environment = selectAppEnvironment({ environment: declaration.environment, appOrigin: declaration.origin, release });
|
|
13
|
+
const host = { origin: declaration.origin, environment: declaration.environment, ...(fetcher ? { fetch: fetcher } : {}) };
|
|
15
14
|
const loadRuntime = applicationAssetLoader(packaged.runtime, host), loadSqlite = applicationAssetLoader(packaged.sqlite, host);
|
|
16
15
|
const initialize = packaged.initializeSqlite;
|
|
17
16
|
if (typeof initialize !== "function" || typeof handoff !== "function")
|
|
@@ -22,7 +21,7 @@ export function applicationNativeAssets(declaration, packaged, handoff, fetcher)
|
|
|
22
21
|
joinDatabaseName: declaration.storage.joinDatabaseName,
|
|
23
22
|
setupJournal: Object.freeze({ databaseName: declaration.storage.setupDatabaseName, applicationNamespace: declaration.storage.applicationNamespace,
|
|
24
23
|
appOrigin: declaration.origin, cpOrigin: environment.cpOrigin }),
|
|
25
|
-
sql, handoff, ...(fetcher ? { fetch: fetcher } : {}), allowLoopbackHttp: environment.allowLoopbackHttp,
|
|
24
|
+
sql, handoff, ...(fetcher ? { fetch: fetcher } : {}), allowLoopbackHttp: environment.allowLoopbackHttp,
|
|
26
25
|
});
|
|
27
26
|
// The unsynced collection: the same runtime and SQL, no sign-in or log. Its
|
|
28
27
|
// setup journal is its own: sign-out erases the signed-in one, and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-assets.js","sourceRoot":"","sources":["../../src/application/native-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAIpE,OAAO,EAAC,sBAAsB,EAAuB,MAAM,mBAAmB,CAAC;AAa/E;gFACgF;AAChF,MAAM,UAAU,uBAAuB,CACrC,WAAoD,EACpD,QAAwC,EACxC,OAA6C,EAC7C,OAAqB;IAErB,MAAM,QAAQ,GAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAClC,MAAM,OAAO,GAAwB,MAAM,CAAC,MAAM,CAAC;QACjD,MAAM,EAAC,QAAQ,CAAC,MAAM,EAAC,WAAW,EAAC,QAAQ,CAAC,WAAW,EAAC,QAAQ,EAAC,QAAQ,CAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,CAAC,SAAS;QAC/G,WAAW,EAAC,QAAQ,CAAC,WAAW,EAAC,MAAM,EAAC,MAAM,CAAC,MAAM,CAAC,EAAC,GAAG,QAAQ,CAAC,MAAM,EAAC,CAAC;QAC3E,YAAY,EAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAA,EAAE,CAAA,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAC,UAAU,EAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;KACjI,CAAC,CAAC;IACH,MAAM,
|
|
1
|
+
{"version":3,"file":"native-assets.js","sourceRoot":"","sources":["../../src/application/native-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,4 @@ import type { PackagedApplicationNativeAssets } from "./native-assets.js";
|
|
|
2
2
|
/** Private SDK selector, not an application configuration callback. UI and
|
|
3
3
|
* Worker use the same ESM artifact anchor. Selection performs no IO, storage,
|
|
4
4
|
* Worker construction, dynamic imports or WASM initialization. */
|
|
5
|
-
export declare function packagedApplicationAssets(environment: "lab" | "staging" | "production" | "local", appOrigin: string
|
|
5
|
+
export declare function packagedApplicationAssets(environment: "lab" | "staging" | "production" | "local", appOrigin: string): PackagedApplicationNativeAssets;
|
|
@@ -12,17 +12,20 @@ const unavailable = () => mdbaseError("unavailable", "SDK packaged application a
|
|
|
12
12
|
/** Private SDK selector, not an application configuration callback. UI and
|
|
13
13
|
* Worker use the same ESM artifact anchor. Selection performs no IO, storage,
|
|
14
14
|
* Worker construction, dynamic imports or WASM initialization. */
|
|
15
|
-
export function packagedApplicationAssets(environment, appOrigin
|
|
15
|
+
export function packagedApplicationAssets(environment, appOrigin) {
|
|
16
16
|
if (!applicationEnvironmentAllowed(environment))
|
|
17
17
|
throw unavailable();
|
|
18
18
|
const release = appReleaseTrust();
|
|
19
|
-
selectAppEnvironment({ environment, appOrigin,
|
|
19
|
+
selectAppEnvironment({ environment, appOrigin, release });
|
|
20
20
|
// Literal `new URL(<asset>, import.meta.url)` forms let a consumer bundler
|
|
21
21
|
// (Vite/Rollup/webpack) emit and rewrite the native assets.
|
|
22
22
|
let runtimeUrl, sqliteUrl;
|
|
23
23
|
try {
|
|
24
|
+
// A development server names this module with a cache-busting query
|
|
25
|
+
// (Vite's `?v=`). The assets resolve beside it without that query, and their
|
|
26
|
+
// bytes are checked against the pins, so the query is not part of the anchor.
|
|
24
27
|
const module = new URL(import.meta.url);
|
|
25
|
-
if (urlOrigin(module) !== appOrigin || module.username || module.password
|
|
28
|
+
if (urlOrigin(module) !== appOrigin || module.username || module.password)
|
|
26
29
|
throw unavailable();
|
|
27
30
|
runtimeUrl = new URL("../native/runtime.wasm", import.meta.url);
|
|
28
31
|
sqliteUrl = new URL("../native/sqlite3.wasm", import.meta.url);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packaged-assets.js","sourceRoot":"","sources":["../../src/application/packaged-assets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,SAAS,EAAC,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAC,6BAA6B,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,IAAI,MAAM,mBAAmB,CAAC,OAAM,IAAI,EAAC,MAAM,EAAC,CAAC;AAExD,yEAAyE;AACzE,+EAA+E;AAC/E,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,MAAM,EAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAC,KAAK,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAC,CAAC,CAAC;AACpH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAC,MAAM,EAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAC,KAAK,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAC,CAAC,CAAC;AAChH,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,EAAE,6CAA6C,EAAE,yCAAyC,CAAC,CAAC;AAE/I;;kEAEkE;AAClE,MAAM,UAAU,yBAAyB,CAAC,WAAgD,EAAC,SAAgB
|
|
1
|
+
{"version":3,"file":"packaged-assets.js","sourceRoot":"","sources":["../../src/application/packaged-assets.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,20 @@ export type MdbasePhase =
|
|
|
57
57
|
readonly displayName: string | null;
|
|
58
58
|
readonly declined: boolean;
|
|
59
59
|
}
|
|
60
|
+
/** A Private collection this device has joined but cannot read yet: it has
|
|
61
|
+
* no key. `mode` is the account's key mode. `password`: ask for the
|
|
62
|
+
* encryption password (or the recovery key) and call
|
|
63
|
+
* `unlock(collectionId, secret)`. `strict` and `none` cannot be unlocked
|
|
64
|
+
* here: explain that it needs a computer running the mdbase app. `unlocking`
|
|
65
|
+
* while an unlock runs; `problem` describes the last failed attempt. */
|
|
66
|
+
| {
|
|
67
|
+
readonly kind: "needs_unlock";
|
|
68
|
+
readonly collectionId: string;
|
|
69
|
+
readonly displayName: string | null;
|
|
70
|
+
readonly mode: "password" | "strict" | "none";
|
|
71
|
+
readonly unlocking: boolean;
|
|
72
|
+
readonly problem: MdbaseProblem | null;
|
|
73
|
+
}
|
|
60
74
|
/** Open, but needs a one-time setup: `setup.plan()` then `setup.apply(plan)`. */
|
|
61
75
|
| {
|
|
62
76
|
readonly kind: "needs_setup";
|
|
@@ -107,8 +121,14 @@ export interface ApplicationPhaseOptions {
|
|
|
107
121
|
/** Set when the current opening has lasted SLOW_OPENING_MS. */
|
|
108
122
|
readonly slow?: boolean;
|
|
109
123
|
readonly cpOrigin?: string;
|
|
124
|
+
/** This start opens work before connecting next: signed out is a step on the
|
|
125
|
+
* way, not a screen to show. */
|
|
126
|
+
readonly openingUnsynced?: boolean;
|
|
127
|
+
/** The start request (URL or remembered collection) is not decided yet: a
|
|
128
|
+
* paired session with nothing selected is still starting, not choosing. */
|
|
129
|
+
readonly startPending?: boolean;
|
|
110
130
|
}
|
|
111
|
-
type Snapshot = Pick<MdbaseApplicationSnapshot, "status" | "signIn" | "collections" | "selectedCollectionId" | "problem" | "readiness" | "selection"> & Partial<Pick<MdbaseApplicationSnapshot, "problemDetail" | "removedScopeIds" | "recoveryAccountLabel" | "openingProgress" | "unsynced">>;
|
|
131
|
+
type Snapshot = Pick<MdbaseApplicationSnapshot, "status" | "signIn" | "collections" | "selectedCollectionId" | "problem" | "readiness" | "selection"> & Partial<Pick<MdbaseApplicationSnapshot, "problemDetail" | "removedScopeIds" | "recoveryAccountLabel" | "openingProgress" | "unsynced" | "unlock">>;
|
|
112
132
|
/** Derive the phase of a public application snapshot. */
|
|
113
133
|
export declare function applicationPhase(s: Snapshot, options?: ApplicationPhaseOptions): MdbasePhase;
|
|
114
134
|
/** True when the phase is ready for this collection with a current connection. */
|
|
@@ -64,13 +64,21 @@ function derive(s, o) {
|
|
|
64
64
|
return id && s.status === "starting" ? { kind: "opening", collectionId: id, displayName: requested?.displayName ?? null, slow: !!o.slow } : { kind: "starting" };
|
|
65
65
|
}
|
|
66
66
|
if (s.status === "signed_out")
|
|
67
|
-
return { kind: "signed_out", notice: s.problem ? describe(s, cp) : null };
|
|
67
|
+
return o.openingUnsynced && !s.problem ? { kind: "starting" } : { kind: "signed_out", notice: s.problem ? describe(s, cp) : null };
|
|
68
68
|
if (s.status === "blocked") {
|
|
69
69
|
const id = s.selectedCollectionId ?? requested?.collectionId ?? null;
|
|
70
70
|
if (s.problem === "recovery_account_mismatch")
|
|
71
71
|
return { kind: "problem", collectionId: id, problem: describeError(s, { cpOrigin: cp, recoveryAccountLabel: s.recoveryAccountLabel }) };
|
|
72
72
|
return { kind: "problem", collectionId: id, problem: id && s.removedScopeIds?.includes(id) ? fallback("installation_scope_removed", cp) : describe(s, cp) ?? fallback("open_failed", cp) };
|
|
73
73
|
}
|
|
74
|
+
if (s.status === "needs_unlock" && s.selectedCollectionId) {
|
|
75
|
+
const id = s.selectedCollectionId, lock = s.unlock ?? null;
|
|
76
|
+
// A locked snapshot without its lock display is malformed: no mode is guessed.
|
|
77
|
+
if (!lock)
|
|
78
|
+
return { kind: "problem", collectionId: id, problem: fallback("open_failed", cp) };
|
|
79
|
+
return { kind: "needs_unlock", collectionId: id, displayName: s.collections.find(c => c.collectionId === id)?.displayName ?? requested?.displayName ?? null,
|
|
80
|
+
mode: lock.mode, unlocking: lock.unlocking, problem: lock.problem === null ? null : describe(lock.problem, cp) ?? fallback("unlock_failed", cp) };
|
|
81
|
+
}
|
|
74
82
|
if (sel?.state === "approval_required" && requested?.collectionId && s.removedScopeIds?.includes(requested.collectionId))
|
|
75
83
|
return { kind: "problem", collectionId: requested.collectionId, problem: fallback("installation_scope_removed", cp) };
|
|
76
84
|
if (sel?.state === "approval_required" && requested?.collectionId)
|
|
@@ -94,6 +102,9 @@ function derive(s, o) {
|
|
|
94
102
|
const name = s.collections.find(c => c.collectionId === id)?.displayName ?? requested?.displayName ?? null;
|
|
95
103
|
return { kind: "opening", collectionId: id, displayName: name, slow: !!o.slow };
|
|
96
104
|
}
|
|
105
|
+
// The remembered collection opens next; do not flash the chooser before it.
|
|
106
|
+
if (o.startPending && paired && s.status === "unselected" && !s.problem && sel?.state === "none")
|
|
107
|
+
return { kind: "starting" };
|
|
97
108
|
return { kind: "choosing", lastApproval: sel?.lastApproval ?? null };
|
|
98
109
|
}
|
|
99
110
|
/** Never demote READY for transient states of the SAME open collection. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phase.js","sourceRoot":"","sources":["../../src/application/phase.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,aAAa,EAA+B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"phase.js","sourceRoot":"","sources":["../../src/application/phase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loopbackHttpOrigin } from "./local-build.js";
|
|
2
2
|
export class ApplicationPortalError extends Error {
|
|
3
3
|
reason;
|
|
4
4
|
constructor(reason) {
|
|
@@ -29,7 +29,7 @@ export function reserveApplicationPortal(host) {
|
|
|
29
29
|
catch {
|
|
30
30
|
throw new ApplicationPortalError("application_popup_binding");
|
|
31
31
|
}
|
|
32
|
-
const loopback = host.allowLoopbackHttp === true &&
|
|
32
|
+
const loopback = host.allowLoopbackHttp === true && loopbackHttpOrigin(origin);
|
|
33
33
|
if (cp.origin !== origin || cp.username || cp.password || cp.search || cp.hash || cp.pathname !== "/" || (cp.protocol !== "https:" && !loopback))
|
|
34
34
|
throw new ApplicationPortalError("application_popup_binding");
|
|
35
35
|
let window;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal-reservation.js","sourceRoot":"","sources":["../../src/application/portal-reservation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"portal-reservation.js","sourceRoot":"","sources":["../../src/application/portal-reservation.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,9 @@ export interface ApplicationRegistrationOptions {
|
|
|
4
4
|
readonly signal: AbortSignal;
|
|
5
5
|
isCurrent(): boolean;
|
|
6
6
|
readonly fetch?: typeof fetch;
|
|
7
|
+
/** Called once when registration goes to the network (a remembered
|
|
8
|
+
* registration never calls it), so startup can overlap that wait. */
|
|
9
|
+
onRequest?(): void;
|
|
7
10
|
}
|
|
8
11
|
export interface ApplicationRegistration {
|
|
9
12
|
readonly id: string;
|
|
@@ -4,7 +4,6 @@ import { selectAppEnvironment } from "../app-host/app-environment.js";
|
|
|
4
4
|
import { MdbaseError, mdbaseError } from "../errors.js";
|
|
5
5
|
import { applicationDeclaration, plainApplicationManifest, } from "./declaration.js";
|
|
6
6
|
import { appReleaseTrust } from "./packaged-trust.js";
|
|
7
|
-
import { applicationLoopbackAllowed } from "./local-build.js";
|
|
8
7
|
import { REGISTRATION_REFUSAL_MAX_BYTES, registrationRefusal, } from "./registration-refusal.js";
|
|
9
8
|
const nativeId = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;
|
|
10
9
|
const nil = "00000000-0000-0000-0000-000000000000";
|
|
@@ -100,7 +99,6 @@ export async function resolveApplicationRegistration(input) {
|
|
|
100
99
|
environment = selectAppEnvironment({
|
|
101
100
|
environment: declaration.environment,
|
|
102
101
|
appOrigin: declaration.origin,
|
|
103
|
-
platform: declaration.manifest.platform === "native" ? "native" : undefined,
|
|
104
102
|
release: appReleaseTrust(),
|
|
105
103
|
});
|
|
106
104
|
}
|
|
@@ -110,7 +108,7 @@ export async function resolveApplicationRegistration(input) {
|
|
|
110
108
|
}
|
|
111
109
|
try {
|
|
112
110
|
manifest = parseVersionedAppManifest(plainApplicationManifest(declaration), {
|
|
113
|
-
allowLocal:
|
|
111
|
+
allowLocal: true,
|
|
114
112
|
}).manifest;
|
|
115
113
|
}
|
|
116
114
|
catch {
|
|
@@ -275,7 +273,7 @@ export async function resolveApplicationRegistration(input) {
|
|
|
275
273
|
let returned;
|
|
276
274
|
try {
|
|
277
275
|
returned = parseVersionedAppManifest(app.application_declaration, {
|
|
278
|
-
allowLocal:
|
|
276
|
+
allowLocal: true,
|
|
279
277
|
}).manifest;
|
|
280
278
|
}
|
|
281
279
|
catch {
|
|
@@ -292,6 +290,11 @@ export async function resolveApplicationRegistration(input) {
|
|
|
292
290
|
});
|
|
293
291
|
}
|
|
294
292
|
try {
|
|
293
|
+
current();
|
|
294
|
+
try {
|
|
295
|
+
input.onRequest?.();
|
|
296
|
+
}
|
|
297
|
+
catch { /* an observer never changes registration */ }
|
|
295
298
|
for (let attempt = 0; attempt < 3; attempt++) {
|
|
296
299
|
current();
|
|
297
300
|
let response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/application/registration.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registration.js","sourceRoot":"","sources":["../../src/application/registration.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function declaredReturnUrl(value: unknown, manifest: unknown
|
|
1
|
+
export declare function declaredReturnUrl(value: unknown, manifest: unknown): boolean;
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { isNativeLoopbackOrigin } from "@mdbase-dev/connect-protocol/manifest";
|
|
2
1
|
/** The sign-in opener's `return_url` (RFC 8252 §7.1 / §8.1). It must exactly
|
|
3
2
|
* equal one of the canonical manifest's `redirect_uris` (no prefix, pattern or
|
|
4
|
-
* normalisation match) and be either an https URL on the
|
|
5
|
-
*
|
|
3
|
+
* normalisation match) and be either an https or loopback http URL on the
|
|
4
|
+
* homepage origin, or a private-use reverse-DNS scheme derived from the manifest
|
|
6
5
|
* ID (the same rule the CP applies at registration). It carries no credential:
|
|
7
6
|
* sign-in still completes by the SDK's own pairing poll. */
|
|
8
|
-
import {
|
|
7
|
+
import { loopbackHttpOrigin } from "../application/local-build.js";
|
|
9
8
|
const RESERVED = ["http", "https", "file", "javascript", "data", "blob", "about", "capacitor", "chrome-extension", "moz-extension"];
|
|
10
|
-
export function declaredReturnUrl(value, manifest
|
|
9
|
+
export function declaredReturnUrl(value, manifest) {
|
|
11
10
|
if (typeof value !== "string" || !value || value.length > 2048 || value.includes("*"))
|
|
12
11
|
return false;
|
|
13
12
|
const declared = manifest && typeof manifest === "object" ? manifest.redirect_uris : undefined;
|
|
14
13
|
if (!Array.isArray(declared) || !declared.includes(value))
|
|
15
14
|
return false;
|
|
16
|
-
const { id, homepage
|
|
15
|
+
const { id, homepage } = manifest;
|
|
17
16
|
let url;
|
|
18
17
|
try {
|
|
19
18
|
url = new URL(value);
|
|
@@ -31,7 +30,7 @@ export function declaredReturnUrl(value, manifest, loopbackHttp) {
|
|
|
31
30
|
catch {
|
|
32
31
|
return false;
|
|
33
32
|
}
|
|
34
|
-
return url.origin === home.origin && (url.protocol === "https:" || (
|
|
33
|
+
return url.origin === home.origin && (url.protocol === "https:" || loopbackHttpOrigin(url.origin));
|
|
35
34
|
}
|
|
36
35
|
const scheme = url.protocol.slice(0, -1);
|
|
37
36
|
return typeof id === "string" && scheme.includes(".") && /^[a-z][a-z0-9+.-]*$/.test(scheme) && !RESERVED.includes(scheme)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"return-url.js","sourceRoot":"","sources":["../../src/application/return-url.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"return-url.js","sourceRoot":"","sources":["../../src/application/return-url.ts"],"names":[],"mappings":"AAAA;;;;;4DAK4D;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,eAAe,CAAC,CAAC;AAEpI,MAAM,UAAU,iBAAiB,CAAC,KAAc,EAAE,QAAiB;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACpG,MAAM,QAAQ,GAAG,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAE,QAAsC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,MAAM,EAAC,EAAE,EAAE,QAAQ,EAAC,GAAG,QAA8C,CAAC;IACtE,IAAI,GAAQ,CAAC;IAAC,IAAI,CAAC;QAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IACnE,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAC3D,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC1D,IAAI,IAAS,CAAC;QAAC,IAAI,CAAC;YAAC,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;QAChF,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACzC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;WACpH,CAAC,MAAM,KAAK,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACjF,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AppWebSignInPortal, AppWebSignInSnapshot } from "../app-host/web-sign-in-session.js";
|
|
2
2
|
import type { ApplicationDeclarationSnapshot } from "./declaration.js";
|
|
3
3
|
import type { compileApplicationManifest } from "./manifest.js";
|
|
4
|
-
import type { MdbaseApplicationConnection, MdbaseApplicationReadinessSnapshot, MdbaseApplicationRequestOptions, MdbaseApplicationSnapshot as PublicSnapshot, MdbaseSignOutOptions } from "./entry.js";
|
|
4
|
+
import type { MdbaseApplicationConnection, MdbaseApplicationReadinessSnapshot, MdbaseApplicationRequestOptions, MdbaseApplicationSnapshot as PublicSnapshot, MdbaseSignOutOptions, MdbaseUnlockSecret } from "./entry.js";
|
|
5
5
|
import type { MdbaseSetupPlan, MdbaseSetupPlanOptions } from "./setup.js";
|
|
6
6
|
/** Runtime view; the public entry adds its collection selection. */
|
|
7
7
|
export type MdbaseApplicationSnapshot = Omit<PublicSnapshot, "selection">;
|
|
@@ -81,6 +81,12 @@ export declare class ApplicationRuntime {
|
|
|
81
81
|
authorizeReserved(portal: AppWebSignInPortal, options?: MdbaseApplicationRequestOptions, collectionHint?: string | null): Promise<MdbaseApplicationSnapshot>;
|
|
82
82
|
authorize(options?: MdbaseApplicationRequestOptions): Promise<MdbaseApplicationSnapshot>;
|
|
83
83
|
select(id: string, options?: MdbaseApplicationRequestOptions): Promise<MdbaseApplicationSnapshot>;
|
|
84
|
+
/** Unlock the locked Private collection this tab shows with the account key.
|
|
85
|
+
* The typed secret crosses to the Worker once, as UTF-8 bytes; this tab's
|
|
86
|
+
* copy is wiped as soon as it is posted and on every other path. A wrong
|
|
87
|
+
* secret resolves, still `needs_unlock`, with `unlock.problem` set. On
|
|
88
|
+
* success the collection's ports arrive on this same request. */
|
|
89
|
+
unlock(id: string, secret: MdbaseUnlockSecret, options?: MdbaseApplicationRequestOptions): Promise<MdbaseApplicationSnapshot>;
|
|
84
90
|
/** Open this app's unsynced collection in this tab (work before connecting).
|
|
85
91
|
* The Worker creates it on first use; the sign-in session is unchanged. */
|
|
86
92
|
openUnsynced(options?: MdbaseApplicationRequestOptions): Promise<MdbaseApplicationSnapshot>;
|
|
@@ -1,10 +1,30 @@
|
|
|
1
|
+
import { mdbaseError } from "../errors.js";
|
|
2
|
+
import { APPLICATION_WORKER_MAX_SECRET_BYTES } from "./worker-protocol.js";
|
|
1
3
|
import { pendingWrites, signOutPendingWritesError } from "./sign-out.js";
|
|
2
4
|
import { ApplicationScope } from "./scope.js";
|
|
3
5
|
import { ApplicationUiConnections } from "./ui-connections.js";
|
|
4
|
-
import {
|
|
6
|
+
import { serviceLoopbackAllowed } from "./local-build.js";
|
|
5
7
|
import { consentedFileActions } from "./file-access.js";
|
|
6
8
|
import { ApplicationWorkerClient, ApplicationWorkerReplyError } from "./worker-client.js";
|
|
7
9
|
import { browserApplicationPortalHost, reserveApplicationPortal } from "./portal-reservation.js";
|
|
10
|
+
/** The typed secret as bounded UTF-8 bytes (wipeable, unlike the string). */
|
|
11
|
+
function unlockPayload(id, secret) {
|
|
12
|
+
const invalid = () => mdbaseError("invalid_request", "Pass the collection and either { password } or { recoveryKey }.", "unlock_secret_invalid");
|
|
13
|
+
if (typeof id !== "string" || !secret || typeof secret !== "object")
|
|
14
|
+
throw invalid();
|
|
15
|
+
const password = Object.hasOwn(secret, "password"), recovery = Object.hasOwn(secret, "recoveryKey");
|
|
16
|
+
if (password === recovery)
|
|
17
|
+
throw invalid();
|
|
18
|
+
const text = password ? secret.password : secret.recoveryKey;
|
|
19
|
+
if (typeof text !== "string" || !text.length)
|
|
20
|
+
throw invalid();
|
|
21
|
+
const bytes = new TextEncoder().encode(text);
|
|
22
|
+
if (bytes.length > APPLICATION_WORKER_MAX_SECRET_BYTES) {
|
|
23
|
+
bytes.fill(0);
|
|
24
|
+
throw invalid();
|
|
25
|
+
}
|
|
26
|
+
return Object.freeze([id, password ? "password" : "recoveryKey", bytes]);
|
|
27
|
+
}
|
|
8
28
|
export class ApplicationRuntimeError extends Error {
|
|
9
29
|
code;
|
|
10
30
|
constructor(code) {
|
|
@@ -46,7 +66,7 @@ export class ApplicationRuntime {
|
|
|
46
66
|
constructor(input) {
|
|
47
67
|
this.cpOrigin = input.cpOrigin;
|
|
48
68
|
this.appName = input.declaration.name;
|
|
49
|
-
this.lab =
|
|
69
|
+
this.lab = serviceLoopbackAllowed(input.declaration.environment);
|
|
50
70
|
this.scope = new ApplicationScope(input.compiledManifest, { name: input.declaration.name, version: "1" }, this.lifetime.signal, input.typeIssues, id => consentedFileActions(this.raw, id));
|
|
51
71
|
this.worker = new ApplicationWorkerClient(input.port, input.binding, {
|
|
52
72
|
snapshot: value => { if (!this.closed) {
|
|
@@ -60,7 +80,7 @@ export class ApplicationRuntime {
|
|
|
60
80
|
releaseWorker: input.releaseWorker,
|
|
61
81
|
...(input.nativeAuthorization ? { nativeAuthorization: input.nativeAuthorization } : {}),
|
|
62
82
|
failed: error => { if (!this.closed) {
|
|
63
|
-
this.raw = Object.freeze({ ...this.raw, status: "blocked", problem: error.code });
|
|
83
|
+
this.raw = Object.freeze({ ...this.raw, status: "blocked", problem: error.code, unlock: null });
|
|
64
84
|
this.publish();
|
|
65
85
|
} },
|
|
66
86
|
});
|
|
@@ -129,7 +149,7 @@ export class ApplicationRuntime {
|
|
|
129
149
|
subscribe(listener) { this.listeners.add(listener); return () => { this.listeners.delete(listener); }; }
|
|
130
150
|
publish() {
|
|
131
151
|
if (this.closed) {
|
|
132
|
-
this.snapshot = Object.freeze({ ...this.raw, status: this.stopped ? "closed" : "blocked", problem: this.stopped ? null : this.stopFailed ? "application_stop_failed" : "application_closing", selectedCollectionId: null, readiness: emptyReadiness() });
|
|
152
|
+
this.snapshot = Object.freeze({ ...this.raw, status: this.stopped ? "closed" : "blocked", problem: this.stopped ? null : this.stopFailed ? "application_stop_failed" : "application_closing", selectedCollectionId: null, unlock: null, readiness: emptyReadiness() });
|
|
133
153
|
}
|
|
134
154
|
else {
|
|
135
155
|
const readiness = this.scope.getReadiness() ?? emptyReadiness();
|
|
@@ -270,6 +290,35 @@ export class ApplicationRuntime {
|
|
|
270
290
|
return this.complete(await this.worker.request("select", id, caller), caller);
|
|
271
291
|
}, caller);
|
|
272
292
|
}
|
|
293
|
+
/** Unlock the locked Private collection this tab shows with the account key.
|
|
294
|
+
* The typed secret crosses to the Worker once, as UTF-8 bytes; this tab's
|
|
295
|
+
* copy is wiped as soon as it is posted and on every other path. A wrong
|
|
296
|
+
* secret resolves, still `needs_unlock`, with `unlock.problem` set. On
|
|
297
|
+
* success the collection's ports arrive on this same request. */
|
|
298
|
+
unlock(id, secret, options = {}) {
|
|
299
|
+
const caller = this.signal(options);
|
|
300
|
+
let payload;
|
|
301
|
+
try {
|
|
302
|
+
payload = unlockPayload(id, secret);
|
|
303
|
+
}
|
|
304
|
+
catch (error) {
|
|
305
|
+
return Promise.reject(error);
|
|
306
|
+
}
|
|
307
|
+
const wipe = () => { payload[2].fill(0); };
|
|
308
|
+
return this.action(async () => {
|
|
309
|
+
if (this.raw.selectedCollectionId !== id || this.raw.status !== "needs_unlock")
|
|
310
|
+
throw mdbaseError("invalid_request", "This collection is not waiting to be unlocked.", "unlock_not_locked");
|
|
311
|
+
// Posting clones the bytes synchronously: wipe before any await.
|
|
312
|
+
let reply;
|
|
313
|
+
try {
|
|
314
|
+
reply = this.worker.request("unlock", payload, caller);
|
|
315
|
+
}
|
|
316
|
+
finally {
|
|
317
|
+
wipe();
|
|
318
|
+
}
|
|
319
|
+
return this.complete(await reply, caller);
|
|
320
|
+
}, caller).finally(wipe);
|
|
321
|
+
}
|
|
273
322
|
/** Open this app's unsynced collection in this tab (work before connecting).
|
|
274
323
|
* The Worker creates it on first use; the sign-in session is unchanged. */
|
|
275
324
|
openUnsynced(options = {}) {
|