@catalyst-cloud/sdk 0.7.0 → 0.8.0
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 +6 -15
- 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
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// replica/migration-shape.ts — CTC-127's row-shape predicate, hoisted so BOTH replicas can use it.
|
|
2
|
+
//
|
|
3
|
+
// It lived in catalyst-replica.ts, which is unreachable from the browser: that module top-level-imports
|
|
4
|
+
// ./engine.js, which imports `node:module`. Cross-importing it into the worker would drag a node builtin
|
|
5
|
+
// into a bundle destined for a Worker. This file imports ONLY @catalyst-cloud/schema, so both the node
|
|
6
|
+
// replica (catalyst-replica.ts, which re-exports it) and the browser worker (ports.ts) share one
|
|
7
|
+
// definition — and neither can drift from the other's idea of what a shape change is.
|
|
8
|
+
import { MIRROR_MIGRATIONS } from "@catalyst-cloud/schema";
|
|
9
|
+
/**
|
|
10
|
+
* CTC-127: does any of the migrations applied THIS boot change a table's ROW SHAPE — i.e. add a column
|
|
11
|
+
* (`ALTER TABLE … ADD …`) or a new entity table (`CREATE TABLE`)? If so, a WARM replica's existing rows
|
|
12
|
+
* were seeded/applied before that column existed and hold NULL for it, so the caller forces one re-seed
|
|
13
|
+
* to backfill. A pure `CREATE INDEX` migration changes no row shape → no re-seed. Detected by
|
|
14
|
+
* string-matching the applied tags' SQL — drizzle-kit emits bare `ADD` and `CREATE TABLE` (the same
|
|
15
|
+
* vocabulary @catalyst-cloud/schema's migration runner trusts). Conservative-safe: a false positive is
|
|
16
|
+
* a harmless extra re-seed; there are no false negatives for real `ALTER TABLE ADD` / `CREATE TABLE`.
|
|
17
|
+
*/
|
|
18
|
+
export function migrationsChangeRowShape(appliedTags) {
|
|
19
|
+
const byTag = MIRROR_MIGRATIONS.migrations;
|
|
20
|
+
return appliedTags.some((tag) => {
|
|
21
|
+
const sql = byTag[tag] ?? "";
|
|
22
|
+
return /\bADD\b/i.test(sql) || /\bCREATE\s+TABLE\b/i.test(sql);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=migration-shape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-shape.js","sourceRoot":"","sources":["../../src/replica/migration-shape.ts"],"names":[],"mappings":"AAAA,mGAAmG;AACnG,EAAE;AACF,wGAAwG;AACxG,yGAAyG;AACzG,uGAAuG;AACvG,iGAAiG;AACjG,sFAAsF;AAEtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,WAA8B;IAE9B,MAAM,KAAK,GAAG,iBAAiB,CAAC,UAG/B,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@catalyst-cloud/sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Keep a live local copy of your Linear and GitHub project data
|
|
3
|
+
"version": "0.8.0",
|
|
4
|
+
"description": "Keep a live local copy of your Linear and GitHub project data \u2014 pushed in real time, without polling rate limits or webhook tunnels.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Coalesce Labs",
|
|
7
7
|
"homepage": "https://github.com/coalesce-labs/catalyst-cloud-sdk#readme",
|
|
@@ -25,6 +25,16 @@
|
|
|
25
25
|
"import": "./dist/index.js",
|
|
26
26
|
"default": "./dist/index.js"
|
|
27
27
|
},
|
|
28
|
+
"./browser": {
|
|
29
|
+
"types": "./dist/browser.d.ts",
|
|
30
|
+
"import": "./dist/browser.js",
|
|
31
|
+
"default": "./dist/browser.js"
|
|
32
|
+
},
|
|
33
|
+
"./browser/db-worker": {
|
|
34
|
+
"types": "./dist/replica/browser/db.worker.d.ts",
|
|
35
|
+
"import": "./dist/replica/browser/db.worker.js",
|
|
36
|
+
"default": "./dist/replica/browser/db.worker.js"
|
|
37
|
+
},
|
|
28
38
|
"./node": {
|
|
29
39
|
"types": "./dist/node.d.ts",
|
|
30
40
|
"import": "./dist/node.js",
|
|
@@ -34,7 +44,9 @@
|
|
|
34
44
|
"files": [
|
|
35
45
|
"dist"
|
|
36
46
|
],
|
|
37
|
-
"sideEffects":
|
|
47
|
+
"sideEffects": [
|
|
48
|
+
"./dist/replica/browser/db.worker.js"
|
|
49
|
+
],
|
|
38
50
|
"engines": {
|
|
39
51
|
"node": ">=22"
|
|
40
52
|
},
|
|
@@ -59,6 +71,7 @@
|
|
|
59
71
|
"@opentelemetry/resources": "^2.8.0",
|
|
60
72
|
"@opentelemetry/sdk-metrics": "^2.8.0",
|
|
61
73
|
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
74
|
+
"@sqlite.org/sqlite-wasm": "^3.53.0-build1",
|
|
62
75
|
"typescript": "^5.6.3",
|
|
63
76
|
"vitest": "^2.1.8"
|
|
64
77
|
},
|