@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.
Files changed (74) hide show
  1. package/README.md +92 -0
  2. package/dist/browser.d.ts +9 -0
  3. package/dist/browser.d.ts.map +1 -0
  4. package/dist/browser.js +24 -0
  5. package/dist/browser.js.map +1 -0
  6. package/dist/live-sync-client.d.ts +128 -9
  7. package/dist/live-sync-client.d.ts.map +1 -1
  8. package/dist/live-sync-client.js +369 -51
  9. package/dist/live-sync-client.js.map +1 -1
  10. package/dist/replica/browser/apply.d.ts +29 -0
  11. package/dist/replica/browser/apply.d.ts.map +1 -0
  12. package/dist/replica/browser/apply.js +59 -0
  13. package/dist/replica/browser/apply.js.map +1 -0
  14. package/dist/replica/browser/browser-lock.d.ts +25 -0
  15. package/dist/replica/browser/browser-lock.d.ts.map +1 -0
  16. package/dist/replica/browser/browser-lock.js +91 -0
  17. package/dist/replica/browser/browser-lock.js.map +1 -0
  18. package/dist/replica/browser/browser-replica.d.ts +237 -0
  19. package/dist/replica/browser/browser-replica.d.ts.map +1 -0
  20. package/dist/replica/browser/browser-replica.js +952 -0
  21. package/dist/replica/browser/browser-replica.js.map +1 -0
  22. package/dist/replica/browser/db.worker.d.ts +2 -0
  23. package/dist/replica/browser/db.worker.d.ts.map +1 -0
  24. package/dist/replica/browser/db.worker.js +40 -0
  25. package/dist/replica/browser/db.worker.js.map +1 -0
  26. package/dist/replica/browser/delta-queue.d.ts +187 -0
  27. package/dist/replica/browser/delta-queue.d.ts.map +1 -0
  28. package/dist/replica/browser/delta-queue.js +328 -0
  29. package/dist/replica/browser/delta-queue.js.map +1 -0
  30. package/dist/replica/browser/ports.d.ts +39 -0
  31. package/dist/replica/browser/ports.d.ts.map +1 -0
  32. package/dist/replica/browser/ports.js +144 -0
  33. package/dist/replica/browser/ports.js.map +1 -0
  34. package/dist/replica/browser/protocol.d.ts +129 -0
  35. package/dist/replica/browser/protocol.d.ts.map +1 -0
  36. package/dist/replica/browser/protocol.js +12 -0
  37. package/dist/replica/browser/protocol.js.map +1 -0
  38. package/dist/replica/browser/seed-read-gate.d.ts +13 -0
  39. package/dist/replica/browser/seed-read-gate.d.ts.map +1 -0
  40. package/dist/replica/browser/seed-read-gate.js +36 -0
  41. package/dist/replica/browser/seed-read-gate.js.map +1 -0
  42. package/dist/replica/browser/seed-session.d.ts +23 -0
  43. package/dist/replica/browser/seed-session.d.ts.map +1 -0
  44. package/dist/replica/browser/seed-session.js +57 -0
  45. package/dist/replica/browser/seed-session.js.map +1 -0
  46. package/dist/replica/browser/snapshot-stream.d.ts +24 -0
  47. package/dist/replica/browser/snapshot-stream.d.ts.map +1 -0
  48. package/dist/replica/browser/snapshot-stream.js +113 -0
  49. package/dist/replica/browser/snapshot-stream.js.map +1 -0
  50. package/dist/replica/browser/sqlite-db.d.ts +9 -0
  51. package/dist/replica/browser/sqlite-db.d.ts.map +1 -0
  52. package/dist/replica/browser/sqlite-db.js +28 -0
  53. package/dist/replica/browser/sqlite-db.js.map +1 -0
  54. package/dist/replica/browser/support.d.ts +2 -0
  55. package/dist/replica/browser/support.d.ts.map +1 -0
  56. package/dist/replica/browser/support.js +30 -0
  57. package/dist/replica/browser/support.js.map +1 -0
  58. package/dist/replica/browser/validate.d.ts +17 -0
  59. package/dist/replica/browser/validate.d.ts.map +1 -0
  60. package/dist/replica/browser/validate.js +47 -0
  61. package/dist/replica/browser/validate.js.map +1 -0
  62. package/dist/replica/browser/worker-core.d.ts +10 -0
  63. package/dist/replica/browser/worker-core.d.ts.map +1 -0
  64. package/dist/replica/browser/worker-core.js +181 -0
  65. package/dist/replica/browser/worker-core.js.map +1 -0
  66. package/dist/replica/catalyst-replica.d.ts +6 -9
  67. package/dist/replica/catalyst-replica.d.ts.map +1 -1
  68. package/dist/replica/catalyst-replica.js +53 -19
  69. package/dist/replica/catalyst-replica.js.map +1 -1
  70. package/dist/replica/migration-shape.d.ts +11 -0
  71. package/dist/replica/migration-shape.d.ts.map +1 -0
  72. package/dist/replica/migration-shape.js +25 -0
  73. package/dist/replica/migration-shape.js.map +1 -0
  74. 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":"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"}
@@ -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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"}