cojson 0.19.21 → 0.20.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 (254) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +67 -0
  3. package/dist/CojsonMessageChannel/CojsonMessageChannel.d.ts +42 -0
  4. package/dist/CojsonMessageChannel/CojsonMessageChannel.d.ts.map +1 -0
  5. package/dist/CojsonMessageChannel/CojsonMessageChannel.js +261 -0
  6. package/dist/CojsonMessageChannel/CojsonMessageChannel.js.map +1 -0
  7. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.d.ts +18 -0
  8. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.d.ts.map +1 -0
  9. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.js +37 -0
  10. package/dist/CojsonMessageChannel/MessagePortOutgoingChannel.js.map +1 -0
  11. package/dist/CojsonMessageChannel/index.d.ts +3 -0
  12. package/dist/CojsonMessageChannel/index.d.ts.map +1 -0
  13. package/dist/CojsonMessageChannel/index.js +2 -0
  14. package/dist/CojsonMessageChannel/index.js.map +1 -0
  15. package/dist/CojsonMessageChannel/types.d.ts +149 -0
  16. package/dist/CojsonMessageChannel/types.d.ts.map +1 -0
  17. package/dist/CojsonMessageChannel/types.js +36 -0
  18. package/dist/CojsonMessageChannel/types.js.map +1 -0
  19. package/dist/GarbageCollector.d.ts +4 -2
  20. package/dist/GarbageCollector.d.ts.map +1 -1
  21. package/dist/GarbageCollector.js +5 -3
  22. package/dist/GarbageCollector.js.map +1 -1
  23. package/dist/SyncStateManager.d.ts +3 -3
  24. package/dist/SyncStateManager.d.ts.map +1 -1
  25. package/dist/SyncStateManager.js +4 -4
  26. package/dist/SyncStateManager.js.map +1 -1
  27. package/dist/coValueContentMessage.d.ts +0 -2
  28. package/dist/coValueContentMessage.d.ts.map +1 -1
  29. package/dist/coValueContentMessage.js +0 -8
  30. package/dist/coValueContentMessage.js.map +1 -1
  31. package/dist/coValueCore/SessionMap.d.ts +4 -2
  32. package/dist/coValueCore/SessionMap.d.ts.map +1 -1
  33. package/dist/coValueCore/SessionMap.js +30 -0
  34. package/dist/coValueCore/SessionMap.js.map +1 -1
  35. package/dist/coValueCore/coValueCore.d.ts +86 -4
  36. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  37. package/dist/coValueCore/coValueCore.js +318 -17
  38. package/dist/coValueCore/coValueCore.js.map +1 -1
  39. package/dist/coValueCore/verifiedState.d.ts +6 -1
  40. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  41. package/dist/coValueCore/verifiedState.js +9 -0
  42. package/dist/coValueCore/verifiedState.js.map +1 -1
  43. package/dist/coValues/coList.d.ts +3 -2
  44. package/dist/coValues/coList.d.ts.map +1 -1
  45. package/dist/coValues/coList.js.map +1 -1
  46. package/dist/coValues/group.d.ts.map +1 -1
  47. package/dist/coValues/group.js +3 -6
  48. package/dist/coValues/group.js.map +1 -1
  49. package/dist/config.d.ts +0 -6
  50. package/dist/config.d.ts.map +1 -1
  51. package/dist/config.js +0 -8
  52. package/dist/config.js.map +1 -1
  53. package/dist/crypto/NapiCrypto.d.ts +1 -2
  54. package/dist/crypto/NapiCrypto.d.ts.map +1 -1
  55. package/dist/crypto/NapiCrypto.js +19 -4
  56. package/dist/crypto/NapiCrypto.js.map +1 -1
  57. package/dist/crypto/RNCrypto.d.ts.map +1 -1
  58. package/dist/crypto/RNCrypto.js +19 -4
  59. package/dist/crypto/RNCrypto.js.map +1 -1
  60. package/dist/crypto/WasmCrypto.d.ts +11 -4
  61. package/dist/crypto/WasmCrypto.d.ts.map +1 -1
  62. package/dist/crypto/WasmCrypto.js +52 -10
  63. package/dist/crypto/WasmCrypto.js.map +1 -1
  64. package/dist/crypto/WasmCryptoEdge.d.ts +1 -0
  65. package/dist/crypto/WasmCryptoEdge.d.ts.map +1 -1
  66. package/dist/crypto/WasmCryptoEdge.js +4 -1
  67. package/dist/crypto/WasmCryptoEdge.js.map +1 -1
  68. package/dist/crypto/crypto.d.ts +3 -3
  69. package/dist/crypto/crypto.d.ts.map +1 -1
  70. package/dist/crypto/crypto.js +6 -1
  71. package/dist/crypto/crypto.js.map +1 -1
  72. package/dist/exports.d.ts +3 -2
  73. package/dist/exports.d.ts.map +1 -1
  74. package/dist/exports.js +3 -1
  75. package/dist/exports.js.map +1 -1
  76. package/dist/ids.d.ts +4 -1
  77. package/dist/ids.d.ts.map +1 -1
  78. package/dist/ids.js +4 -0
  79. package/dist/ids.js.map +1 -1
  80. package/dist/knownState.d.ts +2 -0
  81. package/dist/knownState.d.ts.map +1 -1
  82. package/dist/localNode.d.ts +13 -3
  83. package/dist/localNode.d.ts.map +1 -1
  84. package/dist/localNode.js +17 -2
  85. package/dist/localNode.js.map +1 -1
  86. package/dist/platformUtils.d.ts +3 -0
  87. package/dist/platformUtils.d.ts.map +1 -0
  88. package/dist/platformUtils.js +24 -0
  89. package/dist/platformUtils.js.map +1 -0
  90. package/dist/storage/DeletedCoValuesEraserScheduler.d.ts +30 -0
  91. package/dist/storage/DeletedCoValuesEraserScheduler.d.ts.map +1 -0
  92. package/dist/storage/DeletedCoValuesEraserScheduler.js +84 -0
  93. package/dist/storage/DeletedCoValuesEraserScheduler.js.map +1 -0
  94. package/dist/storage/sqlite/client.d.ts +3 -0
  95. package/dist/storage/sqlite/client.d.ts.map +1 -1
  96. package/dist/storage/sqlite/client.js +44 -0
  97. package/dist/storage/sqlite/client.js.map +1 -1
  98. package/dist/storage/sqlite/sqliteMigrations.d.ts.map +1 -1
  99. package/dist/storage/sqlite/sqliteMigrations.js +7 -0
  100. package/dist/storage/sqlite/sqliteMigrations.js.map +1 -1
  101. package/dist/storage/sqliteAsync/client.d.ts +3 -0
  102. package/dist/storage/sqliteAsync/client.d.ts.map +1 -1
  103. package/dist/storage/sqliteAsync/client.js +42 -0
  104. package/dist/storage/sqliteAsync/client.js.map +1 -1
  105. package/dist/storage/storageAsync.d.ts +15 -3
  106. package/dist/storage/storageAsync.d.ts.map +1 -1
  107. package/dist/storage/storageAsync.js +60 -3
  108. package/dist/storage/storageAsync.js.map +1 -1
  109. package/dist/storage/storageSync.d.ts +14 -3
  110. package/dist/storage/storageSync.d.ts.map +1 -1
  111. package/dist/storage/storageSync.js +54 -3
  112. package/dist/storage/storageSync.js.map +1 -1
  113. package/dist/storage/types.d.ts +64 -0
  114. package/dist/storage/types.d.ts.map +1 -1
  115. package/dist/storage/types.js +12 -1
  116. package/dist/storage/types.js.map +1 -1
  117. package/dist/sync.d.ts +6 -0
  118. package/dist/sync.d.ts.map +1 -1
  119. package/dist/sync.js +69 -15
  120. package/dist/sync.js.map +1 -1
  121. package/dist/tests/CojsonMessageChannel.test.d.ts +2 -0
  122. package/dist/tests/CojsonMessageChannel.test.d.ts.map +1 -0
  123. package/dist/tests/CojsonMessageChannel.test.js +236 -0
  124. package/dist/tests/CojsonMessageChannel.test.js.map +1 -0
  125. package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts +2 -0
  126. package/dist/tests/DeletedCoValuesEraserScheduler.test.d.ts.map +1 -0
  127. package/dist/tests/DeletedCoValuesEraserScheduler.test.js +149 -0
  128. package/dist/tests/DeletedCoValuesEraserScheduler.test.js.map +1 -0
  129. package/dist/tests/GarbageCollector.test.js +91 -18
  130. package/dist/tests/GarbageCollector.test.js.map +1 -1
  131. package/dist/tests/StorageApiAsync.test.js +510 -146
  132. package/dist/tests/StorageApiAsync.test.js.map +1 -1
  133. package/dist/tests/StorageApiSync.test.js +531 -130
  134. package/dist/tests/StorageApiSync.test.js.map +1 -1
  135. package/dist/tests/SyncManager.processQueues.test.js +1 -1
  136. package/dist/tests/SyncManager.processQueues.test.js.map +1 -1
  137. package/dist/tests/SyncStateManager.test.js +1 -1
  138. package/dist/tests/SyncStateManager.test.js.map +1 -1
  139. package/dist/tests/WasmCrypto.test.js +6 -3
  140. package/dist/tests/WasmCrypto.test.js.map +1 -1
  141. package/dist/tests/coPlainText.test.js +1 -1
  142. package/dist/tests/coPlainText.test.js.map +1 -1
  143. package/dist/tests/coValueCore.loadFromStorage.test.js +4 -0
  144. package/dist/tests/coValueCore.loadFromStorage.test.js.map +1 -1
  145. package/dist/tests/coValueCore.test.js +34 -13
  146. package/dist/tests/coValueCore.test.js.map +1 -1
  147. package/dist/tests/coreWasm.test.js +127 -4
  148. package/dist/tests/coreWasm.test.js.map +1 -1
  149. package/dist/tests/crypto.test.js +89 -93
  150. package/dist/tests/crypto.test.js.map +1 -1
  151. package/dist/tests/deleteCoValue.test.d.ts +2 -0
  152. package/dist/tests/deleteCoValue.test.d.ts.map +1 -0
  153. package/dist/tests/deleteCoValue.test.js +313 -0
  154. package/dist/tests/deleteCoValue.test.js.map +1 -0
  155. package/dist/tests/group.removeMember.test.js +18 -30
  156. package/dist/tests/group.removeMember.test.js.map +1 -1
  157. package/dist/tests/knownState.lazyLoading.test.js +4 -0
  158. package/dist/tests/knownState.lazyLoading.test.js.map +1 -1
  159. package/dist/tests/sync.deleted.test.d.ts +2 -0
  160. package/dist/tests/sync.deleted.test.d.ts.map +1 -0
  161. package/dist/tests/sync.deleted.test.js +214 -0
  162. package/dist/tests/sync.deleted.test.js.map +1 -0
  163. package/dist/tests/sync.garbageCollection.test.js +56 -32
  164. package/dist/tests/sync.garbageCollection.test.js.map +1 -1
  165. package/dist/tests/sync.load.test.js +3 -5
  166. package/dist/tests/sync.load.test.js.map +1 -1
  167. package/dist/tests/sync.mesh.test.js +4 -3
  168. package/dist/tests/sync.mesh.test.js.map +1 -1
  169. package/dist/tests/sync.peerReconciliation.test.js +3 -3
  170. package/dist/tests/sync.peerReconciliation.test.js.map +1 -1
  171. package/dist/tests/sync.storage.test.js +12 -11
  172. package/dist/tests/sync.storage.test.js.map +1 -1
  173. package/dist/tests/sync.storageAsync.test.js +7 -7
  174. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  175. package/dist/tests/sync.test.js +3 -2
  176. package/dist/tests/sync.test.js.map +1 -1
  177. package/dist/tests/sync.tracking.test.js +35 -4
  178. package/dist/tests/sync.tracking.test.js.map +1 -1
  179. package/dist/tests/testStorage.d.ts +3 -0
  180. package/dist/tests/testStorage.d.ts.map +1 -1
  181. package/dist/tests/testStorage.js +16 -2
  182. package/dist/tests/testStorage.js.map +1 -1
  183. package/dist/tests/testUtils.d.ts +29 -4
  184. package/dist/tests/testUtils.d.ts.map +1 -1
  185. package/dist/tests/testUtils.js +84 -9
  186. package/dist/tests/testUtils.js.map +1 -1
  187. package/package.json +6 -16
  188. package/src/CojsonMessageChannel/CojsonMessageChannel.ts +332 -0
  189. package/src/CojsonMessageChannel/MessagePortOutgoingChannel.ts +52 -0
  190. package/src/CojsonMessageChannel/index.ts +9 -0
  191. package/src/CojsonMessageChannel/types.ts +200 -0
  192. package/src/GarbageCollector.ts +5 -5
  193. package/src/SyncStateManager.ts +6 -6
  194. package/src/coValueContentMessage.ts +0 -14
  195. package/src/coValueCore/SessionMap.ts +43 -1
  196. package/src/coValueCore/coValueCore.ts +430 -15
  197. package/src/coValueCore/verifiedState.ts +26 -3
  198. package/src/coValues/coList.ts +5 -3
  199. package/src/coValues/group.ts +5 -6
  200. package/src/config.ts +0 -9
  201. package/src/crypto/NapiCrypto.ts +29 -13
  202. package/src/crypto/RNCrypto.ts +29 -11
  203. package/src/crypto/WasmCrypto.ts +67 -20
  204. package/src/crypto/WasmCryptoEdge.ts +5 -1
  205. package/src/crypto/crypto.ts +16 -4
  206. package/src/exports.ts +3 -0
  207. package/src/ids.ts +11 -1
  208. package/src/localNode.ts +18 -5
  209. package/src/platformUtils.ts +26 -0
  210. package/src/storage/DeletedCoValuesEraserScheduler.ts +124 -0
  211. package/src/storage/sqlite/client.ts +77 -0
  212. package/src/storage/sqlite/sqliteMigrations.ts +7 -0
  213. package/src/storage/sqliteAsync/client.ts +75 -0
  214. package/src/storage/storageAsync.ts +77 -4
  215. package/src/storage/storageSync.ts +73 -4
  216. package/src/storage/types.ts +75 -0
  217. package/src/sync.ts +84 -15
  218. package/src/tests/CojsonMessageChannel.test.ts +306 -0
  219. package/src/tests/DeletedCoValuesEraserScheduler.test.ts +185 -0
  220. package/src/tests/GarbageCollector.test.ts +119 -22
  221. package/src/tests/StorageApiAsync.test.ts +615 -156
  222. package/src/tests/StorageApiSync.test.ts +623 -137
  223. package/src/tests/SyncManager.processQueues.test.ts +1 -1
  224. package/src/tests/SyncStateManager.test.ts +1 -1
  225. package/src/tests/WasmCrypto.test.ts +8 -3
  226. package/src/tests/coPlainText.test.ts +1 -1
  227. package/src/tests/coValueCore.loadFromStorage.test.ts +8 -0
  228. package/src/tests/coValueCore.test.ts +49 -14
  229. package/src/tests/coreWasm.test.ts +319 -10
  230. package/src/tests/crypto.test.ts +141 -150
  231. package/src/tests/deleteCoValue.test.ts +528 -0
  232. package/src/tests/group.removeMember.test.ts +35 -35
  233. package/src/tests/knownState.lazyLoading.test.ts +8 -0
  234. package/src/tests/sync.deleted.test.ts +294 -0
  235. package/src/tests/sync.garbageCollection.test.ts +69 -36
  236. package/src/tests/sync.load.test.ts +3 -5
  237. package/src/tests/sync.mesh.test.ts +6 -3
  238. package/src/tests/sync.peerReconciliation.test.ts +3 -3
  239. package/src/tests/sync.storage.test.ts +14 -11
  240. package/src/tests/sync.storageAsync.test.ts +7 -7
  241. package/src/tests/sync.test.ts +5 -2
  242. package/src/tests/sync.tracking.test.ts +54 -4
  243. package/src/tests/testStorage.ts +30 -3
  244. package/src/tests/testUtils.ts +113 -15
  245. package/dist/crypto/PureJSCrypto.d.ts +0 -77
  246. package/dist/crypto/PureJSCrypto.d.ts.map +0 -1
  247. package/dist/crypto/PureJSCrypto.js +0 -236
  248. package/dist/crypto/PureJSCrypto.js.map +0 -1
  249. package/dist/tests/PureJSCrypto.test.d.ts +0 -2
  250. package/dist/tests/PureJSCrypto.test.d.ts.map +0 -1
  251. package/dist/tests/PureJSCrypto.test.js +0 -145
  252. package/dist/tests/PureJSCrypto.test.js.map +0 -1
  253. package/src/crypto/PureJSCrypto.ts +0 -429
  254. package/src/tests/PureJSCrypto.test.ts +0 -217
