@mdbase-dev/sdk 0.1.0-beta.173 → 0.1.0-beta.178
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/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/http-log.d.ts +2 -6
- package/dist/app-host/http-log.js +10 -43
- package/dist/app-host/http-log.js.map +1 -1
- package/dist/app-host/installation-sign-in.d.ts +3 -0
- package/dist/app-host/installation-sign-in.js +18 -6
- package/dist/app-host/installation-sign-in.js.map +1 -1
- package/dist/app-host/scoped-sign-in-session.js +5 -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/web-sign-in-problem.js +1 -1
- package/dist/app-host/web-sign-in-problem.js.map +1 -1
- package/dist/application/asset-pins.json +4 -4
- package/dist/application/collection-selection.d.ts +10 -0
- package/dist/application/collection-selection.js +47 -5
- package/dist/application/collection-selection.js.map +1 -1
- package/dist/application/entry.js +1 -1
- package/dist/application/entry.js.map +1 -1
- package/dist/application/phase.d.ts +3 -0
- package/dist/application/phase.js +3 -0
- package/dist/application/phase.js.map +1 -1
- package/dist/application/worker-client.js +7 -2
- package/dist/application/worker-client.js.map +1 -1
- package/dist/application/worker.js +65 -50
- package/dist/browser/mdbase-sdk.js +123 -60
- package/dist/browser/mdbase-sdk.min.js +43 -43
- package/dist/describe-error.d.ts +1 -1
- package/dist/describe-error.js +3 -1
- package/dist/describe-error.js.map +1 -1
- package/dist/native/provenance.json +5 -5
- package/dist/native/runtime.wasm +0 -0
- 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
|
@@ -11,7 +11,7 @@ export interface AppServerProblem {
|
|
|
11
11
|
readonly updateUrl: string | null;
|
|
12
12
|
}
|
|
13
13
|
/** Outcomes apps must be able to tell apart. */
|
|
14
|
-
export type AppServerOutcome = "collection_not_yet_migrated" | "collection_migrating" | "account_suspended" | "update_required" | "account_collection_quota_exceeded";
|
|
14
|
+
export type AppServerOutcome = "collection_not_yet_migrated" | "collection_migrating" | "account_suspended" | "update_required" | "account_collection_quota_exceeded" | "private_device_not_allowed";
|
|
15
15
|
/** True only for a problem this module parsed (never an adapter-supplied lookalike). */
|
|
16
16
|
export declare function isAppServerProblem(value: unknown): value is AppServerProblem;
|
|
17
17
|
/** Server-directed retry is clamped to 5 s..10 min. */
|
|
@@ -97,6 +97,10 @@ export function appServerOutcome(problem) {
|
|
|
97
97
|
return "collection_migrating";
|
|
98
98
|
if (names.includes("account_suspended"))
|
|
99
99
|
return "account_suspended";
|
|
100
|
+
// A recovery sign-in asked for a Private collection's key back and this server
|
|
101
|
+
// (its switch, or the app's registered manifest) does not allow it.
|
|
102
|
+
if (problem.status === 403 && problem.code === "installation_private_device_not_allowed")
|
|
103
|
+
return "private_device_not_allowed";
|
|
100
104
|
// CP: 409 collection_unavailable {reason: moved_to_next_runtime, update_url}.
|
|
101
105
|
if (names.some(n => n === "moved_to_next_runtime" || n === "collection_moved" || n === "client_update_required") || problem.status === 426)
|
|
102
106
|
return "update_required";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cp-problem.js","sourceRoot":"","sources":["../../src/app-host/cp-problem.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cp-problem.js","sourceRoot":"","sources":["../../src/app-host/cp-problem.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,9 +58,8 @@ export declare class AppHttpLogTransport implements AppLogTransport {
|
|
|
58
58
|
private readonly now;
|
|
59
59
|
private readonly loopback;
|
|
60
60
|
private commitId;
|
|
61
|
-
/** Unused piggybacked nonces (
|
|
62
|
-
|
|
63
|
-
private spares;
|
|
61
|
+
/** Unused piggybacked nonces; each is taken (never shared) by exactly one later RPC. */
|
|
62
|
+
private readonly spares;
|
|
64
63
|
private responseId;
|
|
65
64
|
private readonly receiving;
|
|
66
65
|
/** Only active logical sends, with bytes admitted under the existing body /
|
|
@@ -81,9 +80,6 @@ export declare class AppHttpLogTransport implements AppLogTransport {
|
|
|
81
80
|
private read;
|
|
82
81
|
/** Bounded, sanitized server problem (code/reason/retry only). */
|
|
83
82
|
private refusal;
|
|
84
|
-
/** Take the newest fresh spare nonce; it is single use, so never hand it out twice. */
|
|
85
|
-
private takeSpare;
|
|
86
|
-
private keepSpare;
|
|
87
83
|
private freshNonce;
|
|
88
84
|
private rpc;
|
|
89
85
|
private direct;
|
|
@@ -4,6 +4,7 @@ import { sha256 } from "@noble/hashes/sha2.js";
|
|
|
4
4
|
import { decode, encode } from "../cbor.js";
|
|
5
5
|
import { uuidToBytes } from "../codec.js";
|
|
6
6
|
import { appServerBody, appServerOutcome, appServerProblem, isAppServerProblem } from "./cp-problem.js";
|
|
7
|
+
import { nonceFromHex, nonceRefusal, SpareNonces } from "./spare-nonces.js";
|
|
7
8
|
const MAX_FRAME = 16 * 1024 * 1024, MAX_OBJECT = 9 * 1024 * 1024;
|
|
8
9
|
const METHODS = new Set(["append", "read", "head", "subscribe", "unsubscribe", "put_object", "get_object", "has_objects", "put_snapshot", "get_snapshot", "endorse_snapshot", "stream_join", "stream_leave", "stream_send"]);
|
|
9
10
|
const FORBIDDEN = new Set(["host", "content-length", "transfer-encoding", "connection", "keep-alive", "upgrade", "te", "trailer", "expect", "range", "cookie", "authorization", "proxy-authorization", "origin", "referer", "accept-charset", "accept-encoding", "access-control-request-headers", "access-control-request-method", "date", "dnt", "permissions-policy", "set-cookie", "via"]);
|
|
@@ -78,23 +79,6 @@ function proof(endpoint, originalCallId, method, collection, token, frame, nonce
|
|
|
78
79
|
pre.fill(0);
|
|
79
80
|
return Object.freeze({ endpoint, originalCallId, frame: frame.slice(), token, method, path: "/v1/rpc", collection, nonce: nonce.slice(), bodyHash, tokenHash, digest });
|
|
80
81
|
}
|
|
81
|
-
/** A worker's piggybacked next nonce (`x-mdbase-next-nonce`) is minted like
|
|
82
|
-
* `GET /v1/nonce` and lives 60 s server-side; use it well inside that. */
|
|
83
|
-
const SPARE_NONCE_MS = 40_000, SPARE_NONCES = 6, NEXT_NONCE = "x-mdbase-next-nonce";
|
|
84
|
-
function nonceBytes(text) { return /^[0-9a-f]{64}$/.test(text) ? Uint8Array.from(text.match(/../g).map(v => parseInt(v, 16))) : null; }
|
|
85
|
-
/** An auth refusal of the nonce itself (never dispatched), safe to retry once with a fresh nonce. */
|
|
86
|
-
function nonceRefused(reply) {
|
|
87
|
-
try {
|
|
88
|
-
const e = decode(reply).get(3);
|
|
89
|
-
if (!(e instanceof Map))
|
|
90
|
-
return false;
|
|
91
|
-
const m = e;
|
|
92
|
-
return m.get(0) === "unauthenticated" && (m.get(1) === "nonce" || m.get(1) === "replay");
|
|
93
|
-
}
|
|
94
|
-
catch {
|
|
95
|
-
return false;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
82
|
/** All operations are bound to ONE immutable authenticated generation. A throw is
|
|
99
83
|
* unknown outcome; AppLogPump feeds NoResponse, never an invented rejection/save. */
|
|
100
84
|
export class AppHttpLogTransport {
|
|
@@ -109,9 +93,8 @@ export class AppHttpLogTransport {
|
|
|
109
93
|
now;
|
|
110
94
|
loopback;
|
|
111
95
|
commitId = (1n << 64n) - 1n;
|
|
112
|
-
/** Unused piggybacked nonces (
|
|
113
|
-
|
|
114
|
-
spares = [];
|
|
96
|
+
/** Unused piggybacked nonces; each is taken (never shared) by exactly one later RPC. */
|
|
97
|
+
spares;
|
|
115
98
|
responseId = 0;
|
|
116
99
|
receiving = new Map();
|
|
117
100
|
/** Only active logical sends, with bytes admitted under the existing body /
|
|
@@ -135,6 +118,7 @@ export class AppHttpLogTransport {
|
|
|
135
118
|
this.approved = new Set([this.base, ...authority.directOrigins.map(v => origin(v, this.loopback))]);
|
|
136
119
|
this.fetchImpl = options.fetch ?? globalThis.fetch;
|
|
137
120
|
this.now = options.now ?? Date.now;
|
|
121
|
+
this.spares = new SpareNonces(this.now);
|
|
138
122
|
}
|
|
139
123
|
catch {
|
|
140
124
|
throw error("binding");
|
|
@@ -260,24 +244,6 @@ export class AppHttpLogTransport {
|
|
|
260
244
|
const server = appServerProblem(r.status, body, r.headers);
|
|
261
245
|
return new AppHttpLogError(appServerOutcome(server) ?? "unavailable", server);
|
|
262
246
|
}
|
|
263
|
-
/** Take the newest fresh spare nonce; it is single use, so never hand it out twice. */
|
|
264
|
-
takeSpare() {
|
|
265
|
-
for (let spare = this.spares.pop(); spare; spare = this.spares.pop()) {
|
|
266
|
-
const age = this.now() - spare.at;
|
|
267
|
-
if (age >= 0 && age < SPARE_NONCE_MS)
|
|
268
|
-
return spare.nonce;
|
|
269
|
-
spare.nonce.fill(0);
|
|
270
|
-
}
|
|
271
|
-
return null;
|
|
272
|
-
}
|
|
273
|
-
keepSpare(r) {
|
|
274
|
-
const next = nonceBytes(r.headers.get(NEXT_NONCE) ?? "");
|
|
275
|
-
if (!next)
|
|
276
|
-
return;
|
|
277
|
-
this.spares.push({ nonce: next, at: this.now() });
|
|
278
|
-
while (this.spares.length > SPARE_NONCES)
|
|
279
|
-
this.spares.shift().nonce.fill(0);
|
|
280
|
-
}
|
|
281
247
|
async freshNonce(signal, receive) {
|
|
282
248
|
const nr = await this.fetch(`${this.base}/v1/nonce`, {}, signal, 15_000);
|
|
283
249
|
if (!nr.ok)
|
|
@@ -285,7 +251,7 @@ export class AppHttpLogTransport {
|
|
|
285
251
|
const raw = await this.read(nr, 128, signal, receive);
|
|
286
252
|
try {
|
|
287
253
|
this.check(signal);
|
|
288
|
-
const nonce =
|
|
254
|
+
const nonce = nonceFromHex(new TextDecoder("utf-8", { fatal: true }).decode(raw).trim());
|
|
289
255
|
if (!nonce)
|
|
290
256
|
throw error("shape");
|
|
291
257
|
return nonce;
|
|
@@ -302,7 +268,7 @@ export class AppHttpLogTransport {
|
|
|
302
268
|
throw error("shape");
|
|
303
269
|
// Steady state: the previous response's piggybacked nonce, so one request per RPC.
|
|
304
270
|
// Older workers send none; then (and when it is stale) fall back to GET /v1/nonce.
|
|
305
|
-
const spare = allowSpare ? this.
|
|
271
|
+
const spare = allowSpare ? this.spares.take() : null;
|
|
306
272
|
const nonce = spare ?? await this.freshNonce(signal, receive);
|
|
307
273
|
this.check(signal);
|
|
308
274
|
const p = proof(this.endpoint, originalId, method, this.collection, token, frame, nonce);
|
|
@@ -314,22 +280,23 @@ export class AppHttpLogTransport {
|
|
|
314
280
|
if (!(signature instanceof Uint8Array) || signature.length !== 64)
|
|
315
281
|
throw error("shape");
|
|
316
282
|
const r = await this.fetch(`${this.base}/v1/rpc`, { method: "POST", headers: { authorization: `Bearer ${token}`, "content-type": "application/cbor", "x-mdbase-nonce": hex(p.nonce), "x-mdbase-sig": hex(signature) }, body: frame }, signal, 15_000);
|
|
317
|
-
this.
|
|
283
|
+
this.spares.keep(r.headers);
|
|
318
284
|
if (r.status === 401)
|
|
319
285
|
this.authority.invalidateToken?.(token);
|
|
320
286
|
if (!r.ok)
|
|
321
287
|
throw await this.refusal(r, signal, receive);
|
|
322
288
|
const reply = await this.read(r, method === "append" ? 64 * 1024 : MAX_FRAME, signal, receive);
|
|
289
|
+
let refused;
|
|
323
290
|
try {
|
|
324
291
|
this.check(signal);
|
|
325
|
-
this.response(reply, id);
|
|
292
|
+
refused = nonceRefusal(this.response(reply, id));
|
|
326
293
|
}
|
|
327
294
|
catch (e) {
|
|
328
295
|
reply.fill(0);
|
|
329
296
|
throw e;
|
|
330
297
|
}
|
|
331
298
|
// A refused spare (clock skew, or reused) was rejected before dispatch: retry once fresh.
|
|
332
|
-
if (spare &&
|
|
299
|
+
if (spare && refused) {
|
|
333
300
|
reply.fill(0);
|
|
334
301
|
return await this.rpc(frame, method, id, signal, receive, originalId, false);
|
|
335
302
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-log.js","sourceRoot":"","sources":["../../src/app-host/http-log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"http-log.js","sourceRoot":"","sources":["../../src/app-host/http-log.ts"],"names":[],"mappings":"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"}
|
|
@@ -214,6 +214,9 @@ export declare class AppProtectedInstallationSignIn {
|
|
|
214
214
|
* confirmed by guarded portal choice or manual legacy confirmation before
|
|
215
215
|
* confirmedSelection/attestation is permitted. */
|
|
216
216
|
exchange(): Promise<AppInstallationSignInView>;
|
|
217
|
+
/** A recovery slot holds exactly its one collection: the selected cloud copy,
|
|
218
|
+
* or the one Private device scope (which Connect never names as a selection). */
|
|
219
|
+
private static recovered;
|
|
217
220
|
private parseNativeSelection;
|
|
218
221
|
pendingNativeSelection(): AppNativeSelection | null;
|
|
219
222
|
nativeAuthorizationContext(installation: AppInstallationCustodyAuthority): AppNativeAuthorizationContext | null;
|
|
@@ -193,7 +193,7 @@ export class AppProtectedInstallationSignIn {
|
|
|
193
193
|
const binding = object(p.recoveryFor, "accountId,collectionId");
|
|
194
194
|
id(binding.accountId);
|
|
195
195
|
id(binding.collectionId);
|
|
196
|
-
if (!p.owner || p.requestedCreateCollections === true || p.freshRequestedCreateCollections === true
|
|
196
|
+
if (!p.owner || p.requestedCreateCollections === true || p.freshRequestedCreateCollections === true)
|
|
197
197
|
throw fail("binding");
|
|
198
198
|
}
|
|
199
199
|
if (selection !== undefined) {
|
|
@@ -249,7 +249,7 @@ export class AppProtectedInstallationSignIn {
|
|
|
249
249
|
throw fail("recovery_required");
|
|
250
250
|
if (s.privateDeviceCollectionIds !== undefined) {
|
|
251
251
|
const scopes = this.collectionIds(s.privateDeviceCollectionIds);
|
|
252
|
-
if (!scopes.length || !s.token ||
|
|
252
|
+
if (!scopes.length || !s.token || scopes.some(c => !s.collectionIds.includes(c)))
|
|
253
253
|
throw fail("recovery_required");
|
|
254
254
|
s.privateDeviceCollectionIds = scopes;
|
|
255
255
|
}
|
|
@@ -259,7 +259,8 @@ export class AppProtectedInstallationSignIn {
|
|
|
259
259
|
id(binding.collectionId);
|
|
260
260
|
}
|
|
261
261
|
if ((s.recoveryFor === undefined) !== (p.recoveryFor === undefined) || s.recoveryFor?.accountId !== p.recoveryFor?.accountId || s.recoveryFor?.collectionId !== p.recoveryFor?.collectionId || (s.recoveryFor && (s.requestedCreateCollections || s.createCollections ||
|
|
262
|
-
(s.selection && s.selection.accountId !== s.recoveryFor.accountId) || (s.token && (s.nativeSelection ? s.collectionIds.length !== 0 || s.nativeSelection.collectionId !== s.recoveryFor.collectionId
|
|
262
|
+
(s.selection && s.selection.accountId !== s.recoveryFor.accountId) || (s.token && (s.nativeSelection ? s.collectionIds.length !== 0 || s.nativeSelection.collectionId !== s.recoveryFor.collectionId
|
|
263
|
+
: !AppProtectedInstallationSignIn.recovered(s.recoveryFor.collectionId, s.collectionIds, s.privateDeviceCollectionIds ?? [], s.collectionSelection))))))
|
|
263
264
|
throw fail("recovery_required");
|
|
264
265
|
if (s.consentRequest !== null) {
|
|
265
266
|
const c = object(s.consentRequest, `requestId,secret,requestedCreateCollections,challenge,completed,addedCollectionIds,approvedCreateCollections${Object.hasOwn(s.consentRequest, "requestedPrivateDevice") ? ",requestedPrivateDevice" : ""}${portalKeys(s.consentRequest, true)}`);
|
|
@@ -624,9 +625,12 @@ export class AppProtectedInstallationSignIn {
|
|
|
624
625
|
if (this.state.token)
|
|
625
626
|
return this.view();
|
|
626
627
|
const { status, value: v } = await this.json(`/v1/pairing-requests/${this.state.requestId}/exchange`, true);
|
|
628
|
+
// A window renewed after a denial waits for the SAME account to be chosen
|
|
629
|
+
// again (Connect keeps its account, connector and challenge, and selected()
|
|
630
|
+
// still binds them), so it may read pending while this state holds the selection.
|
|
627
631
|
if (v.status === "pending") {
|
|
628
632
|
object(v, "status");
|
|
629
|
-
if (status !== 202 || this.state.selection)
|
|
633
|
+
if (status !== 202 || (this.state.selection && !this.state.renewal))
|
|
630
634
|
throw fail("response");
|
|
631
635
|
return this.view();
|
|
632
636
|
}
|
|
@@ -667,8 +671,8 @@ export class AppProtectedInstallationSignIn {
|
|
|
667
671
|
throw fail("response");
|
|
668
672
|
if (this.state.recoveryFor && nativeSelection && nativeSelection.collectionId !== this.state.recoveryFor.collectionId)
|
|
669
673
|
throw fail("binding");
|
|
670
|
-
if (this.state.recoveryFor && !nativeSelection && (createCollections ||
|
|
671
|
-
|
|
674
|
+
if (this.state.recoveryFor && !nativeSelection && (createCollections ||
|
|
675
|
+
!AppProtectedInstallationSignIn.recovered(this.state.recoveryFor.collectionId, collectionIds, privateDeviceCollectionIds, collectionSelection)))
|
|
672
676
|
throw fail("binding");
|
|
673
677
|
if (v.timer_consent === true && !collectionSelection)
|
|
674
678
|
throw fail("response");
|
|
@@ -681,6 +685,14 @@ export class AppProtectedInstallationSignIn {
|
|
|
681
685
|
return this.view();
|
|
682
686
|
});
|
|
683
687
|
}
|
|
688
|
+
/** A recovery slot holds exactly its one collection: the selected cloud copy,
|
|
689
|
+
* or the one Private device scope (which Connect never names as a selection). */
|
|
690
|
+
static recovered(collection, ids, device, selection) {
|
|
691
|
+
if (ids.length !== 1 || ids[0] !== collection)
|
|
692
|
+
return false;
|
|
693
|
+
return device.length ? device.length === 1 && device[0] === collection && selection === undefined
|
|
694
|
+
: selection?.selectedCollectionId === collection && selection.createdCollectionIds.length === 0;
|
|
695
|
+
}
|
|
684
696
|
parseNativeSelection(value, requestId) {
|
|
685
697
|
const n = object(value, "authorization_request_id,collection_id"), a = this.state.nativeAuthorization;
|
|
686
698
|
if (!a || a.requestId !== requestId || id(n.authorization_request_id) !== a.authorizationId)
|