@catalyst-cloud/sdk 0.7.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/dist/browser.d.ts +9 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +24 -0
- package/dist/browser.js.map +1 -0
- package/dist/live-sync-client.d.ts +128 -9
- package/dist/live-sync-client.d.ts.map +1 -1
- package/dist/live-sync-client.js +369 -51
- package/dist/live-sync-client.js.map +1 -1
- package/dist/replica/browser/apply.d.ts +29 -0
- package/dist/replica/browser/apply.d.ts.map +1 -0
- package/dist/replica/browser/apply.js +59 -0
- package/dist/replica/browser/apply.js.map +1 -0
- package/dist/replica/browser/browser-lock.d.ts +25 -0
- package/dist/replica/browser/browser-lock.d.ts.map +1 -0
- package/dist/replica/browser/browser-lock.js +91 -0
- package/dist/replica/browser/browser-lock.js.map +1 -0
- package/dist/replica/browser/browser-replica.d.ts +237 -0
- package/dist/replica/browser/browser-replica.d.ts.map +1 -0
- package/dist/replica/browser/browser-replica.js +952 -0
- package/dist/replica/browser/browser-replica.js.map +1 -0
- package/dist/replica/browser/db.worker.d.ts +2 -0
- package/dist/replica/browser/db.worker.d.ts.map +1 -0
- package/dist/replica/browser/db.worker.js +40 -0
- package/dist/replica/browser/db.worker.js.map +1 -0
- package/dist/replica/browser/delta-queue.d.ts +187 -0
- package/dist/replica/browser/delta-queue.d.ts.map +1 -0
- package/dist/replica/browser/delta-queue.js +328 -0
- package/dist/replica/browser/delta-queue.js.map +1 -0
- package/dist/replica/browser/ports.d.ts +39 -0
- package/dist/replica/browser/ports.d.ts.map +1 -0
- package/dist/replica/browser/ports.js +144 -0
- package/dist/replica/browser/ports.js.map +1 -0
- package/dist/replica/browser/protocol.d.ts +129 -0
- package/dist/replica/browser/protocol.d.ts.map +1 -0
- package/dist/replica/browser/protocol.js +12 -0
- package/dist/replica/browser/protocol.js.map +1 -0
- package/dist/replica/browser/seed-read-gate.d.ts +13 -0
- package/dist/replica/browser/seed-read-gate.d.ts.map +1 -0
- package/dist/replica/browser/seed-read-gate.js +36 -0
- package/dist/replica/browser/seed-read-gate.js.map +1 -0
- package/dist/replica/browser/seed-session.d.ts +23 -0
- package/dist/replica/browser/seed-session.d.ts.map +1 -0
- package/dist/replica/browser/seed-session.js +57 -0
- package/dist/replica/browser/seed-session.js.map +1 -0
- package/dist/replica/browser/snapshot-stream.d.ts +24 -0
- package/dist/replica/browser/snapshot-stream.d.ts.map +1 -0
- package/dist/replica/browser/snapshot-stream.js +113 -0
- package/dist/replica/browser/snapshot-stream.js.map +1 -0
- package/dist/replica/browser/sqlite-db.d.ts +9 -0
- package/dist/replica/browser/sqlite-db.d.ts.map +1 -0
- package/dist/replica/browser/sqlite-db.js +28 -0
- package/dist/replica/browser/sqlite-db.js.map +1 -0
- package/dist/replica/browser/support.d.ts +2 -0
- package/dist/replica/browser/support.d.ts.map +1 -0
- package/dist/replica/browser/support.js +30 -0
- package/dist/replica/browser/support.js.map +1 -0
- package/dist/replica/browser/validate.d.ts +17 -0
- package/dist/replica/browser/validate.d.ts.map +1 -0
- package/dist/replica/browser/validate.js +47 -0
- package/dist/replica/browser/validate.js.map +1 -0
- package/dist/replica/browser/worker-core.d.ts +10 -0
- package/dist/replica/browser/worker-core.d.ts.map +1 -0
- package/dist/replica/browser/worker-core.js +181 -0
- package/dist/replica/browser/worker-core.js.map +1 -0
- package/dist/replica/catalyst-replica.d.ts +6 -9
- package/dist/replica/catalyst-replica.d.ts.map +1 -1
- package/dist/replica/catalyst-replica.js +53 -19
- package/dist/replica/catalyst-replica.js.map +1 -1
- package/dist/replica/migration-shape.d.ts +11 -0
- package/dist/replica/migration-shape.d.ts.map +1 -0
- package/dist/replica/migration-shape.js +25 -0
- package/dist/replica/migration-shape.js.map +1 -0
- package/package.json +16 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"live-sync-client.js","sourceRoot":"","sources":["../src/live-sync-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"live-sync-client.js","sourceRoot":"","sources":["../src/live-sync-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ReplicaDb } from "./ports.js";
|
|
2
|
+
import type { WireChange } from "./protocol.js";
|
|
3
|
+
/**
|
|
4
|
+
* Wipe every replica entity table (but NOT sync_meta). Called before replaying a fresh /snapshot so a
|
|
5
|
+
* resync can't leave orphaned rows.
|
|
6
|
+
*/
|
|
7
|
+
export declare function truncateReplica(db: ReplicaDb): void;
|
|
8
|
+
/** Read the persisted change-feed cursor (or null if a snapshot has never completed). */
|
|
9
|
+
export declare function getCursor(db: ReplicaDb): number | null;
|
|
10
|
+
/** Persist the change-feed cursor (the last applied change_log.seq). */
|
|
11
|
+
export declare function setCursor(db: ReplicaDb, cursor: number): void;
|
|
12
|
+
/** Read the tenant fence stored alongside the cursor, or null on a database that predates it. */
|
|
13
|
+
export declare function getIdentity(db: ReplicaDb): string | null;
|
|
14
|
+
/** Stamp the tenant fence. Same table as the cursor, so truncateReplica deliberately preserves it. */
|
|
15
|
+
export declare function setIdentity(db: ReplicaDb, identity: string): void;
|
|
16
|
+
/**
|
|
17
|
+
* Drop the persisted cursor so the next `getCursor` reads null and the client cold-starts.
|
|
18
|
+
*
|
|
19
|
+
* Deleting the row (rather than writing 0) is deliberate: `getCursor` distinguishes "never seeded"
|
|
20
|
+
* (null) from "seeded at seq 0", and only the former triggers a snapshot.
|
|
21
|
+
*/
|
|
22
|
+
export declare function clearCursor(db: ReplicaDb): void;
|
|
23
|
+
/**
|
|
24
|
+
* Apply ONE change-feed record to the replica via the shared, schema-driven write path. Returns true
|
|
25
|
+
* iff a row was actually written (a stale upsert rejected by the updated_at guard, or a delete of an
|
|
26
|
+
* already-absent row, returns false).
|
|
27
|
+
*/
|
|
28
|
+
export declare function applyChange(db: ReplicaDb, change: WireChange): boolean;
|
|
29
|
+
//# sourceMappingURL=apply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../../src/replica/browser/apply.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED,yFAAyF;AACzF,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7D;AAKD,iGAAiG;AACjG,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAIxD;AAED,sGAAsG;AACtG,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMjE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAEtE"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
// replica/apply.ts — the browser-side write path for the OPFS replica (CTC-51).
|
|
2
|
+
//
|
|
3
|
+
// The pure, schema-driven apply logic (applyDelta / truncate / cursor) now lives in the shared,
|
|
4
|
+
// runtime-agnostic @catalyst-cloud/replicate package (ADR-0002) — the SAME code apps/host-sync routes
|
|
5
|
+
// through, so the two replicas can't drift. This module is the thin BROWSER ADAPTER: it binds the shared
|
|
6
|
+
// apply path to the wasm `ReplicaDb` write port + its value coercion (sqlite-db.ts). The old hand-
|
|
7
|
+
// maintained "twin" copy of the SQL building is GONE — there is now one source of truth.
|
|
8
|
+
//
|
|
9
|
+
// Vite-safe: @catalyst-cloud/replicate has NO bun:sqlite import (it adapts to the injected handle), and
|
|
10
|
+
// the browser already imports the schema SSOT — so nothing new is dragged into the web bundle.
|
|
11
|
+
//
|
|
12
|
+
// WIRE CONTRACT (shared — see src/do/changefeed.ts): unchanged; documented in @catalyst-cloud/replicate.
|
|
13
|
+
import { applyDelta, getCursor as replicaGetCursor, setCursor as replicaSetCursor, truncateReplica as replicaTruncate, } from "@catalyst-cloud/replicate";
|
|
14
|
+
import { toBindable } from "./ports.js";
|
|
15
|
+
/**
|
|
16
|
+
* Wipe every replica entity table (but NOT sync_meta). Called before replaying a fresh /snapshot so a
|
|
17
|
+
* resync can't leave orphaned rows.
|
|
18
|
+
*/
|
|
19
|
+
export function truncateReplica(db) {
|
|
20
|
+
replicaTruncate(db);
|
|
21
|
+
}
|
|
22
|
+
/** Read the persisted change-feed cursor (or null if a snapshot has never completed). */
|
|
23
|
+
export function getCursor(db) {
|
|
24
|
+
return replicaGetCursor(db);
|
|
25
|
+
}
|
|
26
|
+
/** Persist the change-feed cursor (the last applied change_log.seq). */
|
|
27
|
+
export function setCursor(db, cursor) {
|
|
28
|
+
replicaSetCursor(db, cursor, toBindable);
|
|
29
|
+
}
|
|
30
|
+
/** `sync_meta` key holding the tenant fence — see OpenRequest.identity. */
|
|
31
|
+
const IDENTITY_KEY = "identity";
|
|
32
|
+
/** Read the tenant fence stored alongside the cursor, or null on a database that predates it. */
|
|
33
|
+
export function getIdentity(db) {
|
|
34
|
+
const row = db.get("SELECT value FROM sync_meta WHERE key = ?", IDENTITY_KEY);
|
|
35
|
+
const v = row?.value;
|
|
36
|
+
return typeof v === "string" ? v : null;
|
|
37
|
+
}
|
|
38
|
+
/** Stamp the tenant fence. Same table as the cursor, so truncateReplica deliberately preserves it. */
|
|
39
|
+
export function setIdentity(db, identity) {
|
|
40
|
+
db.run("INSERT INTO sync_meta (key, value) VALUES (?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value", IDENTITY_KEY, identity);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Drop the persisted cursor so the next `getCursor` reads null and the client cold-starts.
|
|
44
|
+
*
|
|
45
|
+
* Deleting the row (rather than writing 0) is deliberate: `getCursor` distinguishes "never seeded"
|
|
46
|
+
* (null) from "seeded at seq 0", and only the former triggers a snapshot.
|
|
47
|
+
*/
|
|
48
|
+
export function clearCursor(db) {
|
|
49
|
+
db.run("DELETE FROM sync_meta WHERE key = 'cursor'");
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Apply ONE change-feed record to the replica via the shared, schema-driven write path. Returns true
|
|
53
|
+
* iff a row was actually written (a stale upsert rejected by the updated_at guard, or a delete of an
|
|
54
|
+
* already-absent row, returns false).
|
|
55
|
+
*/
|
|
56
|
+
export function applyChange(db, change) {
|
|
57
|
+
return applyDelta(db, change, toBindable);
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=apply.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/replica/browser/apply.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,gGAAgG;AAChG,sGAAsG;AACtG,yGAAyG;AACzG,mGAAmG;AACnG,yFAAyF;AACzF,EAAE;AACF,wGAAwG;AACxG,+FAA+F;AAC/F,EAAE;AACF,yGAAyG;AAEzG,OAAO,EACL,UAAU,EACV,SAAS,IAAI,gBAAgB,EAC7B,SAAS,IAAI,gBAAgB,EAC7B,eAAe,IAAI,eAAe,GACnC,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,EAAa;IAC3C,eAAe,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,SAAS,CAAC,EAAa;IACrC,OAAO,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,SAAS,CAAC,EAAa,EAAE,MAAc;IACrD,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC3C,CAAC;AAED,2EAA2E;AAC3E,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,iGAAiG;AACjG,MAAM,UAAU,WAAW,CAAC,EAAa;IACvC,MAAM,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,2CAA2C,EAAE,YAAY,CAAC,CAAC;IAC9E,MAAM,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC;IACrB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1C,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,QAAgB;IACzD,EAAE,CAAC,GAAG,CACJ,wGAAwG,EACxG,YAAY,EACZ,QAAQ,CACT,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,EAAa;IACvC,EAAE,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,EAAa,EAAE,MAAkB;IAC3D,OAAO,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** A held (or no-op) replica lock. `release()` is idempotent. */
|
|
2
|
+
export interface ReplicaLockHandle {
|
|
3
|
+
/** False when Web Locks is unavailable and the gate degraded to a no-op (no exclusion happened). */
|
|
4
|
+
readonly held: boolean;
|
|
5
|
+
release(): void;
|
|
6
|
+
}
|
|
7
|
+
export interface ReplicaLockOptions {
|
|
8
|
+
/** Extra acquisition attempts after the first (covers the reload race). Default 1. */
|
|
9
|
+
retries?: number;
|
|
10
|
+
/** Delay between attempts, ms. Default 1000. */
|
|
11
|
+
retryDelayMs?: number;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Claim sole ownership of the origin's OPFS replica. Resolves a held handle when THIS tab should boot
|
|
15
|
+
* the replica; `null` when another live tab owns it (caller should surface "secondary", not an error);
|
|
16
|
+
* a no-op handle (`held: false`) when the runtime has no Web Locks API at all.
|
|
17
|
+
*
|
|
18
|
+
* REJECTS when the Web Locks API is present but throws — denied by policy, or malfunctioning. That is
|
|
19
|
+
* a boot failure, NOT contention, and the caller must not report it as "secondary": no other tab owns
|
|
20
|
+
* the replica, so "secondary" would be both wrong and terminal, leaving the consumer on the fallback
|
|
21
|
+
* path with nothing to diagnose. Not retried either — a denied API does not recover, and retrying only
|
|
22
|
+
* delays the diagnosis (CTC-114 review round 5).
|
|
23
|
+
*/
|
|
24
|
+
export declare function acquireReplicaLock(name: string, options?: ReplicaLockOptions): Promise<ReplicaLockHandle | null>;
|
|
25
|
+
//# sourceMappingURL=browser-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-lock.d.ts","sourceRoot":"","sources":["../../../src/replica/browser/browser-lock.ts"],"names":[],"mappings":"AA6BA,iEAAiE;AACjE,MAAM,WAAW,iBAAiB;IAChC,oGAAoG;IACpG,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,OAAO,IAAI,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAwCD;;;;;;;;;;GAUG;AACH,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAyBnC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
// replica/browser/browser-lock.ts — the single-owner gate for the browser OPFS replica (CTC-114,
|
|
2
|
+
// resolving CTC-118). Browser twin of the node writer-lock (src/replica/writer-lock.ts), built on the
|
|
3
|
+
// Web Locks API instead of a sidecar file.
|
|
4
|
+
//
|
|
5
|
+
// WHY: OPFS SAHPool is SINGLE-CONNECTION-PER-ORIGIN — it takes exclusive SyncAccessHandles on the pool
|
|
6
|
+
// files, so a second tab booting the same directory dies inside the worker with
|
|
7
|
+
// `NoModificationAllowedError` and (pre-CTC-118) surfaced as a red "Replica error" for a situation
|
|
8
|
+
// that is neither an error nor actionable. This gate moves the contention to the MAIN thread, BEFORE
|
|
9
|
+
// any worker or wasm is loaded: exactly one tab per origin acquires the lock and boots the replica;
|
|
10
|
+
// every other tab is told "secondary" and cleanly stays on its fetch+live path.
|
|
11
|
+
//
|
|
12
|
+
// PROPERTIES the Web Locks API gives us for free (and the node lock had to build by hand):
|
|
13
|
+
// • Automatic release — a lock dies with its document (close, reload, crash). No heartbeat, no
|
|
14
|
+
// staleness window, no reclaim protocol.
|
|
15
|
+
// • steal-free fairness — `ifAvailable: true` never queues; a losing tab knows IMMEDIATELY.
|
|
16
|
+
//
|
|
17
|
+
// The one race that needs care: a RELOAD. The old document's lock releases during unload, so the new
|
|
18
|
+
// document's first probe can lose to its own predecessor. One short retry covers it. (The SAHPool
|
|
19
|
+
// handles themselves can also outlive the lock by a beat — the worker-side open remains the last line
|
|
20
|
+
// of defense; see sqlite-db.ts.)
|
|
21
|
+
//
|
|
22
|
+
// Wrapped so a runtime without Web Locks (or a non-browser test runtime) degrades to a no-op handle:
|
|
23
|
+
// the caller proceeds exactly as pre-CTC-114, where the worker-side collision is the only guard.
|
|
24
|
+
import { requireNonNegativeFinite, requireNonNegativeInt, } from "./validate.js";
|
|
25
|
+
const NOOP_HANDLE = { held: false, release: () => { } };
|
|
26
|
+
/** One `ifAvailable` probe: resolve a handle when the lock is ours, else null. Never queues. */
|
|
27
|
+
function tryAcquire(name) {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
// The held-lock idiom: the lock lives exactly as long as the promise the callback returns. We
|
|
30
|
+
// resolve the OUTER promise from inside the callback (so the caller learns the outcome), and park
|
|
31
|
+
// the callback's own promise until release() settles it.
|
|
32
|
+
void navigator.locks
|
|
33
|
+
.request(name, { ifAvailable: true, mode: "exclusive" }, (lock) => {
|
|
34
|
+
if (lock === null) {
|
|
35
|
+
resolve(null); // someone else holds it — ifAvailable never queues.
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
return new Promise((releaseLock) => {
|
|
39
|
+
let released = false;
|
|
40
|
+
resolve({
|
|
41
|
+
held: true,
|
|
42
|
+
release: () => {
|
|
43
|
+
if (released)
|
|
44
|
+
return;
|
|
45
|
+
released = true;
|
|
46
|
+
releaseLock();
|
|
47
|
+
},
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
})
|
|
51
|
+
// A REJECTING lock manager is not contention (CTC-114 review round 5). Collapsing it to the same
|
|
52
|
+
// `null` that `ifAvailable` uses for "another tab holds it" made a denied or malfunctioning Web
|
|
53
|
+
// Locks API resolve start() as "secondary" — a clean, terminal, NON-error state — when in fact no
|
|
54
|
+
// other tab owned the replica and the documented boot-error path was never reached. The consumer
|
|
55
|
+
// silently sat on the fallback path forever with nothing to diagnose from. Propagate instead, so
|
|
56
|
+
// the caller can tell "someone else has it" (null) from "the lock API is broken" (throw).
|
|
57
|
+
.catch((err) => reject(err instanceof Error ? err : new Error(String(err))));
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Claim sole ownership of the origin's OPFS replica. Resolves a held handle when THIS tab should boot
|
|
62
|
+
* the replica; `null` when another live tab owns it (caller should surface "secondary", not an error);
|
|
63
|
+
* a no-op handle (`held: false`) when the runtime has no Web Locks API at all.
|
|
64
|
+
*
|
|
65
|
+
* REJECTS when the Web Locks API is present but throws — denied by policy, or malfunctioning. That is
|
|
66
|
+
* a boot failure, NOT contention, and the caller must not report it as "secondary": no other tab owns
|
|
67
|
+
* the replica, so "secondary" would be both wrong and terminal, leaving the consumer on the fallback
|
|
68
|
+
* path with nothing to diagnose. Not retried either — a denied API does not recover, and retrying only
|
|
69
|
+
* delays the diagnosis (CTC-114 review round 5).
|
|
70
|
+
*/
|
|
71
|
+
export async function acquireReplicaLock(name, options = {}) {
|
|
72
|
+
if (typeof navigator === "undefined" || typeof navigator.locks?.request !== "function") {
|
|
73
|
+
return NOOP_HANDLE;
|
|
74
|
+
}
|
|
75
|
+
// Validate before entering the loop (CTC-114 review round 12). This helper is exported from
|
|
76
|
+
// `@catalyst-cloud/sdk/browser`, so both values are consumer-supplied. With `retries: NaN` or
|
|
77
|
+
// `Infinity` the `attempt >= retries` termination test never succeeds, so ordinary contention —
|
|
78
|
+
// another tab simply holding the lock — makes this probe FOREVER instead of resolving `null`, and
|
|
79
|
+
// `start()` never settles. Zero retries is legitimate (probe once), hence non-negative.
|
|
80
|
+
const retries = requireNonNegativeInt("acquireReplicaLock", "retries", options.retries ?? 1);
|
|
81
|
+
const delayMs = requireNonNegativeFinite("acquireReplicaLock", "retryDelayMs", options.retryDelayMs ?? 1000);
|
|
82
|
+
for (let attempt = 0;; attempt++) {
|
|
83
|
+
const handle = await tryAcquire(name);
|
|
84
|
+
if (handle)
|
|
85
|
+
return handle;
|
|
86
|
+
if (attempt >= retries)
|
|
87
|
+
return null;
|
|
88
|
+
await new Promise((r) => setTimeout(r, delayMs));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=browser-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-lock.js","sourceRoot":"","sources":["../../../src/replica/browser/browser-lock.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,sGAAsG;AACtG,2CAA2C;AAC3C,EAAE;AACF,uGAAuG;AACvG,gFAAgF;AAChF,mGAAmG;AACnG,qGAAqG;AACrG,oGAAoG;AACpG,gFAAgF;AAChF,EAAE;AACF,2FAA2F;AAC3F,iGAAiG;AACjG,6CAA6C;AAC7C,8FAA8F;AAC9F,EAAE;AACF,qGAAqG;AACrG,kGAAkG;AAClG,sGAAsG;AACtG,iCAAiC;AACjC,EAAE;AACF,qGAAqG;AACrG,iGAAiG;AAEjG,OAAO,EACL,wBAAwB,EACxB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAgBvB,MAAM,WAAW,GAAsB,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAC;AAE1E,gGAAgG;AAChG,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,8FAA8F;QAC9F,kGAAkG;QAClG,yDAAyD;QACzD,KAAK,SAAS,CAAC,KAAK;aACjB,OAAO,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;YAChE,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,oDAAoD;gBACnE,OAAO;YACT,CAAC;YACD,OAAO,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,EAAE;gBACvC,IAAI,QAAQ,GAAG,KAAK,CAAC;gBACrB,OAAO,CAAC;oBACN,IAAI,EAAE,IAAI;oBACV,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,QAAQ;4BAAE,OAAO;wBACrB,QAAQ,GAAG,IAAI,CAAC;wBAChB,WAAW,EAAE,CAAC;oBAChB,CAAC;iBACF,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;YACF,iGAAiG;YACjG,gGAAgG;YAChG,kGAAkG;YAClG,iGAAiG;YACjG,iGAAiG;YACjG,0FAA0F;aACzF,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE,CACtB,MAAM,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAC5D,CAAC;IACN,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAY,EACZ,UAA8B,EAAE;IAEhC,IAAI,OAAO,SAAS,KAAK,WAAW,IAAI,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QACvF,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,4FAA4F;IAC5F,8FAA8F;IAC9F,gGAAgG;IAChG,kGAAkG;IAClG,wFAAwF;IACxF,MAAM,OAAO,GAAG,qBAAqB,CACnC,oBAAoB,EACpB,SAAS,EACT,OAAO,CAAC,OAAO,IAAI,CAAC,CACrB,CAAC;IACF,MAAM,OAAO,GAAG,wBAAwB,CACtC,oBAAoB,EACpB,cAAc,EACd,OAAO,CAAC,YAAY,IAAI,IAAI,CAC7B,CAAC;IACF,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,IAAI,OAAO,IAAI,OAAO;YAAE,OAAO,IAAI,CAAC;QACpC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import type { IssueView, IssueDetailView, PullView } from "@catalyst-cloud/read-model";
|
|
2
|
+
import type { ReplicaRequest } from "./protocol.js";
|
|
3
|
+
/**
|
|
4
|
+
* Status of the replica (superset of the transport's vocabulary):
|
|
5
|
+
* • "secondary" — another live tab owns the origin's replica (Web Locks); THIS tab should read via
|
|
6
|
+
* its normal fetch path. Not an error, not retryable from here (CTC-118).
|
|
7
|
+
* • "unsupported" — the engine lacks OPFS/worker support (see isBrowserReplicaSupported).
|
|
8
|
+
*/
|
|
9
|
+
export type ReplicaStatus = "loading" | "live" | "reconnecting" | "error" | "unsupported" | "secondary";
|
|
10
|
+
/** Handlers the consumer supplies to react to replica state changes. */
|
|
11
|
+
export interface ReplicaHandlers {
|
|
12
|
+
/** Fired after the initial seed AND after every applied delta DRAIN — re-run the relevant view query. */
|
|
13
|
+
onChanged: () => void;
|
|
14
|
+
/** Connection / load status for the live affordance. */
|
|
15
|
+
onStatus: (status: ReplicaStatus) => void;
|
|
16
|
+
}
|
|
17
|
+
export interface BrowserReplicaOptions {
|
|
18
|
+
/**
|
|
19
|
+
* The mirror API base the replica seeds + subscribes against — e.g. "/api/v1" (same-origin,
|
|
20
|
+
* cookie-authed) or an absolute "https://host/api/v1". Relative values resolve against
|
|
21
|
+
* `location.origin`.
|
|
22
|
+
*
|
|
23
|
+
* MUST resolve to this origin. An absolute URL is permitted, but only when its origin matches —
|
|
24
|
+
* `start()` rejects anything else, because a cross-origin replica cannot authenticate at all
|
|
25
|
+
* (`/snapshot` is served without `Access-Control-Allow-Credentials`, and the session cookie is
|
|
26
|
+
* host-only). Supporting it needs a server-side change, not a client one.
|
|
27
|
+
*/
|
|
28
|
+
baseUrl: string;
|
|
29
|
+
/** Target a specific account the user is a member of; omit for the session's own tenant. */
|
|
30
|
+
accountId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Who this replica belongs to — REQUIRED (CTC-114 review).
|
|
33
|
+
*
|
|
34
|
+
* The persisted OPFS database is shared by every replica on the origin (`dbPath`/`directory` default
|
|
35
|
+
* to constants), and the warm-start path skips `/snapshot` whenever a cursor is persisted. Without a
|
|
36
|
+
* fence, a change of signed-in user left the PREVIOUS tenant's rows readable — and unremovable,
|
|
37
|
+
* since deltas only carry changes. Pass a stable per-user (or per-user-per-tenant) string, e.g. the
|
|
38
|
+
* WorkOS user id. It is compared at `open`, and a mismatch wipes the replica and forces a re-seed.
|
|
39
|
+
*
|
|
40
|
+
* It is opaque and never sent to the server — only compared against the value in `sync_meta`.
|
|
41
|
+
*/
|
|
42
|
+
identity: string;
|
|
43
|
+
/** Override the OPFS db path (absolute, leading slash required). */
|
|
44
|
+
dbPath?: string;
|
|
45
|
+
/** Override the OPFS directory the SAHPool manages. */
|
|
46
|
+
directory?: string;
|
|
47
|
+
/**
|
|
48
|
+
* Override worker construction for bundlers that can't statically analyze
|
|
49
|
+
* `new Worker(new URL(...))`. The worker must run this package's db.worker module, published at the
|
|
50
|
+
* `@catalyst-cloud/sdk/browser/db-worker` subpath — e.g. Vite's
|
|
51
|
+
* `import DbWorker from "@catalyst-cloud/sdk/browser/db-worker?worker"`.
|
|
52
|
+
*/
|
|
53
|
+
createWorker?: () => Worker;
|
|
54
|
+
/** Disable the Web Locks single-owner gate (NOT recommended — see browser-lock.ts). */
|
|
55
|
+
disableLock?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Abort the seed after this many ms with NO PROGRESS. Default 30s; `0` disables.
|
|
58
|
+
*
|
|
59
|
+
* Idle, never total duration — a legitimate ~100 MB snapshot streams for minutes, so a total cap
|
|
60
|
+
* would kill real seeds. Without any bound a stalled `/snapshot` never settles `start()`, every read
|
|
61
|
+
* hangs behind the worker's armed SeedReadGate, and the transport's own 10-minute reseed deadline
|
|
62
|
+
* then abandons a seed that is still running — whose late `seedCommit` can persist a stale cursor
|
|
63
|
+
* over a truncated DB, which the next cold start reads as warm and goes live over.
|
|
64
|
+
*/
|
|
65
|
+
snapshotIdleTimeoutMs?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Declare the worker dead if a SEED RPC goes unanswered this long. Default 120s; `0` disables.
|
|
68
|
+
*
|
|
69
|
+
* Distinct from `snapshotIdleTimeoutMs`, which watches the network and is deliberately down while a
|
|
70
|
+
* worker RPC is in flight. See {@link DEFAULT_WORKER_RPC_TIMEOUT_MS} — generous by design: it turns a
|
|
71
|
+
* WEDGED worker into a diagnosable error, and is not meant to police slow-but-progressing storage.
|
|
72
|
+
*/
|
|
73
|
+
workerRpcTimeoutMs?: number;
|
|
74
|
+
/**
|
|
75
|
+
* Total deadline the TRANSPORT allows one re-seed before cancelling it. Default: the SDK's 600s;
|
|
76
|
+
* `0` disables.
|
|
77
|
+
*
|
|
78
|
+
* Distinct again from the two bounds above, which watch the network and each worker RPC. This one
|
|
79
|
+
* bounds the whole operation, and since round 10 it CANCELS rather than merely abandons — the
|
|
80
|
+
* signal is forwarded into the seed, which aborts its fetch and rolls the worker transaction back.
|
|
81
|
+
* Exposed because the right value depends on corpus size: a very large snapshot on slow storage can
|
|
82
|
+
* legitimately outlive the default, and before cancellation was linked that produced two writers.
|
|
83
|
+
*/
|
|
84
|
+
reseedTimeoutMs?: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Drive a streamed /snapshot body into the worker over the batched seed protocol: post `seedBegin`,
|
|
88
|
+
* decode the body into bounded batches (streamSnapshotBatches), post each as a `seedBatch`, capture the
|
|
89
|
+
* terminal cursor, then post `seedCommit`. On any error post `seedAbort` (best-effort) and rethrow so
|
|
90
|
+
* the whole seed rolls back. Exported (and pure over an injected `call`) so it is unit-testable without
|
|
91
|
+
* the wasm/OPFS worker (CTC-132).
|
|
92
|
+
*/
|
|
93
|
+
export declare function streamSeedIntoWorker(call: (req: ReplicaRequest) => Promise<unknown>, body: ReadableStream<Uint8Array>, batchSize?: number,
|
|
94
|
+
/** Fired whenever the body delivers bytes — the seed's idle-timeout re-arm. Optional, so every
|
|
95
|
+
* existing caller and test compiles unchanged. */
|
|
96
|
+
onProgress?: () => void): Promise<number>;
|
|
97
|
+
/**
|
|
98
|
+
* BrowserReplica — claim the origin lock, open the Worker, seed from /snapshot, then keep the OPFS
|
|
99
|
+
* replica live off the SDK's `LiveSyncClient` (the SAME client that feeds the node replica). The
|
|
100
|
+
* consumer reads views via queryIssues/queryIssueDetail/queryPulls (each a Worker round-trip that runs
|
|
101
|
+
* the shared read-model builder over the local DB). `close()` tears down the SDK client + the Worker.
|
|
102
|
+
*/
|
|
103
|
+
export declare class BrowserReplica {
|
|
104
|
+
private worker;
|
|
105
|
+
private readonly options;
|
|
106
|
+
private live;
|
|
107
|
+
private lock;
|
|
108
|
+
/** The DURABLE cursor — advanced only once the worker has committed, and what a cold start reads. */
|
|
109
|
+
private lastSeq;
|
|
110
|
+
/**
|
|
111
|
+
* The TRANSPORT high-water: the highest seq ACCEPTED off the socket, advanced synchronously on
|
|
112
|
+
* arrival (CTC-318).
|
|
113
|
+
*
|
|
114
|
+
* The SDK re-baselines from `getCursor()` on EVERY socket open (`deliveredSeq = getCursor()`, then
|
|
115
|
+
* `{type:"sync", after}`), so reporting the durable cursor — which lags by the whole undrained
|
|
116
|
+
* buffer — made a reconnect mid-drain re-request everything already received-but-not-committed, and
|
|
117
|
+
* the DO replayed it into the same buffer on top of what was there. K reconnects meant K copies.
|
|
118
|
+
*
|
|
119
|
+
* In-memory only, deliberately: a page reload reads the durable cursor from `sync_meta`, so a tab
|
|
120
|
+
* that dies between accept and commit still re-requests those frames on its next cold start.
|
|
121
|
+
*/
|
|
122
|
+
private acceptedSeq;
|
|
123
|
+
private nextId;
|
|
124
|
+
private readonly pending;
|
|
125
|
+
private disposed;
|
|
126
|
+
/** Has start() been called? One-shot, like the node CatalystReplica — see start(). */
|
|
127
|
+
private started;
|
|
128
|
+
/** Latched worker load/runtime failure, so every later call reports the CAUSE, not "closed". */
|
|
129
|
+
private workerError;
|
|
130
|
+
/** Aborts the in-flight seed (close, supersede, or idle timeout). */
|
|
131
|
+
private seedAbort;
|
|
132
|
+
/** Monotonic seed id — a superseded seed must not publish its cursor over a newer one's. */
|
|
133
|
+
private seedGeneration;
|
|
134
|
+
private readonly handlers;
|
|
135
|
+
/** Coalescing buffer between the socket and the worker (CTC-318) — see delta-queue.ts. */
|
|
136
|
+
private readonly deltas;
|
|
137
|
+
constructor(handlers: ReplicaHandlers, options: BrowserReplicaOptions);
|
|
138
|
+
/**
|
|
139
|
+
* The tenant fence sent with `open`.
|
|
140
|
+
*
|
|
141
|
+
* `accountId` is folded in alongside `identity` so a TENANT SWITCHER cannot reuse another account's
|
|
142
|
+
* rows even when the consumer's `identity` only identifies the signed-in user. NUL-joined because it
|
|
143
|
+
* cannot occur in either component, so no pair of values can collide by concatenation.
|
|
144
|
+
*/
|
|
145
|
+
private identityKey;
|
|
146
|
+
/**
|
|
147
|
+
* Send a typed request to the Worker and resolve with its result (cast by the ResultMap entry).
|
|
148
|
+
*
|
|
149
|
+
* BOUNDED HERE, for every request type, rather than at individual call sites (CTC-114 review round
|
|
150
|
+
* 9). Rounds 6 and 7 wrapped the seed RPCs and then the apply RPC one at a time, and round 9 found
|
|
151
|
+
* the ones still missed — `open` and `getCursor`, where a wedged `installOpfsSAHPoolVfs()` left
|
|
152
|
+
* `start()` pending forever while holding the origin-wide Web Lock, with every sibling tab reporting
|
|
153
|
+
* "secondary" and no worker `error` event to notice. Bounding at the seam instead makes that class
|
|
154
|
+
* of miss structural: a new request type is bounded by construction, not by remembering.
|
|
155
|
+
*
|
|
156
|
+
* EVERY type is bounded, reads included. Their window merely pauses while a seed is in flight —
|
|
157
|
+
* see {@link SEED_GATED_WORKER_RPCS}.
|
|
158
|
+
*/
|
|
159
|
+
private call;
|
|
160
|
+
/**
|
|
161
|
+
* Boot the replica: claim the origin lock, open the OPFS DB (applyMigrations runs inside the
|
|
162
|
+
* worker), seed from /snapshot, then subscribe to the live SDK feed. Resolves once the seed lands
|
|
163
|
+
* (the first view query is valid after) — or immediately with status "secondary" when another tab
|
|
164
|
+
* owns the replica.
|
|
165
|
+
*/
|
|
166
|
+
start(): Promise<void>;
|
|
167
|
+
/**
|
|
168
|
+
* Pull a fresh snapshot, replace the replica (seed), and return the snapshot cursor. Used on first
|
|
169
|
+
* start (cold OPFS) and on every SDK resync (cursor underflow).
|
|
170
|
+
*
|
|
171
|
+
* Bounded and supersedable. A stalled `/snapshot` must not leave `start()` unsettled with every read
|
|
172
|
+
* queued behind the worker's armed SeedReadGate, and a superseded seed must never publish its cursor
|
|
173
|
+
* or post another worker message — a late `seedCommit` from an abandoned seed can otherwise persist
|
|
174
|
+
* a stale cursor over a truncated DB, which the next cold start reads as WARM and goes live over.
|
|
175
|
+
*/
|
|
176
|
+
private reseed;
|
|
177
|
+
/**
|
|
178
|
+
* Open the live subscription via the SDK `LiveSyncClient` (same-origin ws(s) `<baseUrl>/connect`,
|
|
179
|
+
* cookie auth). Each ChangeFrame is buffered into the DeltaQueue; a resync re-seeds. The SDK owns
|
|
180
|
+
* reconnect/backoff; the worker side is transport-agnostic.
|
|
181
|
+
*/
|
|
182
|
+
private subscribe;
|
|
183
|
+
/**
|
|
184
|
+
* Buffer one live SDK ChangeFrame for application (CTC-318 — see delta-queue.ts for why it is
|
|
185
|
+
* buffered rather than applied on arrival). The SDK frame's `row` is OPTIONAL (absent/partial on a
|
|
186
|
+
* delete) — coerce to `{}` so the worker's WireChange always has an object (load-bearing for the
|
|
187
|
+
* delete path, which keys off entityId).
|
|
188
|
+
*/
|
|
189
|
+
private enqueueDelta;
|
|
190
|
+
/** Read the issues list view from the local replica (buildIssuesView over OPFS). */
|
|
191
|
+
queryIssues(limit?: number, offset?: number): Promise<IssueView[]>;
|
|
192
|
+
/** Read one issue's detail view from the local replica (buildIssueDetail over OPFS). */
|
|
193
|
+
queryIssueDetail(identifier: string): Promise<IssueDetailView | null>;
|
|
194
|
+
/** Read the pull-requests view from the local replica (buildPullsView over OPFS). */
|
|
195
|
+
queryPulls(limit?: number, offset?: number): Promise<PullView[]>;
|
|
196
|
+
/**
|
|
197
|
+
* Tear down: stop the SDK live client, reject any in-flight calls, cooperatively close the DB
|
|
198
|
+
* (releasing the OPFS SyncAccessHandles), then terminate the Worker and release the origin lock.
|
|
199
|
+
* Synchronous by contract (React effect cleanups can't await); the close→terminate tail runs
|
|
200
|
+
* detached but BOUNDED (CLOSE_GRACE_MS), so teardown can neither hang nor leak.
|
|
201
|
+
*/
|
|
202
|
+
close(): void;
|
|
203
|
+
/** Reject every in-flight call with `err` and clear the map. */
|
|
204
|
+
private rejectAllPending;
|
|
205
|
+
/**
|
|
206
|
+
* Latch a worker load/runtime failure: stop the transport, surface the cause to every in-flight and
|
|
207
|
+
* every future call, release the worker + lock, and report "error".
|
|
208
|
+
*
|
|
209
|
+
* Without this a worker that dies before installing its message handler leaves `start()` and every
|
|
210
|
+
* read pending forever, holding the origin's Web Lock — the single most likely first-integration
|
|
211
|
+
* failure for a third party, presenting as an unbounded silent hang.
|
|
212
|
+
*/
|
|
213
|
+
/**
|
|
214
|
+
* Bound one in-flight worker RPC. On expiry the worker is declared DEAD, not merely slow.
|
|
215
|
+
*
|
|
216
|
+
* Tearing it down is the point (`failWorker` → `releaseResources`): a worker that has stopped
|
|
217
|
+
* answering is holding an open seed transaction with its `SeedReadGate` armed, and nothing else can
|
|
218
|
+
* settle either — the cleanup `seedAbort` is itself a worker message, so it would join the same
|
|
219
|
+
* queue of replies that are never coming. Releasing the worker also frees the origin-wide Web Lock
|
|
220
|
+
* and the OPFS handles, which would otherwise wedge every sibling tab into "secondary".
|
|
221
|
+
*
|
|
222
|
+
* Double-settle is harmless: failWorker() rejects the pending map entry too, so the underlying call
|
|
223
|
+
* rejects moments later against an already-settled promise.
|
|
224
|
+
*/
|
|
225
|
+
private withWorkerDeadline;
|
|
226
|
+
private failWorker;
|
|
227
|
+
/**
|
|
228
|
+
* Release the worker, the origin lock, the transport and the queue — WITHOUT marking the client
|
|
229
|
+
* disposed.
|
|
230
|
+
*
|
|
231
|
+
* Deliberately non-terminal. `start()` is one-shot, so this is not a "retry on this instance" hook;
|
|
232
|
+
* its job is to make sure a failed boot does not hold the origin-wide Web Lock or the OPFS handles
|
|
233
|
+
* hostage from SIBLING TABS and from the next instance the consumer constructs.
|
|
234
|
+
*/
|
|
235
|
+
private releaseResources;
|
|
236
|
+
}
|
|
237
|
+
//# sourceMappingURL=browser-replica.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-replica.d.ts","sourceRoot":"","sources":["../../../src/replica/browser/browser-replica.ts"],"names":[],"mappings":"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"}
|