cojson 0.19.22 → 0.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +66 -0
  3. package/dist/PeerState.d.ts +6 -1
  4. package/dist/PeerState.d.ts.map +1 -1
  5. package/dist/PeerState.js +18 -3
  6. package/dist/PeerState.js.map +1 -1
  7. package/dist/coValueContentMessage.d.ts +0 -2
  8. package/dist/coValueContentMessage.d.ts.map +1 -1
  9. package/dist/coValueContentMessage.js +0 -8
  10. package/dist/coValueContentMessage.js.map +1 -1
  11. package/dist/coValueCore/SessionMap.d.ts +4 -2
  12. package/dist/coValueCore/SessionMap.d.ts.map +1 -1
  13. package/dist/coValueCore/SessionMap.js +30 -0
  14. package/dist/coValueCore/SessionMap.js.map +1 -1
  15. package/dist/coValueCore/coValueCore.d.ts +70 -5
  16. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  17. package/dist/coValueCore/coValueCore.js +302 -31
  18. package/dist/coValueCore/coValueCore.js.map +1 -1
  19. package/dist/coValueCore/verifiedState.d.ts +6 -1
  20. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  21. package/dist/coValueCore/verifiedState.js +9 -0
  22. package/dist/coValueCore/verifiedState.js.map +1 -1
  23. package/dist/coValues/coList.d.ts +4 -2
  24. package/dist/coValues/coList.d.ts.map +1 -1
  25. package/dist/coValues/coList.js +3 -0
  26. package/dist/coValues/coList.js.map +1 -1
  27. package/dist/coValues/group.d.ts.map +1 -1
  28. package/dist/coValues/group.js +3 -6
  29. package/dist/coValues/group.js.map +1 -1
  30. package/dist/config.d.ts +2 -8
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +4 -12
  33. package/dist/config.js.map +1 -1
  34. package/dist/crypto/NapiCrypto.d.ts +1 -2
  35. package/dist/crypto/NapiCrypto.d.ts.map +1 -1
  36. package/dist/crypto/NapiCrypto.js +19 -4
  37. package/dist/crypto/NapiCrypto.js.map +1 -1
  38. package/dist/crypto/RNCrypto.d.ts.map +1 -1
  39. package/dist/crypto/RNCrypto.js +19 -4
  40. package/dist/crypto/RNCrypto.js.map +1 -1
  41. package/dist/crypto/WasmCrypto.d.ts +11 -4
  42. package/dist/crypto/WasmCrypto.d.ts.map +1 -1
  43. package/dist/crypto/WasmCrypto.js +52 -10
  44. package/dist/crypto/WasmCrypto.js.map +1 -1
  45. package/dist/crypto/WasmCryptoEdge.d.ts +1 -0
  46. package/dist/crypto/WasmCryptoEdge.d.ts.map +1 -1
  47. package/dist/crypto/WasmCryptoEdge.js +4 -1
  48. package/dist/crypto/WasmCryptoEdge.js.map +1 -1
  49. package/dist/crypto/crypto.d.ts +3 -3
  50. package/dist/crypto/crypto.d.ts.map +1 -1
  51. package/dist/crypto/crypto.js +6 -1
  52. package/dist/crypto/crypto.js.map +1 -1
  53. package/dist/exports.d.ts +5 -5
  54. package/dist/exports.d.ts.map +1 -1
  55. package/dist/exports.js +4 -3
  56. package/dist/exports.js.map +1 -1
  57. package/dist/ids.d.ts +4 -1
  58. package/dist/ids.d.ts.map +1 -1
  59. package/dist/ids.js +4 -0
  60. package/dist/ids.js.map +1 -1
  61. package/dist/knownState.d.ts +2 -0
  62. package/dist/knownState.d.ts.map +1 -1
  63. package/dist/localNode.d.ts +12 -0
  64. package/dist/localNode.d.ts.map +1 -1
  65. package/dist/localNode.js +14 -0
  66. package/dist/localNode.js.map +1 -1
  67. package/dist/platformUtils.d.ts +3 -0
  68. package/dist/platformUtils.d.ts.map +1 -0
  69. package/dist/platformUtils.js +24 -0
  70. package/dist/platformUtils.js.map +1 -0
  71. package/dist/queue/LinkedList.d.ts +9 -3
  72. package/dist/queue/LinkedList.d.ts.map +1 -1
  73. package/dist/queue/LinkedList.js +30 -1
  74. package/dist/queue/LinkedList.js.map +1 -1
  75. package/dist/queue/OutgoingLoadQueue.d.ts +95 -0
  76. package/dist/queue/OutgoingLoadQueue.d.ts.map +1 -0
  77. package/dist/queue/OutgoingLoadQueue.js +240 -0
  78. package/dist/queue/OutgoingLoadQueue.js.map +1 -0
  79. package/dist/storage/DeletedCoValuesEraserScheduler.d.ts +30 -0
  80. package/dist/storage/DeletedCoValuesEraserScheduler.d.ts.map +1 -0
  81. package/dist/storage/DeletedCoValuesEraserScheduler.js +84 -0
  82. package/dist/storage/DeletedCoValuesEraserScheduler.js.map +1 -0
  83. package/dist/storage/sqlite/client.d.ts +3 -0
  84. package/dist/storage/sqlite/client.d.ts.map +1 -1
  85. package/dist/storage/sqlite/client.js +44 -0
  86. package/dist/storage/sqlite/client.js.map +1 -1
  87. package/dist/storage/sqlite/sqliteMigrations.d.ts.map +1 -1
  88. package/dist/storage/sqlite/sqliteMigrations.js +7 -0
  89. package/dist/storage/sqlite/sqliteMigrations.js.map +1 -1
  90. package/dist/storage/sqliteAsync/client.d.ts +3 -0
  91. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  92. package/dist/storage/sqliteAsync/client.js +42 -0
  93. package/dist/storage/sqliteAsync/client.js.map +1 -1
  94. package/dist/storage/storageAsync.d.ts +7 -0
  95. package/dist/storage/storageAsync.d.ts.map +1 -1
  96. package/dist/storage/storageAsync.js +48 -0
  97. package/dist/storage/storageAsync.js.map +1 -1
  98. package/dist/storage/storageSync.d.ts +6 -0
  99. package/dist/storage/storageSync.d.ts.map +1 -1
  100. package/dist/storage/storageSync.js +42 -0
  101. package/dist/storage/storageSync.js.map +1 -1
  102. package/dist/storage/types.d.ts +59 -0
  103. package/dist/storage/types.d.ts.map +1 -1
  104. package/dist/storage/types.js +12 -1
  105. package/dist/storage/types.js.map +1 -1
  106. package/dist/sync.d.ts.map +1 -1
  107. package/dist/sync.js +66 -43
  108. package/dist/sync.js.map +1 -1
  109. package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts +2 -0
  110. package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts.map +1 -0
  111. package/dist/tests/DeletedCoValuesEraserScheduler.test.js +149 -0
  112. package/dist/tests/DeletedCoValuesEraserScheduler.test.js.map +1 -0
  113. package/dist/tests/GarbageCollector.test.js +5 -6
  114. package/dist/tests/GarbageCollector.test.js.map +1 -1
  115. package/dist/tests/LinkedList.test.js +90 -0
  116. package/dist/tests/LinkedList.test.js.map +1 -1
  117. package/dist/tests/OutgoingLoadQueue.test.d.ts +2 -0
  118. package/dist/tests/OutgoingLoadQueue.test.d.ts.map +1 -0
  119. package/dist/tests/OutgoingLoadQueue.test.js +814 -0
  120. package/dist/tests/OutgoingLoadQueue.test.js.map +1 -0
  121. package/dist/tests/StorageApiAsync.test.js +484 -152
  122. package/dist/tests/StorageApiAsync.test.js.map +1 -1
  123. package/dist/tests/StorageApiSync.test.js +505 -136
  124. package/dist/tests/StorageApiSync.test.js.map +1 -1
  125. package/dist/tests/WasmCrypto.test.js +6 -3
  126. package/dist/tests/WasmCrypto.test.js.map +1 -1
  127. package/dist/tests/coValueCore.loadFromStorage.test.js +3 -0
  128. package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -1
  129. package/dist/tests/coValueCore.test.js +34 -13
  130. package/dist/tests/coValueCore.test.js.map +1 -1
  131. package/dist/tests/coreWasm.test.js +127 -4
  132. package/dist/tests/coreWasm.test.js.map +1 -1
  133. package/dist/tests/crypto.test.js +89 -93
  134. package/dist/tests/crypto.test.js.map +1 -1
  135. package/dist/tests/deleteCoValue.test.d.ts +2 -0
  136. package/dist/tests/deleteCoValue.test.d.ts.map +1 -0
  137. package/dist/tests/deleteCoValue.test.js +313 -0
  138. package/dist/tests/deleteCoValue.test.js.map +1 -0
  139. package/dist/tests/group.removeMember.test.js +18 -30
  140. package/dist/tests/group.removeMember.test.js.map +1 -1
  141. package/dist/tests/knownState.lazyLoading.test.js +3 -0
  142. package/dist/tests/knownState.lazyLoading.test.js.map +1 -1
  143. package/dist/tests/sync.concurrentLoad.test.d.ts +2 -0
  144. package/dist/tests/sync.concurrentLoad.test.d.ts.map +1 -0
  145. package/dist/tests/sync.concurrentLoad.test.js +481 -0
  146. package/dist/tests/sync.concurrentLoad.test.js.map +1 -0
  147. package/dist/tests/sync.deleted.test.d.ts +2 -0
  148. package/dist/tests/sync.deleted.test.d.ts.map +1 -0
  149. package/dist/tests/sync.deleted.test.js +214 -0
  150. package/dist/tests/sync.deleted.test.js.map +1 -0
  151. package/dist/tests/sync.mesh.test.js +3 -2
  152. package/dist/tests/sync.mesh.test.js.map +1 -1
  153. package/dist/tests/sync.storage.test.js +4 -3
  154. package/dist/tests/sync.storage.test.js.map +1 -1
  155. package/dist/tests/sync.test.js +3 -2
  156. package/dist/tests/sync.test.js.map +1 -1
  157. package/dist/tests/testStorage.d.ts +3 -0
  158. package/dist/tests/testStorage.d.ts.map +1 -1
  159. package/dist/tests/testStorage.js +17 -1
  160. package/dist/tests/testStorage.js.map +1 -1
  161. package/dist/tests/testUtils.d.ts +7 -3
  162. package/dist/tests/testUtils.d.ts.map +1 -1
  163. package/dist/tests/testUtils.js +19 -4
  164. package/dist/tests/testUtils.js.map +1 -1
  165. package/package.json +6 -16
  166. package/src/PeerState.ts +26 -3
  167. package/src/coValueContentMessage.ts +0 -14
  168. package/src/coValueCore/SessionMap.ts +43 -1
  169. package/src/coValueCore/coValueCore.ts +415 -27
  170. package/src/coValueCore/verifiedState.ts +26 -3
  171. package/src/coValues/coList.ts +9 -3
  172. package/src/coValues/group.ts +5 -6
  173. package/src/config.ts +4 -13
  174. package/src/crypto/NapiCrypto.ts +29 -13
  175. package/src/crypto/RNCrypto.ts +29 -11
  176. package/src/crypto/WasmCrypto.ts +67 -20
  177. package/src/crypto/WasmCryptoEdge.ts +5 -1
  178. package/src/crypto/crypto.ts +16 -4
  179. package/src/exports.ts +4 -2
  180. package/src/ids.ts +11 -1
  181. package/src/localNode.ts +15 -0
  182. package/src/platformUtils.ts +26 -0
  183. package/src/queue/LinkedList.ts +34 -4
  184. package/src/queue/OutgoingLoadQueue.ts +307 -0
  185. package/src/storage/DeletedCoValuesEraserScheduler.ts +124 -0
  186. package/src/storage/sqlite/client.ts +77 -0
  187. package/src/storage/sqlite/sqliteMigrations.ts +7 -0
  188. package/src/storage/sqliteAsync/client.ts +75 -0
  189. package/src/storage/storageAsync.ts +62 -0
  190. package/src/storage/storageSync.ts +58 -0
  191. package/src/storage/types.ts +69 -0
  192. package/src/sync.ts +78 -46
  193. package/src/tests/DeletedCoValuesEraserScheduler.test.ts +185 -0
  194. package/src/tests/GarbageCollector.test.ts +6 -10
  195. package/src/tests/LinkedList.test.ts +111 -0
  196. package/src/tests/OutgoingLoadQueue.test.ts +1129 -0
  197. package/src/tests/StorageApiAsync.test.ts +572 -162
  198. package/src/tests/StorageApiSync.test.ts +580 -143
  199. package/src/tests/WasmCrypto.test.ts +8 -3
  200. package/src/tests/coValueCore.loadFromStorage.test.ts +6 -0
  201. package/src/tests/coValueCore.test.ts +49 -14
  202. package/src/tests/coreWasm.test.ts +319 -10
  203. package/src/tests/crypto.test.ts +141 -150
  204. package/src/tests/deleteCoValue.test.ts +528 -0
  205. package/src/tests/group.removeMember.test.ts +35 -35
  206. package/src/tests/knownState.lazyLoading.test.ts +6 -0
  207. package/src/tests/sync.concurrentLoad.test.ts +650 -0
  208. package/src/tests/sync.deleted.test.ts +294 -0
  209. package/src/tests/sync.mesh.test.ts +5 -2
  210. package/src/tests/sync.storage.test.ts +6 -3
  211. package/src/tests/sync.test.ts +5 -2
  212. package/src/tests/testStorage.ts +31 -2
  213. package/src/tests/testUtils.ts +31 -10
  214. package/dist/crypto/PureJSCrypto.d.ts +0 -77
  215. package/dist/crypto/PureJSCrypto.d.ts.map +0 -1
  216. package/dist/crypto/PureJSCrypto.js +0 -236
  217. package/dist/crypto/PureJSCrypto.js.map +0 -1
  218. package/dist/tests/PureJSCrypto.test.d.ts +0 -2
  219. package/dist/tests/PureJSCrypto.test.d.ts.map +0 -1
  220. package/dist/tests/PureJSCrypto.test.js +0 -145
  221. package/dist/tests/PureJSCrypto.test.js.map +0 -1
  222. package/src/crypto/PureJSCrypto.ts +0 -429
  223. package/src/tests/PureJSCrypto.test.ts +0 -217