@@ -0,0 +1,313 @@
1
+ import { assert, beforeEach, expect, test } from "vitest";
2
+ import { WasmCrypto } from "../crypto/WasmCrypto.js";
3
+ import { isDeleteSessionID } from "../ids.js";
4
+ import { fillCoMapWithLargeData, importContentIntoNode, setupTestAccount, setupTestNode, loadCoValueOrFail, nodeWithRandomAgentAndSessionID, waitFor, } from "./testUtils.js";
5
+ import { CO_VALUE_PRIORITY } from "../priority.js";
6
+ const Crypto = await WasmCrypto.create();
7
+ function makeDeleteMarkerTransaction(core, madeAt) {
8
+ core.makeTransaction([], "trusting", { deleted: core.id }, madeAt);
9
+ const deleteSessionID = Object.keys(core.knownState().sessions).find((sessionID) => isDeleteSessionID(sessionID));
10
+ assert(deleteSessionID);
11
+ const log = core.verified?.sessions.get(deleteSessionID);
12
+ assert(log?.lastSignature);
13
+ const tx = log.transactions.at(-1);
14
+ assert(tx);
15
+ return { tx, signature: log.lastSignature, deleteSessionID };
16
+ }
17
+ let jazzCloud;
18
+ beforeEach(() => {
19
+ jazzCloud = setupTestNode({ isSyncServer: true });
20
+ });
21
+ test("deleteCoValue is blocked for Account and Group CoValues", async () => {
22
+ const client = await setupTestAccount();
23
+ const account = client.node.expectCurrentAccount("to test deleteCoValue");
24
+ expect(() => account.core.deleteCoValue()).toThrow(/Cannot delete Group or Account coValues/);
25
+ const group = client.node.createGroup();
26
+ expect(() => group.core.deleteCoValue()).toThrow(/Cannot delete Group or Account coValues/);
27
+ });
28
+ test("deleteCoValue throws when called by a non-admin on a group-owned CoValue", async () => {
29
+ const alice = await setupTestAccount({ connected: true });
30
+ const bob = await setupTestAccount({ connected: true });
31
+ const bobAccountOnAlice = await loadCoValueOrFail(alice.node, bob.accountID);
32
+ const group = alice.node.createGroup();
33
+ group.addMember(bobAccountOnAlice, "writer");
34
+ const map = group.createMap();
35
+ // Give sync a moment to propagate the group ownership + membership
36
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
37
+ await waitFor(() => {
38
+ expect(mapOnBob.core.safeGetGroup()?.myRole()).toBe("writer");
39
+ });
40
+ expect(() => mapOnBob.core.deleteCoValue()).toThrow(/The current account lacks admin permissions to delete this coValue/);
41
+ });
42
+ test("deleteCoValue creates a trusting {deleted:id} tombstone tx, marks the session, and flips core.isDeleted", async () => {
43
+ const alice = await setupTestAccount({ connected: true });
44
+ const group = alice.node.createGroup();
45
+ const map = group.createMap();
46
+ expect(map.core.isDeleted).toBe(false);
47
+ map.core.deleteCoValue();
48
+ expect(map.core.isDeleted).toBe(true);
49
+ const txs = map.core.getValidSortedTransactions();
50
+ const last = txs.at(-1);
51
+ expect(last).toBeTruthy();
52
+ expect(last.tx.privacy).toBe("trusting");
53
+ expect(last.changes).toEqual([]);
54
+ expect(last.meta).toMatchObject({ deleted: map.id });
55
+ expect(last.txID.sessionID).toMatch(/_session_d[1-9A-HJ-NP-Za-km-z]+\$$/); // Delete session format
56
+ });
57
+ test("rejects delete marker ingestion from non-admin (ownedByGroup, skipVerify=false)", async () => {
58
+ const alice = await setupTestAccount({ connected: true });
59
+ const bob = await setupTestAccount({ connected: true });
60
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
61
+ await loadCoValueOrFail(bob.node, alice.accountID);
62
+ const group = alice.node.createGroup();
63
+ group.addMember(bobAccount, "writer");
64
+ await group.core.waitForSync();
65
+ const map = group.createMap();
66
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
67
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(mapOnBob.core);
68
+ const error = map.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
69
+ expect(error).toMatchObject({
70
+ type: "DeleteTransactionRejected",
71
+ reason: "NotAdmin",
72
+ });
73
+ expect(map.core.isDeleted).toBe(false);
74
+ expect(map.core.verified?.sessions.get(deleteSessionID)).toBeUndefined();
75
+ });
76
+ test("accepts delete marker ingestion from admin (ownedByGroup, skipVerify=false) and marks deleted", async () => {
77
+ const alice = await setupTestAccount({ connected: true });
78
+ const bob = await setupTestAccount({ connected: true });
79
+ await loadCoValueOrFail(alice.node, bob.accountID);
80
+ await loadCoValueOrFail(bob.node, alice.accountID);
81
+ const group = alice.node.createGroup();
82
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
83
+ group.addMember(bobAccount, "writer");
84
+ await group.core.waitForSync();
85
+ const map = group.createMap();
86
+ await loadCoValueOrFail(bob.node, group.id);
87
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
88
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(map.core);
89
+ const error = mapOnBob.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
90
+ expect(error).toBeUndefined();
91
+ expect(mapOnBob.core.isDeleted).toBe(true);
92
+ });
93
+ test("rejects delete session ingestion when attempting to append a second transaction (txCount > 0)", async () => {
94
+ const alice = await setupTestAccount({ connected: true });
95
+ const bob = await setupTestAccount({ connected: true });
96
+ await loadCoValueOrFail(alice.node, bob.accountID);
97
+ await loadCoValueOrFail(bob.node, alice.accountID);
98
+ const group = alice.node.createGroup();
99
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
100
+ group.addMember(bobAccount, "writer");
101
+ await group.core.waitForSync();
102
+ const map = group.createMap();
103
+ await loadCoValueOrFail(bob.node, group.id);
104
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
105
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(map.core);
106
+ const first = mapOnBob.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
107
+ expect(first).toBeUndefined();
108
+ expect(mapOnBob.core.isDeleted).toBe(true);
109
+ expect(mapOnBob.core.verified?.sessions.get(deleteSessionID)?.transactions).toHaveLength(1);
110
+ const second = mapOnBob.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
111
+ expect(second).toMatchObject({
112
+ type: "DeleteTransactionRejected",
113
+ reason: "InvalidDeleteTransaction",
114
+ });
115
+ expect(second && "error" in second).toBe(true);
116
+ const secondErr = second.error;
117
+ expect(secondErr).toBeInstanceOf(Error);
118
+ if (secondErr instanceof Error) {
119
+ expect(secondErr.message).toMatch(/Delete transaction must be the only transaction in the session/);
120
+ }
121
+ expect(mapOnBob.core.verified?.sessions.get(deleteSessionID)?.transactions).toHaveLength(1);
122
+ });
123
+ test("rejects delete session ingestion when attempting to add multiple delete transactions", async () => {
124
+ const alice = await setupTestAccount({ connected: true });
125
+ const bob = await setupTestAccount({ connected: true });
126
+ await loadCoValueOrFail(alice.node, bob.accountID);
127
+ await loadCoValueOrFail(bob.node, alice.accountID);
128
+ const group = alice.node.createGroup();
129
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
130
+ group.addMember(bobAccount, "writer");
131
+ await group.core.waitForSync();
132
+ const map = group.createMap();
133
+ await loadCoValueOrFail(bob.node, group.id);
134
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
135
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(map.core);
136
+ const first = mapOnBob.core.tryAddTransactions(deleteSessionID, [tx, tx], signature, false);
137
+ expect(first).toMatchObject({
138
+ type: "DeleteTransactionRejected",
139
+ reason: "InvalidDeleteTransaction",
140
+ });
141
+ expect(first && "error" in first).toBe(true);
142
+ const err = first.error;
143
+ expect(err).toBeInstanceOf(Error);
144
+ if (err instanceof Error) {
145
+ expect(err.message).toMatch(/Delete transaction must be the only transaction in the session/);
146
+ }
147
+ expect(mapOnBob.core.verified?.sessions.get(deleteSessionID)).toBeUndefined();
148
+ });
149
+ test("skipVerify=true ingestion marks deleted even for non-admin delete marker", async () => {
150
+ const alice = await setupTestAccount({ connected: true });
151
+ const bob = await setupTestAccount({ connected: true });
152
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
153
+ await loadCoValueOrFail(bob.node, alice.accountID);
154
+ const group = alice.node.createGroup();
155
+ group.addMember(bobAccount, "writer");
156
+ await group.core.waitForSync();
157
+ const map = group.createMap();
158
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
159
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(mapOnBob.core);
160
+ const error = map.core.tryAddTransactions(deleteSessionID, [tx], signature, true);
161
+ expect(error).toBeUndefined();
162
+ expect(map.core.isDeleted).toBe(true);
163
+ });
164
+ test("rejects delete marker ingestion when tx.madeAt predates admin rights (time travel permission check)", async () => {
165
+ const alice = await setupTestAccount({ connected: true });
166
+ const bob = await setupTestAccount({ connected: true });
167
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
168
+ await loadCoValueOrFail(bob.node, alice.accountID);
169
+ const group = alice.node.createGroup();
170
+ group.addMember(bobAccount, "writer");
171
+ await group.core.waitForSync();
172
+ const map = group.createMap();
173
+ const mapOnBob = await loadCoValueOrFail(bob.node, map.id);
174
+ // Ensure Bob is still a writer at tx creation time
175
+ await waitFor(() => {
176
+ expect(mapOnBob.core.safeGetGroup()?.myRole()).toBe("writer");
177
+ });
178
+ await new Promise((resolve) => setTimeout(resolve, 10));
179
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(mapOnBob.core);
180
+ // Later, Bob gets admin rights...
181
+ await new Promise((resolve) => setTimeout(resolve, 10));
182
+ group.addMember(bobAccount, "admin");
183
+ await group.core.waitForSync();
184
+ // ...but ingestion should still validate permissions at tx.madeAt (writer), not "now" (admin).
185
+ expect(group.roleOf(bob.accountID)).toBe("admin");
186
+ const error = map.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
187
+ expect(error).toMatchObject({
188
+ type: "DeleteTransactionRejected",
189
+ reason: "NotAdmin",
190
+ });
191
+ expect(map.core.isDeleted).toBe(false);
192
+ });
193
+ test("rejects delete marker ingestion for non-owned covalue when verifying (skipVerify=false)", () => {
194
+ const node = nodeWithRandomAgentAndSessionID();
195
+ const coValue = node.createCoValue({
196
+ type: "costream",
197
+ ruleset: { type: "unsafeAllowAll" },
198
+ meta: null,
199
+ ...Crypto.createdNowUnique(),
200
+ });
201
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(coValue);
202
+ node.internalDeleteCoValue(coValue.id);
203
+ node.syncManager.handleNewContent({
204
+ action: "content",
205
+ id: coValue.id,
206
+ header: coValue.verified.header,
207
+ priority: CO_VALUE_PRIORITY.LOW,
208
+ new: {},
209
+ }, "import");
210
+ const newEntry = node.getCoValue(coValue.id);
211
+ const error = newEntry.tryAddTransactions(deleteSessionID, [tx], signature, false);
212
+ expect(error).toMatchObject({
213
+ type: "DeleteTransactionRejected",
214
+ reason: "CannotVerifyPermissions",
215
+ });
216
+ expect(newEntry.isDeleted).toBe(false);
217
+ });
218
+ test("deleted coValues return only the deleted session/transaction on the knownState", async () => {
219
+ const client = setupTestNode({
220
+ connected: true,
221
+ });
222
+ const group = client.node.createGroup();
223
+ const map = group.createMap();
224
+ map.set("hello", "world", "trusting");
225
+ map.core.deleteCoValue();
226
+ const knownState = map.core.knownState();
227
+ expect(Object.keys(knownState.sessions).every((sessionID) => isDeleteSessionID(sessionID))).toBe(true);
228
+ expect(Object.keys(knownState.sessions)).toHaveLength(1);
229
+ });
230
+ test("deleted coValues return only the deleted session/transaction on the knownStateWithStreaming", async () => {
231
+ const streamingClient = setupTestNode();
232
+ const client = await setupTestAccount({ connected: true });
233
+ const group = streamingClient.node.createGroup();
234
+ group.addMemberInternal(client.account, "admin");
235
+ // Import the group content into the client
236
+ importContentIntoNode(group.core, client.node);
237
+ const map = group.createMap();
238
+ fillCoMapWithLargeData(map);
239
+ // Import only partially the map content into the client, to keep it in streaming state
240
+ importContentIntoNode(map.core, client.node, 1);
241
+ const mapOnClient = await loadCoValueOrFail(client.node, map.id);
242
+ expect(mapOnClient.core.isStreaming()).toBe(true);
243
+ mapOnClient.core.deleteCoValue();
244
+ const streamingSessions = mapOnClient.core.knownStateWithStreaming().sessions;
245
+ expect(Object.keys(streamingSessions).every((sessionID) => isDeleteSessionID(sessionID))).toBe(true);
246
+ expect(Object.keys(streamingSessions)).toHaveLength(1);
247
+ });
248
+ test("waitForSync should wait only for the delete session/transaction", async () => {
249
+ const client = setupTestNode({
250
+ connected: true,
251
+ });
252
+ const group = client.node.createGroup();
253
+ const map = group.createMap();
254
+ map.set("hello", "world", "trusting");
255
+ map.core.deleteCoValue();
256
+ await map.core.waitForSync();
257
+ expect(jazzCloud.node.expectCoValueLoaded(map.id).isDeleted).toBe(true);
258
+ });
259
+ test("waitForSync should wait only for the delete session/transaction even if the coValue loading was in streaming", async () => {
260
+ const streamingClient = setupTestNode();
261
+ const client = await setupTestAccount({ connected: true });
262
+ const group = streamingClient.node.createGroup();
263
+ group.addMemberInternal(client.account, "admin");
264
+ // Import the group content into the client
265
+ importContentIntoNode(group.core, client.node);
266
+ const map = group.createMap();
267
+ fillCoMapWithLargeData(map);
268
+ // Import only partially the map content into the client, to keep it in streaming state
269
+ importContentIntoNode(map.core, client.node, 1);
270
+ const mapOnClient = await loadCoValueOrFail(client.node, map.id);
271
+ expect(mapOnClient.core.isStreaming()).toBe(true);
272
+ mapOnClient.core.deleteCoValue();
273
+ await mapOnClient.core.waitForSync();
274
+ const mapOnSyncServer = jazzCloud.node.expectCoValueLoaded(map.id);
275
+ expect(Object.keys(mapOnSyncServer.knownState().sessions).every((sessionID) => isDeleteSessionID(sessionID))).toBe(true);
276
+ expect(jazzCloud.node.expectCoValueLoaded(map.id).isDeleted).toBe(true);
277
+ });
278
+ test("rejects delete transaction with mismatched coValueId", async () => {
279
+ const alice = await setupTestAccount({ connected: true });
280
+ const bob = await setupTestAccount({ connected: true });
281
+ await loadCoValueOrFail(alice.node, bob.accountID);
282
+ await loadCoValueOrFail(bob.node, alice.accountID);
283
+ const group = alice.node.createGroup();
284
+ const bobAccount = await loadCoValueOrFail(alice.node, bob.accountID);
285
+ group.addMember(bobAccount, "admin");
286
+ await group.core.waitForSync();
287
+ // Create two maps owned by the same group
288
+ const mapA = group.createMap();
289
+ const mapB = group.createMap();
290
+ await loadCoValueOrFail(bob.node, group.id);
291
+ const mapAOnBob = await loadCoValueOrFail(bob.node, mapA.id);
292
+ const mapBOnBob = await loadCoValueOrFail(bob.node, mapB.id);
293
+ // Create a delete transaction for mapA
294
+ const { tx, signature, deleteSessionID } = makeDeleteMarkerTransaction(mapA.core);
295
+ // Try to apply mapA's delete transaction to mapB - should be rejected due to ID mismatch
296
+ const error = mapBOnBob.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
297
+ expect(error).toMatchObject({
298
+ type: "DeleteTransactionRejected",
299
+ reason: "InvalidDeleteTransaction",
300
+ });
301
+ expect(error && "error" in error).toBe(true);
302
+ const err = error.error;
303
+ expect(err).toBeInstanceOf(Error);
304
+ if (err instanceof Error) {
305
+ expect(err.message).toMatch(/Delete transaction ID mismatch/);
306
+ }
307
+ expect(mapBOnBob.core.isDeleted).toBe(false);
308
+ // Verify mapA's delete transaction can still be applied correctly to mapA
309
+ const successError = mapAOnBob.core.tryAddTransactions(deleteSessionID, [tx], signature, false);
310
+ expect(successError).toBeUndefined();
311
+ expect(mapAOnBob.core.isDeleted).toBe(true);
312
+ });
313
+ //# sourceMappingURL=deleteCoValue.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deleteCoValue.test.js","sourceRoot":"","sources":["../../src/tests/deleteCoValue.test.ts"],"names":[],"mappings":"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"}
@@ -101,31 +101,21 @@ describe("Group.removeMember", () => {
101
101
  group.addMember(await loadCoValueOrFail(admin.node, writeOnly.accountID), "writeOnly");
102
102
  group.addMember(await loadCoValueOrFail(admin.node, client.accountID), member);
103
103
  const loadedGroup = await loadCoValueOrFail(client.node, group.id);
104
- // expect(async () => {
105
- loadedGroup.removeMember(await loadCoValueOrFail(client.node, reader.accountID));
106
- // }).rejects.toThrow(
107
- // `Failed to revoke role to ${reader.accountID} (role of current account is ${member})`,
108
- // );
109
- // expect(async () => {
110
- loadedGroup.removeMember(await loadCoValueOrFail(client.node, writeOnly.accountID));
111
- // }).rejects.toThrow(
112
- // `Failed to revoke role to ${writeOnly.accountID} (role of current account is ${member})`,
113
- // );
114
- // expect(async () => {
115
- loadedGroup.removeMember(await loadCoValueOrFail(client.node, writer.accountID));
116
- // }).rejects.toThrow(
117
- // `Failed to revoke role to ${writer.accountID} (role of current account is ${member})`,
118
- // );
119
- // expect(async () => {
120
- loadedGroup.removeMember(await loadCoValueOrFail(client.node, admin.accountID));
121
- // }).rejects.toThrow(
122
- // `Failed to revoke role to ${admin.accountID} (role of current account is ${member})`,
123
- // );
124
- // expect(async () => {
125
- loadedGroup.removeMember(await loadCoValueOrFail(client.node, manager.accountID));
126
- // }).rejects.toThrow(
127
- // `Failed to revoke role to ${manager.accountID} (role of current account is ${member})`,
128
- // );
104
+ expect(async () => {
105
+ loadedGroup.removeMember(await loadCoValueOrFail(client.node, reader.accountID));
106
+ }).rejects.toThrow(`Failed to revoke role to ${reader.accountID} (role of current account is ${member})`);
107
+ expect(async () => {
108
+ loadedGroup.removeMember(await loadCoValueOrFail(client.node, writeOnly.accountID));
109
+ }).rejects.toThrow(`Failed to revoke role to ${writeOnly.accountID} (role of current account is ${member})`);
110
+ expect(async () => {
111
+ loadedGroup.removeMember(await loadCoValueOrFail(client.node, writer.accountID));
112
+ }).rejects.toThrow(`Failed to revoke role to ${writer.accountID} (role of current account is ${member})`);
113
+ expect(async () => {
114
+ loadedGroup.removeMember(await loadCoValueOrFail(client.node, admin.accountID));
115
+ }).rejects.toThrow(`Failed to revoke role to ${admin.accountID} (role of current account is ${member})`);
116
+ expect(async () => {
117
+ loadedGroup.removeMember(await loadCoValueOrFail(client.node, manager.accountID));
118
+ }).rejects.toThrow(`Failed to revoke role to ${manager.accountID} (role of current account is ${member})`);
129
119
  expect(loadedGroup.roleOf(reader.accountID)).toEqual("reader");
130
120
  expect(loadedGroup.roleOf(writer.accountID)).toEqual("writer");
131
121
  expect(loadedGroup.roleOf(writeOnly.accountID)).toEqual("writeOnly");
@@ -150,11 +140,9 @@ describe("Group.removeMember", () => {
150
140
  group.addMember(await loadCoValueOrFail(admin.node, client.accountID), "admin");
151
141
  const loadedGroup = await loadCoValueOrFail(client.node, group.id);
152
142
  const adminOnClientNode = await loadCoValueOrFail(client.node, admin.accountID);
153
- // expect(() => {
154
- loadedGroup.removeMember(adminOnClientNode);
155
- // }).toThrow(
156
- // `Failed to revoke role to ${admin.accountID} (role of current account is admin)`,
157
- // );
143
+ expect(() => {
144
+ loadedGroup.removeMember(adminOnClientNode);
145
+ }).toThrow(`Failed to revoke role to ${admin.accountID} (role of current account is admin)`);
158
146
  expect(loadedGroup.roleOf(admin.accountID)).toEqual("admin");
159
147
  await loadedGroup.core.waitForSync();
160
148
  expect((await loadCoValueOrFail(admin.node, group.id)).myRole()).toEqual("admin");
@@ -1 +1 @@
1
- {"version":3,"file":"group.removeMember.test.js","sourceRoot":"","sources":["../../src/tests/group.removeMember.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"group.removeMember.test.js","sourceRoot":"","sources":["../../src/tests/group.removeMember.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,eAAe,EAGf,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,OAAO,GACR,MAAM,gBAAgB,CAAC;AAGxB,2BAA2B,CAAC,EAAE,CAAC,CAAC;AAEhC,IAAI,SAA2C,CAAC;AAEhD,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,eAAe,CAAC,KAAK,EAAE,CAAC;IACxB,SAAS,GAAG,aAAa,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,KAAK,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEtC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAC9C,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC5C,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAErC,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAEzC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qHAAqH,EAAE,KAAK,IAAI,EAAE;QACrI,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,WAAW,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAE1B,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAC9C,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,KAAK,CAAC,SAAS,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC5C,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAErC,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAC9B,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAExB,MAAM,gBAAgB,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,KAAK,MAAM,MAAM,IAAI;QACnB,QAAQ;QACR,QAAQ;QACR,WAAW;QACX,SAAS;QACT,OAAO;KACC,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,MAAM,6CAA6C,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;gBACxC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5C,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAC1D,MAAM,CACP,CAAC;YAEF,MAAM,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAE/B,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YACnE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE7C,WAAW,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;YAEnE,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEhD,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,GAAG,EAAE;gBACjB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAU,EAAE,CAAC;QAChE,IAAI,CAAC,GAAG,MAAM,sCAAsC,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;gBACnC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;gBACrC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC;gBACvC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,EACtD,SAAS,CACV,CAAC;YACF,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EACrD,QAAQ,CACT,CAAC;YACF,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EACrD,QAAQ,CACT,CAAC;YACF,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,EACxD,WAAW,CACZ,CAAC;YACF,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EACrD,MAAM,CACP,CAAC;YAEF,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAEnE,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,WAAW,CAAC,YAAY,CACtB,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CACvD,CAAC;YACJ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChB,4BAA4B,MAAM,CAAC,SAAS,gCAAgC,MAAM,GAAG,CACtF,CAAC;YAEF,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,WAAW,CAAC,YAAY,CACtB,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,CAC1D,CAAC;YACJ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChB,4BAA4B,SAAS,CAAC,SAAS,gCAAgC,MAAM,GAAG,CACzF,CAAC;YAEF,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,WAAW,CAAC,YAAY,CACtB,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CACvD,CAAC;YACJ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChB,4BAA4B,MAAM,CAAC,SAAS,gCAAgC,MAAM,GAAG,CACtF,CAAC;YAEF,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,WAAW,CAAC,YAAY,CACtB,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CACtD,CAAC;YACJ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChB,4BAA4B,KAAK,CAAC,SAAS,gCAAgC,MAAM,GAAG,CACrF,CAAC;YAEF,MAAM,CAAC,KAAK,IAAI,EAAE;gBAChB,WAAW,CAAC,YAAY,CACtB,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,CACxD,CAAC;YACJ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAChB,4BAA4B,OAAO,CAAC,SAAS,gCAAgC,MAAM,GAAG,CACvF,CAAC;YACF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC7D,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAEjE,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAErC,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACvE,QAAQ,CACT,CAAC;YACF,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACvE,QAAQ,CACT,CAAC;YACF,MAAM,CACJ,CAAC,MAAM,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAC7D,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACvB,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACtE,OAAO,CACR,CAAC;YACF,MAAM,CACJ,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAC3D,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EACrD,OAAO,CACR,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACnE,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAC/C,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,MAAM,CAAC,GAAG,EAAE;YACV,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC,OAAO,CACR,4BAA4B,KAAK,CAAC,SAAS,qCAAqC,CACjF,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE7D,MAAM,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAErC,MAAM,CAAC,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CACtE,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,6BAA6B;QAC7B,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,EACpD,SAAS,CACV,CAAC;QACF,KAAK,CAAC,SAAS,CACb,MAAM,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EACrD,SAAS,CACV,CAAC;QAEF,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnE,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAC/C,MAAM,CAAC,IAAI,EACX,KAAK,CAAC,SAAS,CAChB,CAAC;QAEF,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAE5C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;QAC5F,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC;YACnC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;YACxC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC;YACpC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,MAAM,qBAAqB,GAAG,MAAM,iBAAiB,CACnD,KAAK,CAAC,IAAI,EACV,UAAU,CAAC,SAAS,CACrB,CAAC;QAEF,MAAM,iBAAiB,GAAG,MAAM,iBAAiB,CAC/C,KAAK,CAAC,IAAI,EACV,MAAM,CAAC,SAAS,CACjB,CAAC;QAEF,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,UAAU,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACrD,UAAU,CAAC,SAAS,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC;QAElD,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEzB,MAAM,sBAAsB,GAAG,MAAM,iBAAiB,CACpD,UAAU,CAAC,IAAI,EACf,MAAM,CAAC,SAAS,CACjB,CAAC;QAEF,MAAM,0BAA0B,GAAG,MAAM,iBAAiB,CACxD,UAAU,CAAC,IAAI,EACf,UAAU,CAAC,EAAE,CACd,CAAC;QAEF,MAAM,0BAA0B,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;QAEtE,MAAM,CAAC,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CACjE,SAAS,CACV,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -3,6 +3,9 @@ import { peerHasAllContent } from "../knownState";
3
3
  import { createTestNode, createUnloadedCoValue } from "./testUtils";
4
4
  function createMockStorage(opts = {}) {
5
5
  return {
6
+ markDeleteAsValid: opts.markDeleteAsValid || vi.fn(),
7
+ enableDeletedCoValuesErasure: opts.enableDeletedCoValuesErasure || vi.fn(),
8
+ eraseAllDeletedCoValues: opts.eraseAllDeletedCoValues || vi.fn(),
6
9
  load: opts.load || vi.fn(),
7
10
  store: opts.store || vi.fn(),
8
11
  getKnownState: opts.getKnownState || vi.fn(),
@@ -11,6 +14,7 @@ function createMockStorage(opts = {}) {
11
14
  trackCoValuesSyncState: opts.trackCoValuesSyncState || vi.fn(),
12
15
  getUnsyncedCoValueIDs: opts.getUnsyncedCoValueIDs || vi.fn(),
13
16
  stopTrackingSyncState: opts.stopTrackingSyncState || vi.fn(),
17
+ onCoValueUnmounted: opts.onCoValueUnmounted || vi.fn(),
14
18
  close: opts.close || vi.fn().mockResolvedValue(undefined),
15
19
  };
16
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"knownState.lazyLoading.test.js","sourceRoot":"","sources":["../../src/tests/knownState.lazyLoading.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knownState.lazyLoading.test.js","sourceRoot":"","sources":["../../src/tests/knownState.lazyLoading.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sync.deleted.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.deleted.test.d.ts","sourceRoot":"","sources":["../../src/tests/sync.deleted.test.ts"],"names":[],"mappings":""}