@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.
Files changed (120) hide show
  1. package/README.md +35 -14
  2. package/README.zh-CN.md +41 -13
  3. package/dist/cli.js +5175 -2272
  4. package/dist/cli.js.map +69 -48
  5. package/dist/core/blobs.d.ts.map +1 -1
  6. package/dist/core/blocks.d.ts +6 -2
  7. package/dist/core/blocks.d.ts.map +1 -1
  8. package/dist/core/compact.d.ts.map +1 -1
  9. package/dist/core/crdt.d.ts +5 -6
  10. package/dist/core/crdt.d.ts.map +1 -1
  11. package/dist/core/db.d.ts.map +1 -1
  12. package/dist/core/documents.d.ts +39 -0
  13. package/dist/core/documents.d.ts.map +1 -1
  14. package/dist/core/errors.d.ts +6 -1
  15. package/dist/core/errors.d.ts.map +1 -1
  16. package/dist/core/history-archive.d.ts +41 -0
  17. package/dist/core/history-archive.d.ts.map +1 -0
  18. package/dist/core/history.d.ts.map +1 -1
  19. package/dist/core/hlc.d.ts +4 -0
  20. package/dist/core/hlc.d.ts.map +1 -1
  21. package/dist/core/node.d.ts.map +1 -1
  22. package/dist/core/properties.d.ts +6 -0
  23. package/dist/core/properties.d.ts.map +1 -1
  24. package/dist/core/replica/drafts.d.ts +26 -0
  25. package/dist/core/replica/drafts.d.ts.map +1 -0
  26. package/dist/core/replica/rpc.d.ts +8 -0
  27. package/dist/core/replica/rpc.d.ts.map +1 -0
  28. package/dist/core/replica/service.d.ts +970 -0
  29. package/dist/core/replica/service.d.ts.map +1 -0
  30. package/dist/core/replica/sync.d.ts +55 -0
  31. package/dist/core/replica/sync.d.ts.map +1 -0
  32. package/dist/core/schema-init.d.ts +1 -1
  33. package/dist/core/schema-init.d.ts.map +1 -1
  34. package/dist/core/search.d.ts +34 -0
  35. package/dist/core/search.d.ts.map +1 -1
  36. package/dist/core/snapshot.d.ts.map +1 -1
  37. package/dist/core/sync/bucket-v2.d.ts +110 -0
  38. package/dist/core/sync/bucket-v2.d.ts.map +1 -0
  39. package/dist/core/sync/client.d.ts +14 -1
  40. package/dist/core/sync/client.d.ts.map +1 -1
  41. package/dist/core/sync/commit-log.d.ts +41 -0
  42. package/dist/core/sync/commit-log.d.ts.map +1 -0
  43. package/dist/core/sync/current-checkpoint.d.ts +47 -0
  44. package/dist/core/sync/current-checkpoint.d.ts.map +1 -0
  45. package/dist/core/sync/data-map-db.d.ts.map +1 -1
  46. package/dist/core/sync/data-version.d.ts +29 -0
  47. package/dist/core/sync/data-version.d.ts.map +1 -0
  48. package/dist/core/sync/drop-keys.d.ts.map +1 -1
  49. package/dist/core/sync/drop-pull.d.ts.map +1 -1
  50. package/dist/core/sync/e2ee.d.ts +5 -0
  51. package/dist/core/sync/e2ee.d.ts.map +1 -1
  52. package/dist/core/sync/enroll.d.ts +2 -0
  53. package/dist/core/sync/enroll.d.ts.map +1 -1
  54. package/dist/core/sync/history-observation.d.ts +5 -0
  55. package/dist/core/sync/history-observation.d.ts.map +1 -0
  56. package/dist/core/sync/http-status.d.ts.map +1 -1
  57. package/dist/core/sync/page-messages.d.ts +8 -0
  58. package/dist/core/sync/page-messages.d.ts.map +1 -1
  59. package/dist/core/sync/peer-v2.d.ts +9 -0
  60. package/dist/core/sync/peer-v2.d.ts.map +1 -0
  61. package/dist/core/sync/peers.d.ts +1 -0
  62. package/dist/core/sync/peers.d.ts.map +1 -1
  63. package/dist/core/sync/portable-json.d.ts +5 -0
  64. package/dist/core/sync/portable-json.d.ts.map +1 -0
  65. package/dist/core/sync/protocol.d.ts +32 -0
  66. package/dist/core/sync/protocol.d.ts.map +1 -1
  67. package/dist/core/sync/recovery-desktop.d.ts +6 -0
  68. package/dist/core/sync/recovery-desktop.d.ts.map +1 -0
  69. package/dist/core/sync/recovery-intent.d.ts +7 -0
  70. package/dist/core/sync/recovery-intent.d.ts.map +1 -0
  71. package/dist/core/sync/recovery-local.d.ts +21 -0
  72. package/dist/core/sync/recovery-local.d.ts.map +1 -0
  73. package/dist/core/sync/recovery-v2.d.ts +40 -0
  74. package/dist/core/sync/recovery-v2.d.ts.map +1 -0
  75. package/dist/core/sync/retention-executor.d.ts +77 -0
  76. package/dist/core/sync/retention-executor.d.ts.map +1 -0
  77. package/dist/core/sync/retention-protocol.d.ts +74 -0
  78. package/dist/core/sync/retention-protocol.d.ts.map +1 -0
  79. package/dist/core/sync/retention-state.d.ts +87 -0
  80. package/dist/core/sync/retention-state.d.ts.map +1 -0
  81. package/dist/core/sync/routes.d.ts +1 -1
  82. package/dist/core/sync/routes.d.ts.map +1 -1
  83. package/dist/core/sync/server.d.ts +1 -1
  84. package/dist/core/sync/server.d.ts.map +1 -1
  85. package/dist/core/sync/share-export.d.ts.map +1 -1
  86. package/dist/core/sync/share-serve.d.ts.map +1 -1
  87. package/dist/core/sync/share-tools.d.ts +10 -0
  88. package/dist/core/sync/share-tools.d.ts.map +1 -0
  89. package/dist/core/sync/storage-s3-bun.d.ts +2 -1
  90. package/dist/core/sync/storage-s3-bun.d.ts.map +1 -1
  91. package/dist/core/sync/storage-s3-fetch.d.ts +8 -0
  92. package/dist/core/sync/storage-s3-fetch.d.ts.map +1 -0
  93. package/dist/core/sync/storage-s3-sign.d.ts +3 -0
  94. package/dist/core/sync/storage-s3-sign.d.ts.map +1 -1
  95. package/dist/core/sync/storage-v2.d.ts +18 -0
  96. package/dist/core/sync/storage-v2.d.ts.map +1 -0
  97. package/dist/core/sync/storage.d.ts +47 -6
  98. package/dist/core/sync/storage.d.ts.map +1 -1
  99. package/dist/core/sync/transport.d.ts +4 -0
  100. package/dist/core/sync/transport.d.ts.map +1 -0
  101. package/dist/core/sync/v2-ingest.d.ts +10 -0
  102. package/dist/core/sync/v2-ingest.d.ts.map +1 -0
  103. package/dist/core/sync/v2-maintenance.d.ts +10 -0
  104. package/dist/core/sync/v2-maintenance.d.ts.map +1 -0
  105. package/dist/db-worker.js +212 -160
  106. package/dist/edge-worker.js +4952 -186
  107. package/dist/index.js +9243 -6455
  108. package/dist/index.js.map +67 -47
  109. package/dist/metahub-sdk.js +5 -5
  110. package/dist/mh-runtime.js +2 -2
  111. package/dist/shared/views/date.d.ts +21 -0
  112. package/dist/shared/views/date.d.ts.map +1 -0
  113. package/dist/shared/views/model.d.ts +65 -0
  114. package/dist/shared/views/model.d.ts.map +1 -0
  115. package/dist/shared/views/query.d.ts +47 -0
  116. package/dist/shared/views/query.d.ts.map +1 -0
  117. package/dist/sw.js +9 -9
  118. package/dist/webui/server/routes.d.ts.map +1 -1
  119. package/dist/webui.js +131 -131
  120. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"blobs.d.ts","sourceRoot":"","sources":["../../src/core/blobs.ts"],"names":[],"mappings":"AAOA,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,CAsClF;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,CA4BzF;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,CAgBnE;AAED;+CAC+C;AAC/C,wBAAsB,SAAS,CAAC,EAAE,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAY/D;AAED;;;wEAGwE;AACxE,wBAAsB,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAiBrF;AAED;;;iDAGiD;AACjD,wBAAsB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAazF"}
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"}
@@ -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; everything else in a gap is a delete (old) or insert (new).
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[]): ReconcilePlan;
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;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,aAAa,CAa/E"}
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":"AAAA,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,CAuD9E;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,CA2DpC;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"}
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"}
@@ -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
- * Record a change in the oplog (idempotent) and, if it is the latest write for
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;
@@ -1 +1 @@
1
- {"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/core/crdt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crdt.d.ts","sourceRoot":"","sources":["../../src/core/crdt.ts"],"names":[],"mappings":"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"}
@@ -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;AAStC,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,CAiBtC"}
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"}
@@ -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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;AAExD,eAAO,MAAM,aAAa,0FAEhB,CAAC;AAqGX,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAShE;AAID,eAAO,MAAM,cAAc;WAEV,MAAM;WAAS,MAAM;kBAAgB,MAAM;gBAAc,MAAM;iBAa9E,CAAC;AAEH,wBAAgB,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIxE;AAMD,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,EACZ,IAAI,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,eAAe,EAAE,CAWnB;AAED;;;;+BAI+B;AAC/B,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAOlE;AAgFD,kFAAkF;AAClF,eAAO,MAAM,yBAAyB,wBAOpC,CAAC;AAgDH;;;;GAIG;AACH,eAAO,MAAM,YAAY,iGAevB,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;YAGZ,MAAM;eAAa,MAAM,GAAG,IAAI;6BAuBhD,CAAC;AAEH,eAAO,MAAM,cAAc;YAGP,MAAM;WAAS,MAAM;kBAAgB,MAAM;gBAAc,MAAM,GAAG,IAAI;;cACtE,MAAM;6BA6BxB,CAAC;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY;SAGV,MAAM;SAAO,MAAM;iBAAe,OAAO;cAAY,MAAM;mBAyBxE,CAAC;AAEH,sGAAsG;AACtG,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB;WAGb,QAAQ,EAAE;cAAY,MAAM;mBAkC3C,CAAC;AAEH,eAAO,MAAM,cAAc,2DAczB,CAAC;AAEH,eAAO,MAAM,eAAe,2DAc1B,CAAC;AAEH,eAAO,MAAM,cAAc,uCAUzB,CAAC"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/core/documents.ts"],"names":[],"mappings":"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"}
@@ -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;AAElB,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,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,CAIpD;AAED,+EAA+E;AAC/E,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAE7D"}
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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAyB5C,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE1C;AAKD,MAAM,WAAW,SAAS;IACxB,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,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAQxD,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,uDAAuD;AACvD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAcpD;AAMD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,EAAE,CAkBpE;AAED,kFAAkF;AAClF,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAErD;AA2DD,MAAM,WAAW,WAAW;IAC1B,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,CA2D7E;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,oBAAoB,CAgE5F;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,QAAQ,EAAE,MAAM,CAAC;IACjB,wFAAwF;IACxF,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc;cAIP,MAAM;iCAgCd,CAAC;AAOb,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AA6BD,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc,EAAE,CAI9E;AAED;kFACkF;AAClF,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAsB,SAAQ,cAAc;IAC3D,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gDAAgD;IAChD,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,EACZ,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5B,qBAAqB,EAAE,CA0DzB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,kFAAkF;IAClF,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,kBAAkB,CAqBxF;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;8EAE8E;AAC9E,eAAO,MAAM,YAAY,8DAkCb,CAAC;AAOb,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;IACnB,6EAA6E;IAC7E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,oFAAoF;IACpF,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;yEACyE;AACzE,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAqClF;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,oBAAoB,CAoB5F;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kEAAkE;IAClE,cAAc,EAAE,MAAM,CAAC;IACvB,2EAA2E;IAC3E,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,gEAiGf,CAAC;AAEb,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAahG"}
1
+ {"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/core/history.ts"],"names":[],"mappings":"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"}
@@ -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). */
@@ -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"}
@@ -1 +1 @@
1
- {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/core/node.ts"],"names":[],"mappings":"AAAA,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,CAmB/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"}
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"}