@@ -1,4 +1,4 @@
1
1
 
2
- > cojson@0.19.22 build /home/runner/_work/jazz/jazz/packages/cojson
2
+ > cojson@0.20.1 build /home/runner/_work/jazz/jazz/packages/cojson
3
3
  > rm -rf ./dist && tsc --sourceMap --outDir dist
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,71 @@
1
1
  # cojson
2
2
 
3
+ ## 0.20.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 03195eb: Added client-side load request throttling to improve the loading experience when loading a lot of data concurrently.
8
+
9
+ When a client requests more than 1k CoValues concurrently, load requests are now queued locally and sent as capacity becomes available.
10
+
11
+ - cojson-core-wasm@0.20.1
12
+ - cojson-core-rn@0.20.1
13
+ - cojson-core-napi@0.20.1
14
+
15
+ ## 0.20.0
16
+
17
+ ### Minor Changes
18
+
19
+ - f562a1f: Restricted the `Uniqueness` type to only accept specific values instead of any `JsonValue`.
20
+ The allowed types are now: `string`, `number` (as integers), `boolean`, `null`, `undefined`,
21
+ or an object with string values. Arrays, non-integer numbers, and objects with non-string values are no longer
22
+ accepted and will throw an error.
23
+
24
+ Deprecated `number`, even if it is an integer, as it is not a valid uniqueness type in TS, if you want to continue using numbers,
25
+ use a string instead or ignore the type check.
26
+
27
+ - b5ada4d: breaking change: now removeMember throws if unauthorized
28
+ - 8934d8a: ## Full native crypto (0.20.0)
29
+
30
+ With this release we complete the migration to a pure Rust toolchain and remove the JavaScript crypto compatibility layer. The native Rust core now runs everywhere: React Native, Edge runtimes, all server-side environments, and the web.
31
+
32
+ ## 💥 Breaking changes
33
+
34
+ ### Crypto providers / fallback behavior
35
+
36
+ - **Removed `PureJSCrypto`** from `cojson` (including the `cojson/crypto/PureJSCrypto` export).
37
+ - **Removed `RNQuickCrypto`** from `jazz-tools`.
38
+ - **No more fallback to JavaScript crypto**: if crypto fails to initialize, Jazz now throws an error instead of falling back silently.
39
+ - **React Native + Expo**: **`RNCrypto` (via `cojson-core-rn`) is now the default**.
40
+
41
+ Full migration guide: `https://jazz.tools/docs/upgrade/0-20-0`
42
+
43
+ ### Patch Changes
44
+
45
+ - 6b9368a: Added `deleteCoValues` function to permanently delete CoValues and their nested references.
46
+
47
+ - CoValues are marked with a tombstone, making them inaccessible to all users
48
+ - Supports deleting nested CoValues via resolve queries
49
+ - Requires admin permissions on the CoValue's group
50
+ - Introduces new `deleted` loading state for deleted CoValues
51
+ - Groups and Accounts are skipped during deletion
52
+
53
+ See documentation: https://jazz.tools/docs/react/core-concepts/deleting
54
+
55
+ - 89332d5: Moved stable JSON serialization from JavaScript to Rust in SessionLog operations
56
+
57
+ ### Changes
58
+
59
+ - **`tryAdd`**: Stable serialization now happens in Rust. The Rust layer parses each transaction and re-serializes it to ensure a stable JSON representation for signature verification. JavaScript side now uses `JSON.stringify` instead of `stableStringify`.
60
+
61
+ - **`addNewPrivateTransaction`** and **`addNewTrustingTransaction`**: Removed `stableStringify` usage since the data is either encrypted (private) or already in string format (trusting), making stable serialization unnecessary on the JS side.
62
+
63
+ - Updated dependencies [89332d5]
64
+ - Updated dependencies [8934d8a]
65
+ - cojson-core-wasm@0.20.0
66
+ - cojson-core-napi@0.20.0
67
+ - cojson-core-rn@0.20.0
68
+
3
69
  ## 0.19.22
