@tensorix/metahub 0.5.8 → 0.6.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 +35 -14
- package/README.zh-CN.md +41 -13
- package/dist/cli.js +5175 -2272
- package/dist/cli.js.map +69 -48
- package/dist/core/blobs.d.ts.map +1 -1
- package/dist/core/blocks.d.ts +6 -2
- package/dist/core/blocks.d.ts.map +1 -1
- package/dist/core/compact.d.ts.map +1 -1
- package/dist/core/crdt.d.ts +5 -6
- package/dist/core/crdt.d.ts.map +1 -1
- package/dist/core/db.d.ts.map +1 -1
- package/dist/core/documents.d.ts +39 -0
- package/dist/core/documents.d.ts.map +1 -1
- package/dist/core/errors.d.ts +6 -1
- package/dist/core/errors.d.ts.map +1 -1
- package/dist/core/history-archive.d.ts +41 -0
- package/dist/core/history-archive.d.ts.map +1 -0
- package/dist/core/history.d.ts.map +1 -1
- package/dist/core/hlc.d.ts +4 -0
- package/dist/core/hlc.d.ts.map +1 -1
- package/dist/core/node.d.ts.map +1 -1
- package/dist/core/properties.d.ts +6 -0
- package/dist/core/properties.d.ts.map +1 -1
- package/dist/core/replica/drafts.d.ts +26 -0
- package/dist/core/replica/drafts.d.ts.map +1 -0
- package/dist/core/replica/rpc.d.ts +8 -0
- package/dist/core/replica/rpc.d.ts.map +1 -0
- package/dist/core/replica/service.d.ts +970 -0
- package/dist/core/replica/service.d.ts.map +1 -0
- package/dist/core/replica/sync.d.ts +55 -0
- package/dist/core/replica/sync.d.ts.map +1 -0
- package/dist/core/schema-init.d.ts +1 -1
- package/dist/core/schema-init.d.ts.map +1 -1
- package/dist/core/search.d.ts +34 -0
- package/dist/core/search.d.ts.map +1 -1
- package/dist/core/snapshot.d.ts.map +1 -1
- package/dist/core/sync/bucket-v2.d.ts +110 -0
- package/dist/core/sync/bucket-v2.d.ts.map +1 -0
- package/dist/core/sync/client.d.ts +14 -1
- package/dist/core/sync/client.d.ts.map +1 -1
- package/dist/core/sync/commit-log.d.ts +41 -0
- package/dist/core/sync/commit-log.d.ts.map +1 -0
- package/dist/core/sync/current-checkpoint.d.ts +47 -0
- package/dist/core/sync/current-checkpoint.d.ts.map +1 -0
- package/dist/core/sync/data-map-db.d.ts.map +1 -1
- package/dist/core/sync/data-version.d.ts +29 -0
- package/dist/core/sync/data-version.d.ts.map +1 -0
- package/dist/core/sync/drop-keys.d.ts.map +1 -1
- package/dist/core/sync/drop-pull.d.ts.map +1 -1
- package/dist/core/sync/e2ee.d.ts +5 -0
- package/dist/core/sync/e2ee.d.ts.map +1 -1
- package/dist/core/sync/enroll.d.ts +2 -0
- package/dist/core/sync/enroll.d.ts.map +1 -1
- package/dist/core/sync/history-observation.d.ts +5 -0
- package/dist/core/sync/history-observation.d.ts.map +1 -0
- package/dist/core/sync/http-status.d.ts.map +1 -1
- package/dist/core/sync/page-messages.d.ts +8 -0
- package/dist/core/sync/page-messages.d.ts.map +1 -1
- package/dist/core/sync/peer-v2.d.ts +9 -0
- package/dist/core/sync/peer-v2.d.ts.map +1 -0
- package/dist/core/sync/peers.d.ts +1 -0
- package/dist/core/sync/peers.d.ts.map +1 -1
- package/dist/core/sync/portable-json.d.ts +5 -0
- package/dist/core/sync/portable-json.d.ts.map +1 -0
- package/dist/core/sync/protocol.d.ts +32 -0
- package/dist/core/sync/protocol.d.ts.map +1 -1
- package/dist/core/sync/recovery-desktop.d.ts +6 -0
- package/dist/core/sync/recovery-desktop.d.ts.map +1 -0
- package/dist/core/sync/recovery-intent.d.ts +7 -0
- package/dist/core/sync/recovery-intent.d.ts.map +1 -0
- package/dist/core/sync/recovery-local.d.ts +21 -0
- package/dist/core/sync/recovery-local.d.ts.map +1 -0
- package/dist/core/sync/recovery-v2.d.ts +40 -0
- package/dist/core/sync/recovery-v2.d.ts.map +1 -0
- package/dist/core/sync/retention-executor.d.ts +77 -0
- package/dist/core/sync/retention-executor.d.ts.map +1 -0
- package/dist/core/sync/retention-protocol.d.ts +74 -0
- package/dist/core/sync/retention-protocol.d.ts.map +1 -0
- package/dist/core/sync/retention-state.d.ts +87 -0
- package/dist/core/sync/retention-state.d.ts.map +1 -0
- package/dist/core/sync/routes.d.ts +1 -1
- package/dist/core/sync/routes.d.ts.map +1 -1
- package/dist/core/sync/server.d.ts +1 -1
- package/dist/core/sync/server.d.ts.map +1 -1
- package/dist/core/sync/share-export.d.ts.map +1 -1
- package/dist/core/sync/share-serve.d.ts.map +1 -1
- package/dist/core/sync/share-tools.d.ts +10 -0
- package/dist/core/sync/share-tools.d.ts.map +1 -0
- package/dist/core/sync/storage-s3-bun.d.ts +2 -1
- package/dist/core/sync/storage-s3-bun.d.ts.map +1 -1
- package/dist/core/sync/storage-s3-fetch.d.ts +8 -0
- package/dist/core/sync/storage-s3-fetch.d.ts.map +1 -0
- package/dist/core/sync/storage-s3-sign.d.ts +3 -0
- package/dist/core/sync/storage-s3-sign.d.ts.map +1 -1
- package/dist/core/sync/storage-v2.d.ts +18 -0
- package/dist/core/sync/storage-v2.d.ts.map +1 -0
- package/dist/core/sync/storage.d.ts +47 -6
- package/dist/core/sync/storage.d.ts.map +1 -1
- package/dist/core/sync/transport.d.ts +4 -0
- package/dist/core/sync/transport.d.ts.map +1 -0
- package/dist/core/sync/v2-ingest.d.ts +10 -0
- package/dist/core/sync/v2-ingest.d.ts.map +1 -0
- package/dist/core/sync/v2-maintenance.d.ts +10 -0
- package/dist/core/sync/v2-maintenance.d.ts.map +1 -0
- package/dist/db-worker.js +212 -160
- package/dist/edge-worker.js +4952 -186
- package/dist/index.js +9243 -6455
- package/dist/index.js.map +67 -47
- package/dist/metahub-sdk.js +5 -5
- package/dist/mh-runtime.js +2 -2
- package/dist/shared/views/date.d.ts +21 -0
- package/dist/shared/views/date.d.ts.map +1 -0
- package/dist/shared/views/model.d.ts +65 -0
- package/dist/shared/views/model.d.ts.map +1 -0
- package/dist/shared/views/query.d.ts +47 -0
- package/dist/shared/views/query.d.ts.map +1 -0
- package/dist/sw.js +9 -9
- package/dist/webui/server/routes.d.ts.map +1 -1
- package/dist/webui.js +131 -131
- package/package.json +1 -1
package/dist/core/blobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/core/blobs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/core/blobs.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAuB5C,cAAc,iBAAiB,CAAC;AAEhC,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;8EAG8E;AAC9E,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,WAAW,EAAE,CAYxD;AAWD;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgCxF;AAUD,MAAM,WAAW,YAAY;IAC3B,8EAA8E;IAC9E,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB;oFACgF;IAChF,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;CACZ;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAoD9E;AAED,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuClF;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CA6BzF;AAED,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAiBjD;AAED;kFACkF;AAClF,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAiBnE;AAED;+CAC+C;AAC/C,wBAAsB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAa/D;AAED;;;wEAGwE;AACxE,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAkBrF;AAED;;;iDAGiD;AACjD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAczF"}
|
package/dist/core/blocks.d.ts
CHANGED
|
@@ -35,7 +35,11 @@ export interface ReconcilePlan {
|
|
|
35
35
|
/**
|
|
36
36
|
* Align a new sequence of block texts against the old one. Unchanged blocks
|
|
37
37
|
* (exact text match, in order — the LCS) are kept by index so their identity and
|
|
38
|
-
* order survive
|
|
38
|
+
* order survive. Optional stable replacement mode also reuses one-to-one
|
|
39
|
+
* gaps; the caller must write changed text to each reused block.
|
|
40
|
+
* Larger gaps remain deletes/inserts until an explicit edit supplies identity.
|
|
39
41
|
*/
|
|
40
|
-
export declare function reconcile(oldTexts: string[], newTexts: string[]
|
|
42
|
+
export declare function reconcile(oldTexts: string[], newTexts: string[], opts?: {
|
|
43
|
+
preserveReplacements?: boolean;
|
|
44
|
+
}): ReconcilePlan;
|
|
41
45
|
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/core/blocks.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmDrD;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9D,MAAM,CAUR;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../src/core/blocks.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmDrD;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS;IAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9D,MAAM,CAUR;AAED,MAAM,MAAM,aAAa,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,MAAM,WAAW,aAAa;IAC5B,uFAAuF;IACvF,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,IAAI,GAAE;IAAE,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,aAAa,CA2B9H"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/core/compact.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compact.d.ts","sourceRoot":"","sources":["../../src/core/compact.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAmC3C,MAAM,WAAW,aAAa;IAC5B,oFAAoF;IACpF,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yEAAyE;IACzE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAsBD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,GAAG,aAAa,CA0D9E;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CA+EpC;AAED;0CAC0C;AAC1C,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAa,GACf;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAa1E"}
|
package/dist/core/crdt.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export declare const RECORD_META: Set<string>;
|
|
|
59
59
|
* its own retention window at the replication boundary. */
|
|
60
60
|
export declare const OPLOG_ONLY_DATASETS: ReadonlySet<string>;
|
|
61
61
|
export declare const NOT_NULL_ZERO_COLS: Set<string>;
|
|
62
|
+
/** A doc is "block-managed" once it has any block row; blocks then own its body. */
|
|
63
|
+
export declare function isBlockManaged(db: DbDriver, docId: string): boolean;
|
|
62
64
|
/** Outcome of applying one change to the oplog. `inserted` reports whether the
|
|
63
65
|
* oplog actually gained a NEW row (false when we already had this exact change —
|
|
64
66
|
* the INSERT OR IGNORE was a no-op); it is the honest "did we receive new data"
|
|
@@ -70,12 +72,8 @@ export interface ApplyResult {
|
|
|
70
72
|
inserted: boolean;
|
|
71
73
|
winner: boolean;
|
|
72
74
|
}
|
|
73
|
-
/**
|
|
74
|
-
*
|
|
75
|
-
* its register, materialize it. Order-independent: convergence holds regardless
|
|
76
|
-
* of the order changes are applied, because the winner is recomputed as the max
|
|
77
|
-
* HLC over the full oplog for that register.
|
|
78
|
-
*/
|
|
75
|
+
/** Explicit application also re-materializes an already-known winning change.
|
|
76
|
+
* Upgrade migrations use this to materialize newly understood datasets. */
|
|
79
77
|
export declare function applyChange(db: DbDriver, c: Change): ApplyResult;
|
|
80
78
|
/** Apply a local write: assign a fresh HLC, append to oplog, materialize. */
|
|
81
79
|
export declare function emit(db: DbDriver, dataset: string, rowId: string, col: string, value: unknown): Change;
|
|
@@ -90,6 +88,7 @@ export interface IngestResult {
|
|
|
90
88
|
received: number;
|
|
91
89
|
/** Changes refused for claiming a time > HLC_MAX_SKEW_MS in the future, by author node. */
|
|
92
90
|
skewed: Record<string, number>;
|
|
91
|
+
poisoned?: number;
|
|
93
92
|
}
|
|
94
93
|
export declare function ingest(db: DbDriver, changes: Change[], opts?: {
|
|
95
94
|
now?: number;
|
package/dist/core/crdt.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/core/crdt.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/core/crdt.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAmBrD,MAAM,WAAW,MAAM;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,kFAAkF;AAClF,eAAO,MAAM,WAAW,yEAA0E,CAAC;AAEnG,eAAO,MAAM,aAAa,QAAyB,CAAC;AAgBpD;gEACgE;AAChE,eAAO,MAAM,YAAY,QAAuB,CAAC;AAEjD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAKpD;AAED,gEAAgE;AAChE,wBAAgB,QAAQ,IAAI,MAAM,GAAG,IAAI,CAExC;AASD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQjE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CASrF;AAED;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQtE;AAED,+DAA+D;AAC/D,wBAAgB,OAAO,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAChE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAC5B,KAAK,GAAE,MAAM,GAAG,IAAW,GAC1B,CAAC,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAE1B;AAMD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAAE,CA8DvE,CAAC;AAKF,eAAO,MAAM,WAAW,aAAoE,CAAC;AAE7F;;2DAE2D;AAC3D,eAAO,MAAM,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAElD,CAAC;AAcH,eAAO,MAAM,kBAAkB,aAa7B,CAAC;AAqBH,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAMnE;AAuFD;;;;;;mDAMmD;AACnD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAuDD;2EAC2E;AAC3E,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,WAAW,CAEhE;AAED,6EAA6E;AAC7E,wBAAgB,IAAI,CAClB,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,MAAM,CAqBR;AAED,yDAAyD;AACzD,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,EAAE,CAMV;AAED;;;;4DAI4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,MAAM,CACpB,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1B,MAAM,CAER;AAED,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1B,YAAY,CA4Cd;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1B,MAAM,EAAE,CAKV;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,gBAAqB,GAC1B,WAAW,CAuCb"}
|
package/dist/core/db.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/core/db.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAWtC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,YAAY,EACZ,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,UAAU,IAAI,IAAI,CAGjC;AAUD,6EAA6E;AAC7E,wBAAgB,WAAW,IAAI,QAAQ,CAoBtC"}
|
package/dist/core/documents.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export declare const updateDocument: (db: DbDriver, id: string, fields: {
|
|
|
56
56
|
parent_id?: string | null;
|
|
57
57
|
}, opts?: {
|
|
58
58
|
ifMatch?: string;
|
|
59
|
+
preserveBlockIdentity?: boolean;
|
|
59
60
|
} | undefined) => DocumentRow;
|
|
60
61
|
export interface EditDocResult {
|
|
61
62
|
id: string;
|
|
@@ -100,4 +101,42 @@ export declare const editDocumentBatch: (db: DbDriver, id: string, opts: {
|
|
|
100
101
|
export declare const appendDocument: (db: DbDriver, id: string, body: string) => EditDocResult;
|
|
101
102
|
export declare const prependDocument: (db: DbDriver, id: string, body: string) => EditDocResult;
|
|
102
103
|
export declare const deleteDocument: (db: DbDriver, id: string) => boolean;
|
|
104
|
+
export type BlockEdit = {
|
|
105
|
+
type: "update";
|
|
106
|
+
id: string;
|
|
107
|
+
text: string;
|
|
108
|
+
blankAfter?: number;
|
|
109
|
+
} | {
|
|
110
|
+
type: "insert";
|
|
111
|
+
after: string | null;
|
|
112
|
+
text: string;
|
|
113
|
+
blankAfter?: number;
|
|
114
|
+
} | {
|
|
115
|
+
type: "delete";
|
|
116
|
+
id: string;
|
|
117
|
+
} | {
|
|
118
|
+
type: "move";
|
|
119
|
+
id: string;
|
|
120
|
+
after: string | null;
|
|
121
|
+
} | {
|
|
122
|
+
type: "split";
|
|
123
|
+
id: string;
|
|
124
|
+
parts: {
|
|
125
|
+
text: string;
|
|
126
|
+
blankAfter?: number;
|
|
127
|
+
}[];
|
|
128
|
+
} | {
|
|
129
|
+
type: "merge";
|
|
130
|
+
ids: string[];
|
|
131
|
+
text: string;
|
|
132
|
+
blankAfter?: number;
|
|
133
|
+
};
|
|
134
|
+
/** Atomic identity-aware edits. Deleted block identities are never reused. */
|
|
135
|
+
export declare const editDocumentBlocks: (db: DbDriver, docId: string, edits: readonly BlockEdit[], opts: {
|
|
136
|
+
ifMatch: string;
|
|
137
|
+
}) => {
|
|
138
|
+
document: DocumentRow;
|
|
139
|
+
version: string;
|
|
140
|
+
inserted: string[];
|
|
141
|
+
};
|
|
103
142
|
//# sourceMappingURL=documents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/core/documents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/core/documents.ts"],"names":[],"mappings":"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"}
|
package/dist/core/errors.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export type MhErrorCode =
|
|
|
30
30
|
* until `mh repair --clock` (HTTP 409, exit 10). */
|
|
31
31
|
| "clock_skew"
|
|
32
32
|
/** The requested listen port is taken (exit 98, historical). */
|
|
33
|
-
| "port_in_use";
|
|
33
|
+
| "port_in_use" | "client_update_required" | "upgrade_required" | "rebootstrap_required" | "history_unavailable";
|
|
34
34
|
export type MsgParams = Record<string, string | number>;
|
|
35
35
|
export declare class MhError extends Error {
|
|
36
36
|
readonly code: MhErrorCode;
|
|
@@ -43,6 +43,11 @@ export declare class MhError extends Error {
|
|
|
43
43
|
params?: MsgParams;
|
|
44
44
|
} | undefined);
|
|
45
45
|
}
|
|
46
|
+
export declare class ClientUpdateRequired extends MhError {
|
|
47
|
+
readonly workspaceDataVersion: number;
|
|
48
|
+
readonly clientMaxDataVersion: number;
|
|
49
|
+
constructor(workspaceDataVersion: number, clientMaxDataVersion: number);
|
|
50
|
+
}
|
|
46
51
|
export declare function interpolateMsg(s: string, params?: MsgParams): string;
|
|
47
52
|
export declare function mhError(code: MhErrorCode, key: string, params?: MsgParams): MhError;
|
|
48
53
|
/** Normalize a thrown value to an MhError when it maps to one of our codes. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW;AACrB,uEAAuE;AACrE,eAAe;AACjB,2DAA2D;GACzD,WAAW;AACb,4EAA4E;GAC1E,WAAW;AACb,8EAA8E;GAC5E,OAAO;AACT,0EAA0E;GACxE,UAAU;AACZ,sDAAsD;GACpD,MAAM;AACR,4EAA4E;GAC1E,SAAS;AACX,wEAAwE;GACtE,cAAc;AAChB;0DAC0D;GACxD,MAAM;AACR;qDACqD;GACnD,YAAY;AACd,gEAAgE;GAC9D,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW;AACrB,uEAAuE;AACrE,eAAe;AACjB,2DAA2D;GACzD,WAAW;AACb,4EAA4E;GAC1E,WAAW;AACb,8EAA8E;GAC5E,OAAO;AACT,0EAA0E;GACxE,UAAU;AACZ,sDAAsD;GACpD,MAAM;AACR,4EAA4E;GAC1E,SAAS;AACX,wEAAwE;GACtE,cAAc;AAChB;0DAC0D;GACxD,MAAM;AACR;qDACqD;GACnD,YAAY;AACd,gEAAgE;GAC9D,aAAa,GACb,wBAAwB,GACxB,kBAAkB,GAClB,sBAAsB,GACtB,qBAAqB,CAAC;AAE1B,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;AAExD,qBAAa,OAAQ,SAAQ,KAAK;IAE9B,QAAQ,CAAC,IAAI,EAAE,WAAW;IAE1B,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE;gBAF1C,IAAI,EAAE,WAAW,EAC1B,OAAO,EAAE,MAAM,EACN,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,SAAS,CAAA;KAAE,YAAA;CAKtD;AAED,qBAAa,oBAAqB,SAAQ,OAAO;IACnC,QAAQ,CAAC,oBAAoB,EAAE,MAAM;IAAE,QAAQ,CAAC,oBAAoB,EAAE,MAAM;gBAAnE,oBAAoB,EAAE,MAAM,EAAW,oBAAoB,EAAE,MAAM;CAIzF;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAEpE;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,CAEnF;AAWD,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAMpD;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAE7D"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { DbDriver } from "./driver.ts";
|
|
3
|
+
import type { StorageClient } from "./sync/storage.ts";
|
|
4
|
+
export declare const DocumentArchiveSchema: z.ZodObject<{
|
|
5
|
+
format: z.ZodLiteral<"metahub-document-history">;
|
|
6
|
+
version: z.ZodLiteral<1>;
|
|
7
|
+
workspaceId: z.ZodString;
|
|
8
|
+
documentId: z.ZodString;
|
|
9
|
+
coveredFrom: z.ZodNullable<z.ZodString>;
|
|
10
|
+
coveredThrough: z.ZodNullable<z.ZodString>;
|
|
11
|
+
changes: z.ZodArray<z.ZodObject<{
|
|
12
|
+
hlc: z.ZodString;
|
|
13
|
+
node_id: z.ZodString;
|
|
14
|
+
dataset: z.ZodString;
|
|
15
|
+
row_id: z.ZodString;
|
|
16
|
+
col: z.ZodString;
|
|
17
|
+
value: z.ZodNullable<z.ZodString>;
|
|
18
|
+
txn: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
}, z.core.$strip>>;
|
|
20
|
+
observedAt: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodNumber>>>;
|
|
21
|
+
}, z.core.$strict>;
|
|
22
|
+
export type DocumentArchive = z.infer<typeof DocumentArchiveSchema>;
|
|
23
|
+
export interface HistoryArchiveRef {
|
|
24
|
+
key: string;
|
|
25
|
+
hash: string;
|
|
26
|
+
bytes: number;
|
|
27
|
+
documentId: string;
|
|
28
|
+
}
|
|
29
|
+
export declare function historySource(db: DbDriver): string;
|
|
30
|
+
export declare function captureDocumentArchive(db: DbDriver, workspaceId: string, documentId: string): DocumentArchive;
|
|
31
|
+
export declare function installDocumentArchive(db: DbDriver, input: unknown, workspaceId: string): void;
|
|
32
|
+
/** Publish immutable encrypted history and verify a read-back before returning
|
|
33
|
+
* a reference that a checkpoint may use. No source data is deleted here. */
|
|
34
|
+
export declare function publishDocumentArchive(client: StorageClient, prefix: string, masterKey: Uint8Array, archive: DocumentArchive): Promise<HistoryArchiveRef>;
|
|
35
|
+
export declare function fetchDocumentArchive(client: StorageClient, masterKey: Uint8Array, ref: HistoryArchiveRef, workspaceId: string): Promise<DocumentArchive>;
|
|
36
|
+
/** Bound ordinary history downloads independently of total document history.
|
|
37
|
+
* Each part includes the ownership registers needed to validate its blocks.
|
|
38
|
+
* One indivisible register may exceed the target; the transport's hard limit
|
|
39
|
+
* still rejects an oversized individual value before publication. */
|
|
40
|
+
export declare function splitDocumentArchive(archive: DocumentArchive, targetBytes?: number): DocumentArchive[];
|
|
41
|
+
//# sourceMappingURL=history-archive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-archive.d.ts","sourceRoot":"","sources":["../../src/core/history-archive.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIvD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;kBAQsG,CAAC;AACzI,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,WAAW,iBAAiB;IAAG,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAEnG,wBAAgB,aAAa,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAGlD;AACD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,eAAe,CAgB7G;AACD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAyB9F;AACD;4EAC4E;AAC5E,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAU/J;AACD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAS9J;AAED;;;qEAGqE;AACrE,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,SAAc,GAAG,eAAe,EAAE,CAwB3G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/core/history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/core/history.ts"],"names":[],"mappings":"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"}
|
package/dist/core/hlc.d.ts
CHANGED
|
@@ -24,6 +24,10 @@ export declare function parseHlc(s: string): Hlc;
|
|
|
24
24
|
export declare function nextHlc(db: DbDriver, node: string, now?: number): string;
|
|
25
25
|
/** Advance the local clock to account for an observed remote timestamp. */
|
|
26
26
|
export declare function observeHlc(db: DbDriver, node: string, remote: string, now?: number): void;
|
|
27
|
+
/** Fold remote observations in exactly their input order, persisting only the
|
|
28
|
+
* final clock. A synchronous ingest transaction has no intervening local mint,
|
|
29
|
+
* so this removes per-op SQLite bridge calls without changing HLC counters. */
|
|
30
|
+
export declare function observeHlcs(db: DbDriver, node: string, remotes: Iterable<string>, now?: number): void;
|
|
27
31
|
/** The persisted local clock, or null before the first mint. */
|
|
28
32
|
export declare function persistedHlc(db: DbDriver): Hlc | null;
|
|
29
33
|
/** Reset the persisted clock to wall time (repairClock, after the future rows are gone). */
|
package/dist/core/hlc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hlc.d.ts","sourceRoot":"","sources":["../../src/core/hlc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;wCAGwC;AACxC,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC;;kEAEkE;AAClE,eAAO,MAAM,eAAe,QAAa,CAAC;AAE1C;6EAC6E;AAC7E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAYD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAOxC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAQvC;AAeD,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAe5E;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,SAAa,GACf,IAAI,CAmBN;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAGrD;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI,CAE3E"}
|
|
1
|
+
{"version":3,"file":"hlc.d.ts","sourceRoot":"","sources":["../../src/core/hlc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;wCAGwC;AACxC,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC;;kEAEkE;AAClE,eAAO,MAAM,eAAe,QAAa,CAAC;AAE1C;6EAC6E;AAC7E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE7D;AAYD,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAOxC;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAQvC;AAeD,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM,CAe5E;AAED,2EAA2E;AAC3E,wBAAgB,UAAU,CACxB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,GAAG,SAAa,GACf,IAAI,CAEN;AAED;;+EAE+E;AAC/E,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,GAAG,SAAa,GACf,IAAI,CAmBN;AAED,gEAAgE;AAChE,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAGrD;AAED,4FAA4F;AAC5F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI,CAE3E"}
|
package/dist/core/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/core/node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/core/node.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,+DAA+D;AAC/D,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CAQ9C;AAUD,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,CAAC;AACrF,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC7E,MAAM,MAAM,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAoBD;;sEAEsE;AACtE,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI,CAK1E;AAED,mDAAmD;AACnD,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAIrD;AAqBD;;;oBAGoB;AACpB,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvE;AAED,4CAA4C;AAC5C,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAExD;AAED;;6DAE6D;AAC7D,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAUtF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gCAAgC;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;6CAG6C;AAC7C,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,GAAE,eAAoB,GAAG,QAAQ,CAqB/E;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAalE;AAED;2EAC2E;AAC3E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAM/F;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;CACrB;AAED;;sEAEsE;AACtE,wBAAgB,YAAY,CAAC,EAAE,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAqBrD"}
|
|
@@ -41,4 +41,10 @@ export declare const removeSelectOption: (db: DbDriver, id: string, name: string
|
|
|
41
41
|
cleared: number;
|
|
42
42
|
};
|
|
43
43
|
export declare const removeProperty: (db: DbDriver, id: string) => boolean;
|
|
44
|
+
/** Re-read live neighbours inside the synchronous change group. Positions are
|
|
45
|
+
* repaired when ties or floating-point exhaustion leave no insertion space. */
|
|
46
|
+
export declare const moveProperty: (db: DbDriver, id: string, anchorId: string, where: "before" | "after") => PropertyRow;
|
|
47
|
+
/** Moving option strings never rewrites record cells. Rename remains the
|
|
48
|
+
* separate command that changes stored cell values. */
|
|
49
|
+
export declare const moveSelectOption: (db: DbDriver, id: string, option: string, anchor: string, where: "before" | "after") => PropertyRow;
|
|
44
50
|
//# sourceMappingURL=properties.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/core/properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,cAAc,GACd,MAAM,GACN,UAAU,GACV,KAAK,GACL,KAAK,CAAC;AAEV,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,CAUzC,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,eAAO,MAAM,aAAa,sEAAuE,CAAC;AA0BlG,eAAO,MAAM,WAAW;UAId,MAAM;UACN,QAAQ;aACL,cAAc;eACZ,MAAM;cAIP,OAAO;iBAwBnB,CAAC;AAEH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMxE;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,CAU9E;AAED,eAAO,MAAM,cAAc;WAGR,MAAM;WAAS,QAAQ;aAAW,cAAc;eAAa,MAAM;iBA0CpF,CAAC;AAKH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAMrF;AAgBD,eAAO,MAAM,kBAAkB;cAKhB,WAAW;aAAW,MAAM;CAmCzC,CAAC;AAIH,eAAO,MAAM,kBAAkB;cAIhB,WAAW;aAAW,MAAM;CAgCzC,CAAC;AAEH,eAAO,MAAM,cAAc,uCAczB,CAAC"}
|
|
1
|
+
{"version":3,"file":"properties.d.ts","sourceRoot":"","sources":["../../src/core/properties.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,cAAc,GACd,MAAM,GACN,UAAU,GACV,KAAK,GACL,KAAK,CAAC;AAEV,eAAO,MAAM,UAAU,EAAE,WAAW,CAAC,MAAM,CAUzC,CAAC;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,eAAO,MAAM,aAAa,sEAAuE,CAAC;AA0BlG,eAAO,MAAM,WAAW;UAId,MAAM;UACN,QAAQ;aACL,cAAc;eACZ,MAAM;cAIP,OAAO;iBAwBnB,CAAC;AAEH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAMxE;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,WAAW,EAAE,CAU9E;AAED,eAAO,MAAM,cAAc;WAGR,MAAM;WAAS,QAAQ;aAAW,cAAc;eAAa,MAAM;iBA0CpF,CAAC;AAKH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAMrF;AAgBD,eAAO,MAAM,kBAAkB;cAKhB,WAAW;aAAW,MAAM;CAmCzC,CAAC;AAIH,eAAO,MAAM,kBAAkB;cAIhB,WAAW;aAAW,MAAM;CAgCzC,CAAC;AAEH,eAAO,MAAM,cAAc,uCAczB,CAAC;AAGH;+EAC+E;AAC/E,eAAO,MAAM,YAAY,wFA6BvB,CAAC;AAEH;uDACuD;AACvD,eAAO,MAAM,gBAAgB,sGAc3B,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DbDriver } from "../driver.ts";
|
|
2
|
+
export interface DocumentDraft {
|
|
3
|
+
revision: number;
|
|
4
|
+
title: string;
|
|
5
|
+
body: string;
|
|
6
|
+
version: string | null;
|
|
7
|
+
}
|
|
8
|
+
export interface FieldDraft {
|
|
9
|
+
value: unknown;
|
|
10
|
+
status: "draft" | "invalid" | "pending" | "error";
|
|
11
|
+
error?: string;
|
|
12
|
+
}
|
|
13
|
+
/** Recovery checkpoints belong to the local node, never the replicated oplog. */
|
|
14
|
+
export declare function createDraftStore(db: DbDriver): {
|
|
15
|
+
readDocument(docId: string): DocumentDraft | null;
|
|
16
|
+
checkpointDocument(docId: string, draft: DocumentDraft): void;
|
|
17
|
+
acknowledgeDocument(docId: string, revision: number, _version?: string): void;
|
|
18
|
+
/** Explicit discard only; callers use this after successful deletion or a user discard. */
|
|
19
|
+
discardDocument(docId: string): void;
|
|
20
|
+
readFields(recordId: string): Record<string, FieldDraft>;
|
|
21
|
+
checkpointField(recordId: string, propId: string, draft: FieldDraft): void;
|
|
22
|
+
acknowledgeField(recordId: string, propId: string, expectedValue: unknown): void;
|
|
23
|
+
discardRecord(recordId: string): void;
|
|
24
|
+
};
|
|
25
|
+
export type ReplicaDraftStore = ReturnType<typeof createDraftStore>;
|
|
26
|
+
//# sourceMappingURL=drafts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drafts.d.ts","sourceRoot":"","sources":["../../../src/core/replica/drafts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ;wBAWrB,MAAM,GAAG,aAAa,GAAG,IAAI;8BAGvB,MAAM,SAAS,aAAa,GAAG,IAAI;+BASlC,MAAM,YAAY,MAAM,aAAa,MAAM,GAAG,IAAI;IAG7E,2FAA2F;2BACpE,MAAM,GAAG,IAAI;yBAGf,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;8BAI9B,MAAM,UAAU,MAAM,SAAS,UAAU,GAAG,IAAI;+BAM/C,MAAM,UAAU,MAAM,iBAAiB,OAAO,GAAG,IAAI;4BAKxD,MAAM,GAAG,IAAI;EAIxC;AACD,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ReplicaService } from "./service.ts";
|
|
2
|
+
/** Core CRUD operations shared by the browser worker and native owner. Runtime
|
|
3
|
+
* transports, attachments and hosted sites stay in their own adapters. */
|
|
4
|
+
export declare const REPLICA_RPC_OPERATIONS: readonly ["listDatabases", "createDatabase", "updateDatabase", "duplicateDatabase", "deleteDatabase", "listDatabaseActivity", "listProperties", "addProperty", "updateProperty", "setPropertyWidth", "moveProperty", "moveSelectOption", "removeProperty", "renameSelectOption", "removeSelectOption", "listPropertyRevisions", "revertProperty", "listRecords", "getRecord", "createRecord", "updateRecord", "moveRecord", "deleteRecord", "listRecordRevisions", "recordAtVersion", "recordFieldHistory", "revertRecord", "listDocuments", "getDocument", "createDocument", "updateDocument", "duplicateDocument", "moveDocument", "deleteDocument", "listDocumentRevisions", "documentAtVersion", "revertDocument", "nodes", "setNodeLabel", "resolve", "querySearch", "referenceSummaries"];
|
|
5
|
+
/** Preserve the browser worker's RPC response shapes while sharing command
|
|
6
|
+
* validation, synchronous transactions, and changes with the native replica. */
|
|
7
|
+
export declare function replicaRpcOps(resolve: () => ReplicaService): Record<string, (...args: any[]) => unknown>;
|
|
8
|
+
//# sourceMappingURL=rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../../src/core/replica/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD;0EAC0E;AAC1E,eAAO,MAAM,sBAAsB,iwBAM+B,CAAC;AAEnE;gFACgF;AAChF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAWxG"}
|