4
70
 
5
71
  ### Patch Changes
@@ -1,6 +1,8 @@
1
1
  import { PeerKnownState } from "./coValueCore/PeerKnownState.js";
2
+ import { CoValueCore } from "./exports.js";
2
3
  import { RawCoID } from "./ids.js";
3
4
  import { CoValueKnownState } from "./knownState.js";
5
+ import { type LoadMode } from "./queue/OutgoingLoadQueue.js";
4
6
  import { Peer, SyncMessage } from "./sync.js";
5
7
  export declare class PeerState {
6
8
  private peer;
@@ -23,7 +25,10 @@ export declare class PeerState {
23
25
  newPeerStateFrom(peer: Peer): PeerState;
24
26
  readonly toldKnownState: Set<RawCoID>;
25
27
  readonly loadRequestSent: Set<RawCoID>;
26
- trackLoadRequestSent(id: RawCoID): void;
28
+ private loadQueue;
29
+ sendLoadRequest(coValue: CoValueCore, mode?: LoadMode): void;
30
+ trackLoadRequestUpdate(coValue: CoValueCore): void;
31
+ trackLoadRequestComplete(coValue: CoValueCore): void;
27
32
  trackToldKnownState(id: RawCoID): void;
28
33
  private getOrCreateKnownState;
29
34
  updateHeader(id: RawCoID, header: boolean): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PeerState.d.ts","sourceRoot":"","sources":["../src/PeerState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9C,qBAAa,SAAS;IASlB,OAAO,CAAC,IAAI;IARd;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;gBAGlD,IAAI,EAAE,IAAI,EAClB,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,SAAS;IAKvD,aAAa,CAAC,EAAE,EAAE,OAAO;IAIzB,uBAAuB,CAAC,EAAE,EAAE,OAAO;IAInC,yBAAyB,CAAC,EAAE,EAAE,OAAO;IAIrC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAe3B,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAa;IAClD,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAa;IAEnD,oBAAoB,CAAC,EAAE,EAAE,OAAO;IAKhC,mBAAmB,CAAC,EAAE,EAAE,OAAO;IAI/B,OAAO,CAAC,qBAAqB;IAW7B,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAMzC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB;IAMjD,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB;IAM3D,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAM/D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,EAAE,OAAO;IAS7B,OAAO,CAAC,SAAS,CAA2D;IAE5E,OAAO,CAAC,aAAa;IAMrB,6BAA6B,CAC3B,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI;IASxD,IAAI,EAAE,WAEL;IAED,IAAI,IAAI,wBAEP;IAED,IAAI,QAAQ,uBAEX;IAEM,MAAM,UAAS;IAEtB,IAAI,QAAQ,4CAEX;IAED,IAAI,UAAU,wBAEb;IAED,mBAAmB,CAAC,GAAG,EAAE,WAAW;IAIpC,cAAc,YAAiB,IAAI,EAAI;IAEvC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI;IAarC,SAAS;IAQT,gBAAgB,IAAI,IAAI;CAgBzB"}
1
+ {"version":3,"file":"PeerState.d.ts","sourceRoot":"","sources":["../src/PeerState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9C,qBAAa,SAAS;IASlB,OAAO,CAAC,IAAI;IARd;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA+B;gBAGlD,IAAI,EAAE,IAAI,EAClB,WAAW,EAAE,GAAG,CAAC,OAAO,EAAE,cAAc,CAAC,GAAG,SAAS;IAMvD,aAAa,CAAC,EAAE,EAAE,OAAO;IAIzB,uBAAuB,CAAC,EAAE,EAAE,OAAO;IAInC,yBAAyB,CAAC,EAAE,EAAE,OAAO;IAIrC;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI;IAe3B,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,OAAO,CAAC,CAAa;IAClD,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAa;IACnD,OAAO,CAAC,SAAS,CAAoB;IAErC,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI;IAe5D,sBAAsB,CAAC,OAAO,EAAE,WAAW;IAI3C,wBAAwB,CAAC,OAAO,EAAE,WAAW;IAI7C,mBAAmB,CAAC,EAAE,EAAE,OAAO;IAI/B,OAAO,CAAC,qBAAqB;IAW7B,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAMzC,WAAW,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB;IAMjD,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB;IAM3D,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAM/D;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,EAAE,OAAO;IAS7B,OAAO,CAAC,SAAS,CAA2D;IAE5E,OAAO,CAAC,aAAa;IAMrB,6BAA6B,CAC3B,QAAQ,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI;IASxD,IAAI,EAAE,WAEL;IAED,IAAI,IAAI,wBAEP;IAED,IAAI,QAAQ,uBAEX;IAEM,MAAM,UAAS;IAEtB,IAAI,QAAQ,4CAEX;IAED,IAAI,UAAU,wBAEb;IAED,mBAAmB,CAAC,GAAG,EAAE,WAAW;IAIpC,cAAc,YAAiB,IAAI,EAAI;IAEvC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI;IAarC,SAAS;IAQT,gBAAgB,IAAI,IAAI;CAiBzB"}
package/dist/PeerState.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { PeerKnownState } from "./coValueCore/PeerKnownState.js";
2
2
  import { logger } from "./logger.js";
3
+ import { OutgoingLoadQueue } from "./queue/OutgoingLoadQueue.js";
3
4
  export class PeerState {
4
5
  constructor(peer, knownStates) {
5
6
  this.peer = peer;
@@ -9,6 +10,7 @@ export class PeerState {
9
10
  this.closed = false;
10
11
  this.closeListeners = new Set();
11
12
  this._knownStates = knownStates ?? new Map();
13
+ this.loadQueue = new OutgoingLoadQueue(peer.id);
12
14
  }
13
15
  getKnownState(id) {
14
16
  return this._knownStates.get(id)?.value();
@@ -37,9 +39,21 @@ export class PeerState {
37
39
  }
38
40
  return new PeerState(peer, knownStates);
39
41
  }
40
- trackLoadRequestSent(id) {
41
- this.toldKnownState.add(id);
42
- this.loadRequestSent.add(id);
42
+ sendLoadRequest(coValue, mode) {
43
+ this.toldKnownState.add(coValue.id);
44
+ this.loadRequestSent.add(coValue.id);
45
+ this.loadQueue.enqueue(coValue, () => {
46
+ this.pushOutgoingMessage({
47
+ action: "load",
48
+ ...coValue.knownStateWithStreaming(),
49
+ });
50
+ }, mode);
51
+ }
52
+ trackLoadRequestUpdate(coValue) {
53
+ this.loadQueue.trackUpdate(coValue);
54
+ }
55
+ trackLoadRequestComplete(coValue) {
56
+ this.loadQueue.trackComplete(coValue);
43
57
  }
44
58
  trackToldKnownState(id) {
45
59
  this.toldKnownState.add(id);
@@ -139,6 +153,7 @@ export class PeerState {
139
153
  peerRole: this.role,
140
154
  });
141
155
  this.closed = true;
156
+ this.loadQueue.clear();
142
157
  this.peer.outgoing.push("Disconnected");
143
158
  this.peer.outgoing.close();
144
159
  this.peer.incoming.close();
@@ -1 +1 @@
1
- {"version":3,"file":"PeerState.js","sourceRoot":"","sources":["../src/PeerState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PeerState.js","sourceRoot":"","sources":["../src/PeerState.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,12 @@
1
1
  import { CoValueHeader, Transaction } from "./coValueCore/verifiedState.js";
2
2
  import { Signature } from "./crypto/crypto.js";
3
3
  import { RawCoID, SessionID } from "./ids.js";
4
- import { JsonValue } from "./jsonValue.js";
5
4
  import { CoValueKnownState } from "./knownState.js";
6
5
  import { NewContentMessage, SessionNewContent } from "./sync.js";
7
6
  export declare function createContentMessage(id: RawCoID, header: CoValueHeader, includeHeader?: boolean): NewContentMessage;
8
7
  export declare function addTransactionToContentMessage(content: NewContentMessage, transaction: Transaction, sessionID: SessionID, signature: Signature, txIdx: number): void;
9
8
  export declare function getTransactionSize(transaction: Transaction): number;
10
9
  export declare function exceedsRecommendedSize(baseSize: number, transactionSize?: number): boolean;
11
- export declare function validateTxSizeLimitInBytes(changes: JsonValue[]): void;
12
10
  export declare function knownStateFromContent(content: NewContentMessage): CoValueKnownState;
13
11
  export declare function getContentMessageSize(msg: NewContentMessage): number;
14
12
  export declare function getContenDebugInfo(msg: NewContentMessage): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"coValueContentMessage.d.ts","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEjE,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,aAAa,EACrB,aAAa,UAAO,GACnB,iBAAiB,CAQnB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,QAcd;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,UAI1D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,WASzB;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI,CAUrE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,qBAU/D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,UAS3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,YAKxD;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,6BAgBrB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,iBAAiB,GAEY,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CACvE"}
1
+ {"version":3,"file":"coValueContentMessage.d.ts","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAmB,MAAM,iBAAiB,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEjE,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,aAAa,EACrB,aAAa,UAAO,GACnB,iBAAiB,CAQnB;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,QAcd;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,WAAW,UAI1D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,WASzB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,qBAU/D;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,UAS3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,YAKxD;AAED,wBAAgB,oCAAoC,CAClD,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,iBAAiB,EAC7B,SAAS,EAAE,SAAS,6BAgBrB;AAED,wBAAgB,mCAAmC,CACjD,OAAO,EAAE,iBAAiB,GAEY,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,CACvE"}
@@ -35,14 +35,6 @@ export function exceedsRecommendedSize(baseSize, transactionSize) {
35
35
  }
36
36
  return (baseSize + transactionSize > TRANSACTION_CONFIG.MAX_RECOMMENDED_TX_SIZE);
37
37
  }
38
- const cachedTextEncoder = new TextEncoder();
39
- export function validateTxSizeLimitInBytes(changes) {
40
- const serializedSize = cachedTextEncoder.encode(JSON.stringify(changes)).length;
41
- if (serializedSize > TRANSACTION_CONFIG.MAX_TX_SIZE_BYTES) {
42
- throw new Error(`Transaction is too large to be synced: ${serializedSize} > ${TRANSACTION_CONFIG.MAX_TX_SIZE_BYTES} bytes. ` +
43
- `Consider breaking your transaction into smaller chunks.`);
44
- }
45
- }
46
38
  export function knownStateFromContent(content) {
47
39
  const knownState = emptyKnownState(content.id);
48
40
  knownState.header = Boolean(content.header);
@@ -1 +1 @@
1
- {"version":3,"file":"coValueContentMessage.js","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueContentMessage.js","sourceRoot":"","sources":["../src/coValueContentMessage.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export type SessionLog = {
18
18
  export declare class SessionMap {
19
19
  private readonly id;
20
20
  private readonly crypto;
21
+ private isDeleted;
21
22
  sessions: Map<SessionID, SessionLog>;
22
23
  knownState: CoValueKnownState;
23
24
  knownStateWithStreaming: CoValueKnownState | undefined;
@@ -25,6 +26,7 @@ export declare class SessionMap {
25
26
  private immutableKnownStateWithStreaming;
26
27
  streamingKnownState?: KnownStateSessions;
27
28
  constructor(id: RawCoID, crypto: CryptoProvider, streamingKnownState?: KnownStateSessions);
29
+ markAsDeleted(): void;
28
30
  setStreamingKnownState(streamingKnownState: KnownStateSessions): void;
29
31
  invalidateKnownStateCache(): void;
30
32
  getImmutableKnownState(): CoValueKnownState;
@@ -45,9 +47,9 @@ export declare class SessionMap {
45
47
  decryptTransaction(sessionID: SessionID, txIndex: number, keySecret: KeySecret): JsonValue[] | undefined;
46
48
  decryptTransactionMeta(sessionID: SessionID, txIndex: number, keySecret: KeySecret): JsonObject | undefined;
47
49
  get size(): number;
48
- entries(): MapIterator<[`sealer_z${string}/signer_z${string}_session_z${string}` | `${import("../exports.js").RawAccountID}_session_z${string}`, SessionLog]>;
50
+ entries(): MapIterator<[SessionID, SessionLog]>;
49
51
  values(): MapIterator<SessionLog>;
50
- keys(): MapIterator<`sealer_z${string}/signer_z${string}_session_z${string}` | `${import("../exports.js").RawAccountID}_session_z${string}`>;
52
+ keys(): MapIterator<SessionID>;
51
53
  clone(): SessionMap;
52
54
  }
53
55
  //# sourceMappingURL=SessionMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMap.d.ts","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionMap.d.ts","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { isDeleteSessionID } from "../ids.js";
1
2
  import { parseJSON } from "../jsonStringify.js";
2
3
  import { exceedsRecommendedSize } from "../coValueContentMessage.js";
3
4
  import { updateSessionCounter, cloneKnownState, combineKnownStateSessions, isKnownStateSubsetOf, getKnownStateToSend, } from "../knownState.js";
@@ -5,6 +6,7 @@ export class SessionMap {
5
6
  constructor(id, crypto, streamingKnownState) {
6
7
  this.id = id;
7
8
  this.crypto = crypto;
9
+ this.isDeleted = false;
8
10
  this.sessions = new Map();
9
11
  this.knownState = { id: this.id, header: true, sessions: {} };
10
12
  if (streamingKnownState) {
@@ -16,7 +18,26 @@ export class SessionMap {
16
18
  };
17
19
  }
18
20
  }
21
+ markAsDeleted() {
22
+ this.isDeleted = true;
23
+ // We reset the known state to report only the deleted session/transaction
24
+ this.knownState = { id: this.id, header: true, sessions: {} };
25
+ // We remove the streaming statuses, because once deleted we don't need
26
+ // to wait for any streaming to be completed
27
+ this.knownStateWithStreaming = undefined;
28
+ this.streamingKnownState = undefined;
29
+ this.invalidateKnownStateCache();
30
+ for (const [sessionID, sessionLog] of this.sessions.entries()) {
31
+ if (!isDeleteSessionID(sessionID)) {
32
+ continue;
33
+ }
34
+ this.knownState.sessions[sessionID] = sessionLog.transactions.length;
35
+ }
36
+ }
19
37
  setStreamingKnownState(streamingKnownState) {
38
+ if (this.isDeleted) {
39
+ return;
40
+ }
20
41
  // if the streaming known state is a subset of the current known state, we can skip the update
21
42
  if (isKnownStateSubsetOf(streamingKnownState, this.knownState.sessions)) {
22
43
  return;
@@ -72,17 +93,26 @@ export class SessionMap {
72
93
  return sessionLog;
73
94
  }
74
95
  addTransaction(sessionID, signerID, newTransactions, newSignature, skipVerify = false) {
96
+ if (this.isDeleted && !isDeleteSessionID(sessionID)) {
97
+ throw new Error("Cannot add transactions to a deleted coValue");
98
+ }
75
99
  const sessionLog = this.getOrCreateSessionLog(sessionID, signerID);
76
100
  sessionLog.impl.tryAdd(newTransactions, newSignature, skipVerify);
77
101
  this.addTransactionsToJsLog(sessionLog, newTransactions, newSignature);
78
102
  }
79
103
  makeNewPrivateTransaction(sessionID, signerAgent, changes, keyID, keySecret, meta, madeAt) {
104
+ if (this.isDeleted) {
105
+ throw new Error("Cannot make new private transaction on a deleted coValue");
106
+ }
80
107
  const sessionLog = this.getOrCreateSessionLog(sessionID, signerAgent.currentSignerID());
81
108
  const result = sessionLog.impl.addNewPrivateTransaction(signerAgent, changes, keyID, keySecret, madeAt, meta);
82
109
  this.addTransactionsToJsLog(sessionLog, [result.transaction], result.signature);
83
110
  return result;
84
111
  }
85
112
  makeNewTrustingTransaction(sessionID, signerAgent, changes, meta, madeAt) {
113
+ if (this.isDeleted) {
114
+ throw new Error("Cannot make new trusting transaction on a deleted coValue");
115
+ }
86
116
  const sessionLog = this.getOrCreateSessionLog(sessionID, signerAgent.currentSignerID());
87
117
  const result = sessionLog.impl.addNewTrustingTransaction(signerAgent, changes, madeAt, meta);
88
118
  this.addTransactionsToJsLog(sessionLog, [result.transaction], result.signature);
@@ -1 +1 @@
1
- {"version":3,"file":"SessionMap.js","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionMap.js","sourceRoot":"","sources":["../../src/coValueCore/SessionMap.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,23 @@
1
1
  import type { PeerState } from "../PeerState.js";
2
2
  import type { RawCoValue } from "../coValue.js";
3
- import type { ControlledAccountOrAgent } from "../coValues/account.js";
3
+ import type { LoadMode } from "../queue/OutgoingLoadQueue.js";
4
+ import { type ControlledAccountOrAgent } from "../coValues/account.js";
4
5
  import type { RawGroup } from "../coValues/group.js";
5
6
  import { CryptoProvider, Hash, KeyID, KeySecret, Signature, SignerID } from "../crypto/crypto.js";
6
7
  import { AgentID, RawCoID, SessionID, TransactionID } from "../ids.js";
7
8
  import { JsonObject, JsonValue } from "../jsonValue.js";
8
9
  import { LocalNode, ResolveAccountAgentError } from "../localNode.js";
9
- import { NewContentMessage, PeerID } from "../sync.js";
10
+ import { KnownStateMessage, NewContentMessage, PeerID } from "../sync.js";
10
11
  import { CoValueHeader, Transaction, VerifiedState } from "./verifiedState.js";
11
12
  import { MergeCommit, BranchPointerCommit, BranchStartCommit } from "./branching.js";
12
13
  import { type RawAccountID } from "../coValues/account.js";
13
14
  import { CoValueKnownState, KnownStateSessions } from "../knownState.js";
15
+ export type ValidationValue = {
16
+ isOk: true;
17
+ } | {
18
+ isOk: false;
19
+ message: string;
20
+ };
14
21
  export declare function idforHeader(header: CoValueHeader, crypto: CryptoProvider): RawCoID;
15
22
  export declare function enablePermissionErrors(): void;
16
23
  export declare class VerifiedTransaction {
@@ -51,6 +58,7 @@ export declare class CoValueCore {
51
58
  #private;
52
59
  readonly node: LocalNode;
53
60
  private readonly crypto;
61
+ isDeleted: boolean;
54
62
  id: RawCoID;
55
63
  private _verified;
56
64
  /** Holds the fundamental syncable content of a CoValue,
@@ -131,6 +139,12 @@ export declare class CoValueCore {
131
139
  * On change the knownState is invalidated and a new object is returned.
132
140
  */
133
141
  knownState(): CoValueKnownState;
142
+ /**
143
+ * Returns a known state message to signal to the peer that the coValue doesn't need to be synced anymore
144
+ *
145
+ * Implemented to be backward compatible with clients that don't support deleted coValues
146
+ */
147
+ stopSyncingKnownStateMessage(peerKnownState: CoValueKnownState | undefined): KnownStateMessage;
134
148
  get meta(): JsonValue;
135
149
  nextTransactionID(): TransactionID;
136
150
  addDependenciesFromContentMessage(newContent: NewContentMessage): void;
@@ -138,6 +152,31 @@ export declare class CoValueCore {
138
152
  * Apply new transactions that were not generated by the current node to the CoValue
139
153
  */
140
154
  tryAddTransactions(sessionID: SessionID, newTransactions: Transaction[], newSignature: Signature, skipVerify?: boolean): {
155
+ readonly type: "DeleteTransactionRejected";
156
+ readonly id: `co_z${string}`;
157
+ readonly sessionID: `sealer_z${string}/signer_z${string}_session_d${string}$` | `${RawAccountID}_session_d${string}$`;
158
+ readonly reason: "InvalidDeleteTransaction";
159
+ readonly error: Error;
160
+ readonly author?: undefined;
161
+ } | {
162
+ readonly type: "DeleteTransactionRejected";
163
+ readonly id: `co_z${string}`;
164
+ readonly sessionID: `sealer_z${string}/signer_z${string}_session_d${string}$` | `${RawAccountID}_session_d${string}$`;
165
+ readonly reason: "CoValueNotDeletable";
166
+ readonly error: Error;
167
+ readonly author?: undefined;
168
+ } | {
169
+ readonly type: "DeleteTransactionRejected";
170
+ readonly id: `co_z${string}`;
171
+ readonly sessionID: SessionID;
172
+ readonly author: `sealer_z${string}/signer_z${string}` | RawAccountID;
173
+ readonly reason: "CoValueNotDeletable" | "NotAdmin" | "CannotVerifyPermissions";
174
+ readonly error: Error;
175
+ } | {
176
+ readonly type: "CoValueDeleted";
177
+ readonly id: `co_z${string}`;
178
+ readonly error: Error;
179
+ } | {
141
180
  readonly type: "ResolveAccountAgentError";
142
181
  readonly id: `co_z${string}`;
143
182
  readonly error: unknown;
@@ -158,6 +197,23 @@ export declare class CoValueCore {
158
197
  resumeNotifyUpdate(): void;
159
198
  private notifyUpdate;
160
199
  subscribe(listener: (core: CoValueCore, unsub: () => void) => void, immediateInvoke?: boolean): () => void;
200
+ validateDeletePermissions(): {
201
+ ok: boolean;
202
+ reason: string;
203
+ message: string;
204
+ } | {
205
+ ok: boolean;
206
+ reason?: undefined;
207
+ message?: undefined;
208
+ };
209
+ /**
210
+ * Creates a delete marker transaction for this CoValue and sets the coValue as deleted
211
+ *
212
+ * Constraints:
213
+ * - Account and Group CoValues cannot be deleted.
214
+ * - Only admins can delete a coValue.
215
+ */
216
+ deleteCoValue(): void;
161
217
  /**
162
218
  * Creates a new transaction with local changes and syncs it to all peers
163
219
  */
@@ -234,6 +290,7 @@ export declare class CoValueCore {
234
290
  */
235
291
  dependant: Set<RawCoID>;
236
292
  private addDependant;
293
+ isGroupOrAccount(): boolean;
237
294
  isGroup(): boolean;
238
295
  createBranch(name: string, ownerId?: RawCoID): CoValueCore;
239
296
  mergeBranch(): CoValueCore;
@@ -261,7 +318,7 @@ export declare class CoValueCore {
261
318
  waitForSync(options?: {
262
319
  timeout?: number;
263
320
  }): Promise<unknown[]>;
264
- load(peers: PeerState[]): void;
321
+ load(peers: PeerState[], mode?: LoadMode): void;
265
322
  loadFromStorage(done?: (found: boolean) => void): void;
266
323
  /**
267
324
  * Lazily load only the knownState from storage without loading full transaction data.
@@ -272,7 +329,7 @@ export declare class CoValueCore {
272
329
  * @param done - Callback with the storage knownState, or undefined if not found in storage
273
330
  */
274
331
  getKnownStateFromStorage(done: (knownState: CoValueKnownState | undefined) => void): void;
275
- loadFromPeers(peers: PeerState[]): void;
332
+ loadFromPeers(peers: PeerState[], mode?: LoadMode): void;
276
333
  private internalLoadFromPeer;
277
334
  }
278
335
  export type InvalidHashError = {
@@ -297,5 +354,13 @@ export type TriedToAddTransactionsWithoutSignerIDError = {
297
354
  id: RawCoID;
298
355
  sessionID: SessionID;
299
356
  };
300
- export type TryAddTransactionsError = TriedToAddTransactionsWithoutVerifiedStateErrpr | TriedToAddTransactionsWithoutSignerIDError | ResolveAccountAgentError | InvalidHashError | InvalidSignatureError;
357
+ export type DeleteTransactionRejectedError = {
358
+ type: "DeleteTransactionRejected";
359
+ id: RawCoID;
360
+ sessionID: SessionID;
361
+ author: RawAccountID | AgentID;
362
+ reason: "NotAdmin" | "CoValueNotDeletable" | "CannotVerifyPermissions";
363
+ error: Error;
364
+ };
365
+ export type TryAddTransactionsError = TriedToAddTransactionsWithoutVerifiedStateErrpr | TriedToAddTransactionsWithoutSignerIDError | ResolveAccountAgentError | InvalidHashError | InvalidSignatureError | DeleteTransactionRejectedError;
301
366
  //# sourceMappingURL=coValueCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coValueCore.d.ts","sourceRoot":"","sources":["../../src/coValueCore/coValueCore.ts"],"names":[],"mappings":"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"}