cojson 0.7.0-alpha.7 → 0.7.9

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 (114) hide show
  1. package/.eslintrc.cjs +3 -2
  2. package/.prettierrc.js +9 -0
  3. package/.turbo/turbo-build.log +3 -30
  4. package/.turbo/turbo-lint.log +4 -0
  5. package/.turbo/turbo-test.log +1106 -0
  6. package/CHANGELOG.md +118 -14
  7. package/LICENSE.txt +1 -1
  8. package/README.md +3 -1
  9. package/dist/base64url.test.js +25 -0
  10. package/dist/base64url.test.js.map +1 -0
  11. package/dist/coValueCore.js +60 -37
  12. package/dist/coValueCore.js.map +1 -1
  13. package/dist/coValues/account.js +20 -15
  14. package/dist/coValues/account.js.map +1 -1
  15. package/dist/coValues/coList.js +1 -1
  16. package/dist/coValues/coList.js.map +1 -1
  17. package/dist/coValues/coMap.js +17 -8
  18. package/dist/coValues/coMap.js.map +1 -1
  19. package/dist/coValues/group.js +13 -14
  20. package/dist/coValues/group.js.map +1 -1
  21. package/dist/coreToCoValue.js.map +1 -1
  22. package/dist/crypto/PureJSCrypto.js +89 -0
  23. package/dist/crypto/PureJSCrypto.js.map +1 -0
  24. package/dist/crypto/WasmCrypto.js +127 -0
  25. package/dist/crypto/WasmCrypto.js.map +1 -0
  26. package/dist/crypto/crypto.js +151 -0
  27. package/dist/crypto/crypto.js.map +1 -0
  28. package/dist/ids.js +4 -2
  29. package/dist/ids.js.map +1 -1
  30. package/dist/index.js +6 -8
  31. package/dist/index.js.map +1 -1
  32. package/dist/jsonStringify.js.map +1 -1
  33. package/dist/localNode.js +41 -38
  34. package/dist/localNode.js.map +1 -1
  35. package/dist/permissions.js +6 -6
  36. package/dist/permissions.js.map +1 -1
  37. package/dist/storage/FileSystem.js +61 -0
  38. package/dist/storage/FileSystem.js.map +1 -0
  39. package/dist/storage/chunksAndKnownStates.js +97 -0
  40. package/dist/storage/chunksAndKnownStates.js.map +1 -0
  41. package/dist/storage/index.js +265 -0
  42. package/dist/storage/index.js.map +1 -0
  43. package/dist/sync.js +29 -25
  44. package/dist/sync.js.map +1 -1
  45. package/dist/tests/account.test.js +58 -0
  46. package/dist/tests/account.test.js.map +1 -0
  47. package/dist/tests/coList.test.js +76 -0
  48. package/dist/tests/coList.test.js.map +1 -0
  49. package/dist/tests/coMap.test.js +136 -0
  50. package/dist/tests/coMap.test.js.map +1 -0
  51. package/dist/tests/coStream.test.js +172 -0
  52. package/dist/tests/coStream.test.js.map +1 -0
  53. package/dist/tests/coValueCore.test.js +114 -0
  54. package/dist/tests/coValueCore.test.js.map +1 -0
  55. package/dist/tests/crypto.test.js +118 -0
  56. package/dist/tests/crypto.test.js.map +1 -0
  57. package/dist/tests/cryptoImpl.test.js +113 -0
  58. package/dist/tests/cryptoImpl.test.js.map +1 -0
  59. package/dist/tests/group.test.js +34 -0
  60. package/dist/tests/group.test.js.map +1 -0
  61. package/dist/tests/permissions.test.js +1060 -0
  62. package/dist/tests/permissions.test.js.map +1 -0
  63. package/dist/tests/sync.test.js +816 -0
  64. package/dist/tests/sync.test.js.map +1 -0
  65. package/dist/tests/testUtils.js +12 -11
  66. package/dist/tests/testUtils.js.map +1 -1
  67. package/dist/typeUtils/accountOrAgentIDfromSessionID.js.map +1 -1
  68. package/dist/typeUtils/isAccountID.js.map +1 -1
  69. package/dist/typeUtils/isCoValue.js.map +1 -1
  70. package/package.json +14 -27
  71. package/src/base64url.test.ts +6 -5
  72. package/src/coValue.ts +1 -1
  73. package/src/coValueCore.ts +179 -126
  74. package/src/coValues/account.ts +37 -32
  75. package/src/coValues/coList.ts +11 -11
  76. package/src/coValues/coMap.ts +27 -17
  77. package/src/coValues/coStream.ts +17 -17
  78. package/src/coValues/group.ts +93 -109
  79. package/src/coreToCoValue.ts +5 -2
  80. package/src/crypto/PureJSCrypto.ts +200 -0
  81. package/src/crypto/WasmCrypto.ts +259 -0
  82. package/src/crypto/crypto.ts +336 -0
  83. package/src/ids.ts +8 -7
  84. package/src/index.ts +24 -24
  85. package/src/jsonStringify.ts +6 -4
  86. package/src/jsonValue.ts +2 -2
  87. package/src/localNode.ts +103 -109
  88. package/src/media.ts +3 -3
  89. package/src/permissions.ts +19 -21
  90. package/src/storage/FileSystem.ts +152 -0
  91. package/src/storage/chunksAndKnownStates.ts +139 -0
  92. package/src/storage/index.ts +479 -0
  93. package/src/streamUtils.ts +12 -12
  94. package/src/sync.ts +79 -63
  95. package/src/tests/account.test.ts +15 -15
  96. package/src/tests/coList.test.ts +94 -0
  97. package/src/tests/coMap.test.ts +162 -0
  98. package/src/tests/coStream.test.ts +246 -0
  99. package/src/tests/coValueCore.test.ts +36 -37
  100. package/src/tests/crypto.test.ts +66 -72
  101. package/src/tests/cryptoImpl.test.ts +183 -0
  102. package/src/tests/group.test.ts +16 -17
  103. package/src/tests/permissions.test.ts +269 -283
  104. package/src/tests/sync.test.ts +122 -123
  105. package/src/tests/testUtils.ts +24 -21
  106. package/src/typeUtils/accountOrAgentIDfromSessionID.ts +1 -2
  107. package/src/typeUtils/expectGroup.ts +1 -1
  108. package/src/typeUtils/isAccountID.ts +0 -1
  109. package/src/typeUtils/isCoValue.ts +1 -2
  110. package/tsconfig.json +0 -1
  111. package/dist/crypto.js +0 -254
  112. package/dist/crypto.js.map +0 -1
  113. package/src/crypto.ts +0 -484
  114. package/src/tests/coValue.test.ts +0 -497
@@ -0,0 +1,1106 @@
1
+
2
+ > cojson@0.7.0 test /Users/anselm/jazz/jazz/packages/cojson
3
+ > vitest --run
4
+
5
+
6
+ RUN v0.34.6 /Users/anselm/jazz/jazz/packages/cojson
7
+
8
+ ✓ src/base64url.test.ts (1 test) 2ms
9
+ stderr | src/tests/crypto.test.ts > Encryption for transactions doesn't decrypt with a wrong key
10
+ Decryption error SyntaxError: Unexpected token 'm', "m�e�rC�@ f" is not valid JSON
11
+ at JSON.parse (<anonymous>)
12
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
13
+ at WasmCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
14
+ at WasmCrypto.decryptForTransaction (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:185:21)
15
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/crypto.test.ts:141:31
16
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
17
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
18
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
19
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
20
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
21
+ Decryption error SyntaxError: Unexpected token '�', "��,:���iZ��5" is not valid JSON
22
+ at JSON.parse (<anonymous>)
23
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
24
+ at WasmCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
25
+ at WasmCrypto.decryptForTransaction (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:185:21)
26
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/crypto.test.ts:146:31
27
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
28
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
29
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
30
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
31
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
32
+
33
+ ✓ src/tests/crypto.test.ts (8 tests) 26ms
34
+ stderr | src/tests/crypto.test.ts > Encryption of keySecrets doesn't decrypt with a wrong key
35
+ Decryption error SyntaxError: Unexpected token '', "v�P��� Ȍ"... is not valid JSON
36
+ at JSON.parse (<anonymous>)
37
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
38
+ at WasmCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
39
+ at WasmCrypto.decryptKeySecret (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:231:21)
40
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/crypto.test.ts:182:30
41
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
42
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
43
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
44
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
45
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
46
+
47
+ stderr | src/tests/coValueCore.test.ts > transactions with wrong signature are rejected
48
+ Invalid signature in co_zbieQjkZbgWYi3kL7H5XK2a946e signature_z2jB4KwyJgbqnrXpUNfVSBKVGPYbTYVGaC5tNtJiTxeE3w7EoUs2bVp4k7vMkd8QYmdbq5DTfPMGb8qiLhZBtHPut hash_zBFzghuWAh3m3fSLabkeoq45dLSiZJyJWG8xJXimdjr3L signer_zCsSTGWEvU18s6cVjWsM7zS83Jf2LhtUAiJ4B799m4BG3
49
+
50
+ stderr | src/tests/coValueCore.test.ts > transactions with correctly signed, but wrong hash are rejected
51
+ Invalid hash {
52
+ expectedNewHash: 'hash_z4YGWSKE8QcioFcnhuF8rpvLcZSYLrycSRz5s5Qx2134A',
53
+ givenExpectedNewHash: 'hash_z4mraVzVUhvtYsNU4MD9EpuaWguN5ofiEZHmVnXrGcBQL'
54
+ }
55
+
56
+ stderr | src/tests/cryptoImpl.test.ts > Crypto 'Wasm' > encrypt and decrypt
57
+ Decryption error SyntaxError: Unexpected token '�', "��w�hh� 곞K\" is not valid JSON
58
+ at JSON.parse (<anonymous>)
59
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
60
+ at WasmCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
61
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/cryptoImpl.test.ts:116:18
62
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
63
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
64
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
65
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
66
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
67
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
68
+ Decryption error SyntaxError: Unexpected token '�', "�A#mUȲ�@w�X " is not valid JSON
69
+ at JSON.parse (<anonymous>)
70
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
71
+ at WasmCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
72
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/cryptoImpl.test.ts:120:18
73
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
74
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
75
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
76
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
77
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
78
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
79
+
80
+ stderr | src/tests/cryptoImpl.test.ts > Crypto 'PureJS' > encrypt and decrypt
81
+ Decryption error SyntaxError: Unexpected token '�', "��w�hh� 곞K\" is not valid JSON
82
+ at JSON.parse (<anonymous>)
83
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
84
+ at PureJSCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
85
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/cryptoImpl.test.ts:116:18
86
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
87
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
88
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
89
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
90
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
91
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
92
+ Decryption error SyntaxError: Unexpected token '�', "�A#mUȲ�@w�X " is not valid JSON
93
+ at JSON.parse (<anonymous>)
94
+ at Module.parseJSON (/Users/anselm/jazz/jazz/packages/cojson/src/jsonStringify.ts:67:17)
95
+ at PureJSCrypto.decrypt (/Users/anselm/jazz/jazz/packages/cojson/src/crypto/crypto.ts:156:20)
96
+ at /Users/anselm/jazz/jazz/packages/cojson/src/tests/cryptoImpl.test.ts:120:18
97
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:135:14
98
+ at file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:58:26
99
+ at runTest (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:663:17)
100
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
101
+ at runSuite (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:782:15)
102
+ at runFiles (file:///Users/anselm/jazz/jazz/node_modules/.pnpm/@vitest+runner@0.34.6/node_modules/@vitest/runner/dist/index.js:834:5)
103
+
104
+ ✓ src/tests/cryptoImpl.test.ts (22 tests) 76ms
105
+ ✓ src/tests/coValueCore.test.ts (4 tests) 35ms
106
+ stdout | src/tests/sync.test.ts > No matter the optimistic known state, node respects invalid known state messages and resyncs
107
+ Sending correction
108
+
109
+ stdout | src/tests/account.test.ts > Can create account with one node, and then load it on another
110
+ node2 -> node1 {
111
+ "action": "load",
112
+ "id": "co_ziFQkUjgzNBuVGerNoKYrPu2uS4",
113
+ "header": false,
114
+ "sessions": {}
115
+ }
116
+ node1 -> node2 {
117
+ "action": "known",
118
+ "id": "co_ziFQkUjgzNBuVGerNoKYrPu2uS4",
119
+ "header": true,
120
+ "sessions": {
121
+ "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2_session_zHktEXtj65dp": 3,
122
+ "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2_session_zAiR5Q7uoemv": 1
123
+ }
124
+ }
125
+ node1 -> node2 {
126
+ "action": "content",
127
+ "id": "co_ziFQkUjgzNBuVGerNoKYrPu2uS4",
128
+ "header": {
129
+ "type": "comap",
130
+ "ruleset": {
131
+ "type": "group",
132
+ "initialAdmin": "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2"
133
+ },
134
+ "meta": {
135
+ "type": "account"
136
+ },
137
+ "createdAt": null,
138
+ "uniqueness": null
139
+ },
140
+ "new": {
141
+ "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2_session_zHktEXtj65dp": {
142
+ "after": 0,
143
+ "newTransactions": [
144
+ {
145
+ "privacy": "trusting",
146
+ "madeAt": 1717499144287,
147
+ "changes": "[{\"key\":\"sealer_zET4..."
148
+ },
149
+ {
150
+ "privacy": "trusting",
151
+ "madeAt": 1717499144288,
152
+ "changes": "[{\"key\":\"key_z2caJvj..."
153
+ },
154
+ {
155
+ "privacy": "trusting",
156
+ "madeAt": 1717499144289,
157
+ "changes": "[{\"key\":\"readKey\",\"o..."
158
+ }
159
+ ],
160
+ "lastSignature": "signature_z5TfzK64wF2j55ejF2D3W2XUjyFSrQb9Gm4qVcxfFw7ySq5x1DUZdGN6C2vebkyX5zTBd8NYypPh46JkCd6hFB7GS"
161
+ },
162
+ "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2_session_zAiR5Q7uoemv": {
163
+ "after": 0,
164
+ "newTransactions": [
165
+ {
166
+ "privacy": "trusting",
167
+ "madeAt": 1717499144294,
168
+ "changes": "[{\"key\":\"profile\",\"o..."
169
+ }
170
+ ],
171
+ "lastSignature": "signature_z2aSKiTEfvykwK2zx9E6AQqJP8QEmoqZLWxXMZXVnQutBdNQh9Ai7AG8o3XzyxJQxjx5CQ9m8FyCyGKtCPDk4pews"
172
+ }
173
+ }
174
+ }
175
+ node2 -> node1 {
176
+ "action": "known",
177
+ "id": "co_ziFQkUjgzNBuVGerNoKYrPu2uS4",
178
+ "header": true,
179
+ "sessions": {
180
+ "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2_session_zHktEXtj65dp": 3,
181
+ "sealer_zET4jwW44FMySAYgwYKgpnd1hdW9Lu19o58xRayKwTbeC/signer_zH2sBNpcSvHypfWLgR2B1qVpbdr2sBc7CnMV7BPqFzWQ2_session_zAiR5Q7uoemv": 1
182
+ }
183
+ }
184
+ node2 -> node1 {
185
+ "action": "load",
186
+ "id": "co_zVRffi2DA4CKfrx4Vbo3WD9QVDZ",
187
+ "header": false,
188
+ "sessions": {}
189
+ }
190
+ node1 -> node2 {
191
+ "action": "known",
192
+ "asDependencyOf": "co_zVRffi2DA4CKfrx4Vbo3WD9QVDZ",
193
+ "id": "co_zBJFkUnx4RgEqzvitSPEZQJSEMw",
194
+ "header": true,
195
+ "sessions": {
196
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 5
197
+ }
198
+ }
199
+ node1 -> node2 {
200
+ "action": "known",
201
+ "id": "co_zVRffi2DA4CKfrx4Vbo3WD9QVDZ",
202
+ "header": true,
203
+ "sessions": {
204
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 1
205
+ }
206
+ }
207
+ node1 -> node2 {
208
+ "action": "content",
209
+ "id": "co_zBJFkUnx4RgEqzvitSPEZQJSEMw",
210
+ "header": {
211
+ "type": "comap",
212
+ "ruleset": {
213
+ "type": "group",
214
+ "initialAdmin": "co_ziFQkUjgzNBuVGerNoKYrPu2uS4"
215
+ },
216
+ "meta": null,
217
+ "createdAt": "2024-06-04T11:05:44.290Z",
218
+ "uniqueness": "z5J7zAkkaaSxSLtYTU"
219
+ },
220
+ "new": {
221
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": {
222
+ "after": 0,
223
+ "newTransactions": [
224
+ {
225
+ "privacy": "trusting",
226
+ "madeAt": 1717499144290,
227
+ "changes": "[{\"key\":\"co_ziFQkUjg..."
228
+ },
229
+ {
230
+ "privacy": "trusting",
231
+ "madeAt": 1717499144291,
232
+ "changes": "[{\"key\":\"key_z3dAJL3..."
233
+ },
234
+ {
235
+ "privacy": "trusting",
236
+ "madeAt": 1717499144291,
237
+ "changes": "[{\"key\":\"readKey\",\"o..."
238
+ },
239
+ {
240
+ "privacy": "trusting",
241
+ "madeAt": 1717499144292,
242
+ "changes": "[{\"key\":\"everyone\",\"..."
243
+ },
244
+ {
245
+ "privacy": "trusting",
246
+ "madeAt": 1717499144293,
247
+ "changes": "[{\"key\":\"key_z3dAJL3..."
248
+ }
249
+ ],
250
+ "lastSignature": "signature_zaYt8Ar4Dbb5J25k89ntekFbrSbwCjTk8cZ2xfYSn8gYdu6xw3qwWtyE6SBUgk1dVsd9HJTNjKR5pdKEWv6ej1de"
251
+ }
252
+ }
253
+ }
254
+ node1 -> node2 {
255
+ "action": "content",
256
+ "id": "co_zVRffi2DA4CKfrx4Vbo3WD9QVDZ",
257
+ "header": {
258
+ "type": "comap",
259
+ "ruleset": {
260
+ "type": "ownedByGroup",
261
+ "group": "co_zBJFkUnx4RgEqzvitSPEZQJSEMw"
262
+ },
263
+ "meta": null,
264
+ "createdAt": "2024-06-04T11:05:44.293Z",
265
+ "uniqueness": "z27YMVmc5dZWnXN6KW"
266
+ },
267
+ "new": {
268
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": {
269
+ "after": 0,
270
+ "newTransactions": [
271
+ {
272
+ "privacy": "private",
273
+ "madeAt": 1717499144293,
274
+ "keyUsed": "key_z3dAJL3orkxVHRHSYX",
275
+ "encryptedChanges": "encrypted_U3dvuP_sdI..."
276
+ }
277
+ ],
278
+ "lastSignature": "signature_z54HxxVedNy3dFWAhWzYEYfTdXQQ5pqJNKKK7vAPR8U6pbgV9uD4R1qNBUgAuax1UDEwLt2CB2EmFCxY9poYruwSo"
279
+ }
280
+ }
281
+ }
282
+ node2 -> node1 {
283
+ "action": "known",
284
+ "id": "co_zBJFkUnx4RgEqzvitSPEZQJSEMw",
285
+ "header": true,
286
+ "sessions": {
287
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 5
288
+ }
289
+ }
290
+ node2 -> node1 {
291
+ "action": "load",
292
+ "id": "co_zokL8J38sdxqjPqhEEBBxuUngE5",
293
+ "header": false,
294
+ "sessions": {}
295
+ }
296
+ node2 -> node1 {
297
+ "action": "known",
298
+ "id": "co_zVRffi2DA4CKfrx4Vbo3WD9QVDZ",
299
+ "header": true,
300
+ "sessions": {
301
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 1
302
+ }
303
+ }
304
+ node1 -> node2 {
305
+ "action": "known",
306
+ "asDependencyOf": "co_zokL8J38sdxqjPqhEEBBxuUngE5",
307
+ "id": "co_znPuQBFxhjMUAjC8zBgXk2NG3nK",
308
+ "header": true,
309
+ "sessions": {
310
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 3
311
+ }
312
+ }
313
+ node1 -> node2 {
314
+ "action": "known",
315
+ "id": "co_zokL8J38sdxqjPqhEEBBxuUngE5",
316
+ "header": true,
317
+ "sessions": {
318
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 1
319
+ }
320
+ }
321
+ node1 -> node2 {
322
+ "action": "content",
323
+ "id": "co_znPuQBFxhjMUAjC8zBgXk2NG3nK",
324
+ "header": {
325
+ "type": "comap",
326
+ "ruleset": {
327
+ "type": "group",
328
+ "initialAdmin": "co_ziFQkUjgzNBuVGerNoKYrPu2uS4"
329
+ },
330
+ "meta": null,
331
+ "createdAt": "2024-06-04T11:05:44.295Z",
332
+ "uniqueness": "z4bc1MmAgsCr3hdLft"
333
+ },
334
+ "new": {
335
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": {
336
+ "after": 0,
337
+ "newTransactions": [
338
+ {
339
+ "privacy": "trusting",
340
+ "madeAt": 1717499144295,
341
+ "changes": "[{\"key\":\"co_ziFQkUjg..."
342
+ },
343
+ {
344
+ "privacy": "trusting",
345
+ "madeAt": 1717499144296,
346
+ "changes": "[{\"key\":\"key_zt3jo9h..."
347
+ },
348
+ {
349
+ "privacy": "trusting",
350
+ "madeAt": 1717499144296,
351
+ "changes": "[{\"key\":\"readKey\",\"o..."
352
+ }
353
+ ],
354
+ "lastSignature": "signature_z63udUNWAnS9mRBvxHQWrVRftUFouwwfNbjfi6nr9bbHYNduj9gmXZHyAgbJ3ZBNASZuzD5LrQGhtGdVQ371L8vpY"
355
+ }
356
+ }
357
+ }
358
+ node1 -> node2 {
359
+ "action": "content",
360
+ "id": "co_zokL8J38sdxqjPqhEEBBxuUngE5",
361
+ "header": {
362
+ "type": "comap",
363
+ "ruleset": {
364
+ "type": "ownedByGroup",
365
+ "group": "co_znPuQBFxhjMUAjC8zBgXk2NG3nK"
366
+ },
367
+ "meta": null,
368
+ "createdAt": "2024-06-04T11:05:44.298Z",
369
+ "uniqueness": "zapVYbXjReiVecoW5"
370
+ },
371
+ "new": {
372
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": {
373
+ "after": 0,
374
+ "newTransactions": [
375
+ {
376
+ "privacy": "private",
377
+ "madeAt": 1717499144299,
378
+ "keyUsed": "key_zt3jo9h6BBdSFSXcg",
379
+ "encryptedChanges": "encrypted_UDLzgTWjJX..."
380
+ }
381
+ ],
382
+ "lastSignature": "signature_z42EstSshGw43Wodz5o5L2YK6HQmawYH4Cin41cj7VxpbEKeXhsQDpr6mLsqftcY7qeVmU1qyVemP86As1KevQBh1"
383
+ }
384
+ }
385
+ }
386
+ node2 -> node1 {
387
+ "action": "known",
388
+ "id": "co_znPuQBFxhjMUAjC8zBgXk2NG3nK",
389
+ "header": true,
390
+ "sessions": {
391
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 3
392
+ }
393
+ }
394
+ node2 -> node1 {
395
+ "action": "known",
396
+ "id": "co_zokL8J38sdxqjPqhEEBBxuUngE5",
397
+ "header": true,
398
+ "sessions": {
399
+ "co_ziFQkUjgzNBuVGerNoKYrPu2uS4_session_zAiR5Q7uoemv": 1
400
+ }
401
+ }
402
+
403
+ ✓ src/tests/account.test.ts (3 tests) 107ms
404
+ stdout | src/tests/sync.test.ts > Can sync a coValue through a server to another client
405
+ client1 -> server {
406
+ "action": "load",
407
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
408
+ "header": true,
409
+ "sessions": {
410
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 3
411
+ }
412
+ }
413
+ client2 -> server {
414
+ "action": "load",
415
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
416
+ "header": false,
417
+ "sessions": {}
418
+ }
419
+ client1 -> server {
420
+ "action": "load",
421
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
422
+ "header": true,
423
+ "sessions": {
424
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 1
425
+ }
426
+ }
427
+ client1 -> server {
428
+ "action": "content",
429
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
430
+ "header": {
431
+ "type": "comap",
432
+ "ruleset": {
433
+ "type": "group",
434
+ "initialAdmin": "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9"
435
+ },
436
+ "meta": null,
437
+ "createdAt": "2024-06-04T11:05:44.379Z",
438
+ "uniqueness": "zbqt5MUEKp7BjgUgb"
439
+ },
440
+ "new": {
441
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": {
442
+ "after": 0,
443
+ "newTransactions": [
444
+ {
445
+ "privacy": "trusting",
446
+ "madeAt": 1717499144379,
447
+ "changes": "[{\"key\":\"sealer_z47n..."
448
+ },
449
+ {
450
+ "privacy": "trusting",
451
+ "madeAt": 1717499144380,
452
+ "changes": "[{\"key\":\"key_z2gYFdR..."
453
+ },
454
+ {
455
+ "privacy": "trusting",
456
+ "madeAt": 1717499144381,
457
+ "changes": "[{\"key\":\"readKey\",\"o..."
458
+ }
459
+ ],
460
+ "lastSignature": "signature_z2VFiqk1cDfvQuzEyQoFJX2FrKMB1UHxkhQMLt7QgsKJgrceJie573jvt24c98ZzVytinAoKsscQ59ecY4hDwsgs3"
461
+ }
462
+ }
463
+ }
464
+ client1 -> server {
465
+ "action": "content",
466
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
467
+ "header": {
468
+ "type": "comap",
469
+ "ruleset": {
470
+ "type": "group",
471
+ "initialAdmin": "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9"
472
+ },
473
+ "meta": null,
474
+ "createdAt": "2024-06-04T11:05:44.379Z",
475
+ "uniqueness": "zbqt5MUEKp7BjgUgb"
476
+ },
477
+ "new": {
478
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": {
479
+ "after": 0,
480
+ "newTransactions": [
481
+ {
482
+ "privacy": "trusting",
483
+ "madeAt": 1717499144379,
484
+ "changes": "[{\"key\":\"sealer_z47n..."
485
+ },
486
+ {
487
+ "privacy": "trusting",
488
+ "madeAt": 1717499144380,
489
+ "changes": "[{\"key\":\"key_z2gYFdR..."
490
+ },
491
+ {
492
+ "privacy": "trusting",
493
+ "madeAt": 1717499144381,
494
+ "changes": "[{\"key\":\"readKey\",\"o..."
495
+ }
496
+ ],
497
+ "lastSignature": "signature_z2VFiqk1cDfvQuzEyQoFJX2FrKMB1UHxkhQMLt7QgsKJgrceJie573jvt24c98ZzVytinAoKsscQ59ecY4hDwsgs3"
498
+ }
499
+ }
500
+ }
501
+ client1 -> server {
502
+ "action": "content",
503
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
504
+ "header": {
505
+ "type": "comap",
506
+ "ruleset": {
507
+ "type": "ownedByGroup",
508
+ "group": "co_zmcw7MJcFLwHnP9K5grzbys8H7"
509
+ },
510
+ "meta": null,
511
+ "createdAt": "2024-06-04T11:05:44.381Z",
512
+ "uniqueness": "zmg9KgLWsJG82FfRy"
513
+ },
514
+ "new": {
515
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": {
516
+ "after": 0,
517
+ "newTransactions": [
518
+ {
519
+ "privacy": "trusting",
520
+ "madeAt": 1717499144381,
521
+ "changes": "[{\"key\":\"hello\",\"op\"..."
522
+ }
523
+ ],
524
+ "lastSignature": "signature_z4FaNSjAsot1XLYEHZA8i5UkwBQSeJXAB7gRuc4KchppW7T11V4sEfzyjjjGcFtcnxHNcoo7jTDqXuZax82ob2MGG"
525
+ }
526
+ }
527
+ }
528
+ server -> client1 {
529
+ "action": "known",
530
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
531
+ "header": true,
532
+ "sessions": {
533
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 3
534
+ }
535
+ }
536
+ server -> client1 {
537
+ "action": "known",
538
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
539
+ "header": true,
540
+ "sessions": {
541
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 3
542
+ }
543
+ }
544
+ server -> client2 {
545
+ "action": "known",
546
+ "asDependencyOf": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
547
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
548
+ "header": true,
549
+ "sessions": {
550
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 3
551
+ }
552
+ }
553
+ server -> client1 {
554
+ "action": "known",
555
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
556
+ "header": true,
557
+ "sessions": {
558
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 3
559
+ }
560
+ }
561
+ server -> client1 {
562
+ "action": "known",
563
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
564
+ "header": true,
565
+ "sessions": {
566
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 1
567
+ }
568
+ }
569
+ server -> client2 {
570
+ "action": "known",
571
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
572
+ "header": true,
573
+ "sessions": {
574
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 1
575
+ }
576
+ }
577
+ server -> client1 {
578
+ "action": "known",
579
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
580
+ "header": true,
581
+ "sessions": {
582
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 1
583
+ }
584
+ }
585
+ server -> client2 {
586
+ "action": "content",
587
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
588
+ "header": {
589
+ "type": "comap",
590
+ "ruleset": {
591
+ "type": "group",
592
+ "initialAdmin": "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9"
593
+ },
594
+ "meta": null,
595
+ "createdAt": "2024-06-04T11:05:44.379Z",
596
+ "uniqueness": "zbqt5MUEKp7BjgUgb"
597
+ },
598
+ "new": {
599
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": {
600
+ "after": 0,
601
+ "newTransactions": [
602
+ {
603
+ "privacy": "trusting",
604
+ "madeAt": 1717499144379,
605
+ "changes": "[{\"key\":\"sealer_z47n..."
606
+ },
607
+ {
608
+ "privacy": "trusting",
609
+ "madeAt": 1717499144380,
610
+ "changes": "[{\"key\":\"key_z2gYFdR..."
611
+ },
612
+ {
613
+ "privacy": "trusting",
614
+ "madeAt": 1717499144381,
615
+ "changes": "[{\"key\":\"readKey\",\"o..."
616
+ }
617
+ ],
618
+ "lastSignature": "signature_z2VFiqk1cDfvQuzEyQoFJX2FrKMB1UHxkhQMLt7QgsKJgrceJie573jvt24c98ZzVytinAoKsscQ59ecY4hDwsgs3"
619
+ }
620
+ }
621
+ }
622
+ server -> client2 {
623
+ "action": "content",
624
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
625
+ "header": {
626
+ "type": "comap",
627
+ "ruleset": {
628
+ "type": "ownedByGroup",
629
+ "group": "co_zmcw7MJcFLwHnP9K5grzbys8H7"
630
+ },
631
+ "meta": null,
632
+ "createdAt": "2024-06-04T11:05:44.381Z",
633
+ "uniqueness": "zmg9KgLWsJG82FfRy"
634
+ },
635
+ "new": {
636
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": {
637
+ "after": 0,
638
+ "newTransactions": [
639
+ {
640
+ "privacy": "trusting",
641
+ "madeAt": 1717499144381,
642
+ "changes": "[{\"key\":\"hello\",\"op\"..."
643
+ }
644
+ ],
645
+ "lastSignature": "signature_z4FaNSjAsot1XLYEHZA8i5UkwBQSeJXAB7gRuc4KchppW7T11V4sEfzyjjjGcFtcnxHNcoo7jTDqXuZax82ob2MGG"
646
+ }
647
+ }
648
+ }
649
+ client2 -> server {
650
+ "action": "known",
651
+ "id": "co_zmcw7MJcFLwHnP9K5grzbys8H7",
652
+ "header": true,
653
+ "sessions": {
654
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 3
655
+ }
656
+ }
657
+ client2 -> server {
658
+ "action": "known",
659
+ "id": "co_zajwTa1qGtch4hK1qnw1pTSeBCc",
660
+ "header": true,
661
+ "sessions": {
662
+ "sealer_z47nqozvhrKP9tZdaiPzfo91gxCuuEr96MQZaDhChE2XQ/signer_zFMQfR1Qn2WqC9NHe1duGCxHSznukvLqJdzP3ZJ81eP9_session_zDXSWfb4bdeq": 1
663
+ }
664
+ }
665
+
666
+ stdout | src/tests/sync.test.ts > Can sync a coValue with private transactions through a server to another client
667
+ client1 -> server {
668
+ "action": "load",
669
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
670
+ "header": true,
671
+ "sessions": {
672
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 3
673
+ }
674
+ }
675
+ client2 -> server {
676
+ "action": "load",
677
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
678
+ "header": false,
679
+ "sessions": {}
680
+ }
681
+ client1 -> server {
682
+ "action": "load",
683
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
684
+ "header": true,
685
+ "sessions": {
686
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 1
687
+ }
688
+ }
689
+ client1 -> server {
690
+ "action": "content",
691
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
692
+ "header": {
693
+ "type": "comap",
694
+ "ruleset": {
695
+ "type": "group",
696
+ "initialAdmin": "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp"
697
+ },
698
+ "meta": null,
699
+ "createdAt": "2024-06-04T11:05:44.386Z",
700
+ "uniqueness": "z3QA7WwYy1bYFHGDMb"
701
+ },
702
+ "new": {
703
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": {
704
+ "after": 0,
705
+ "newTransactions": [
706
+ {
707
+ "privacy": "trusting",
708
+ "madeAt": 1717499144387,
709
+ "changes": "[{\"key\":\"sealer_z7cW..."
710
+ },
711
+ {
712
+ "privacy": "trusting",
713
+ "madeAt": 1717499144388,
714
+ "changes": "[{\"key\":\"key_z4bKSGp..."
715
+ },
716
+ {
717
+ "privacy": "trusting",
718
+ "madeAt": 1717499144388,
719
+ "changes": "[{\"key\":\"readKey\",\"o..."
720
+ }
721
+ ],
722
+ "lastSignature": "signature_z2MrYEpZCLMtUxx4yqBHT4CWJs48oirRBj5SvGyBmSKWxbsAcxJ4358WgHL8g9hTPbrLZzRfYKtQ9ECmJwtD6MZNV"
723
+ }
724
+ }
725
+ }
726
+ client1 -> server {
727
+ "action": "content",
728
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
729
+ "header": {
730
+ "type": "comap",
731
+ "ruleset": {
732
+ "type": "group",
733
+ "initialAdmin": "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp"
734
+ },
735
+ "meta": null,
736
+ "createdAt": "2024-06-04T11:05:44.386Z",
737
+ "uniqueness": "z3QA7WwYy1bYFHGDMb"
738
+ },
739
+ "new": {
740
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": {
741
+ "after": 0,
742
+ "newTransactions": [
743
+ {
744
+ "privacy": "trusting",
745
+ "madeAt": 1717499144387,
746
+ "changes": "[{\"key\":\"sealer_z7cW..."
747
+ },
748
+ {
749
+ "privacy": "trusting",
750
+ "madeAt": 1717499144388,
751
+ "changes": "[{\"key\":\"key_z4bKSGp..."
752
+ },
753
+ {
754
+ "privacy": "trusting",
755
+ "madeAt": 1717499144388,
756
+ "changes": "[{\"key\":\"readKey\",\"o..."
757
+ }
758
+ ],
759
+ "lastSignature": "signature_z2MrYEpZCLMtUxx4yqBHT4CWJs48oirRBj5SvGyBmSKWxbsAcxJ4358WgHL8g9hTPbrLZzRfYKtQ9ECmJwtD6MZNV"
760
+ }
761
+ }
762
+ }
763
+ client1 -> server {
764
+ "action": "content",
765
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
766
+ "header": {
767
+ "type": "comap",
768
+ "ruleset": {
769
+ "type": "ownedByGroup",
770
+ "group": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa"
771
+ },
772
+ "meta": null,
773
+ "createdAt": "2024-06-04T11:05:44.388Z",
774
+ "uniqueness": "z3QS6jGNfphUetUp8r"
775
+ },
776
+ "new": {
777
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": {
778
+ "after": 0,
779
+ "newTransactions": [
780
+ {
781
+ "privacy": "private",
782
+ "madeAt": 1717499144388,
783
+ "keyUsed": "key_z4bKSGpX73fQkY4e7F",
784
+ "encryptedChanges": "encrypted_UTXtIbhbRJ..."
785
+ }
786
+ ],
787
+ "lastSignature": "signature_z4Tws91zV2MA7xTzKBRACgBYaRDSwyg4dKkxdVw1dtu1jqxFqjXEMTWGkfhaN1WXbUt8emMZtpbF4WskABpBJuCQV"
788
+ }
789
+ }
790
+ }
791
+ server -> client1 {
792
+ "action": "known",
793
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
794
+ "header": true,
795
+ "sessions": {
796
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 3
797
+ }
798
+ }
799
+ server -> client1 {
800
+ "action": "known",
801
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
802
+ "header": true,
803
+ "sessions": {
804
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 3
805
+ }
806
+ }
807
+ server -> client2 {
808
+ "action": "known",
809
+ "asDependencyOf": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
810
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
811
+ "header": true,
812
+ "sessions": {
813
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 3
814
+ }
815
+ }
816
+ server -> client1 {
817
+ "action": "known",
818
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
819
+ "header": true,
820
+ "sessions": {
821
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 3
822
+ }
823
+ }
824
+ server -> client1 {
825
+ "action": "known",
826
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
827
+ "header": true,
828
+ "sessions": {
829
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 1
830
+ }
831
+ }
832
+ server -> client2 {
833
+ "action": "known",
834
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
835
+ "header": true,
836
+ "sessions": {
837
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 1
838
+ }
839
+ }
840
+ server -> client1 {
841
+ "action": "known",
842
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
843
+ "header": true,
844
+ "sessions": {
845
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 1
846
+ }
847
+ }
848
+ server -> client2 {
849
+ "action": "content",
850
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
851
+ "header": {
852
+ "type": "comap",
853
+ "ruleset": {
854
+ "type": "group",
855
+ "initialAdmin": "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp"
856
+ },
857
+ "meta": null,
858
+ "createdAt": "2024-06-04T11:05:44.386Z",
859
+ "uniqueness": "z3QA7WwYy1bYFHGDMb"
860
+ },
861
+ "new": {
862
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": {
863
+ "after": 0,
864
+ "newTransactions": [
865
+ {
866
+ "privacy": "trusting",
867
+ "madeAt": 1717499144387,
868
+ "changes": "[{\"key\":\"sealer_z7cW..."
869
+ },
870
+ {
871
+ "privacy": "trusting",
872
+ "madeAt": 1717499144388,
873
+ "changes": "[{\"key\":\"key_z4bKSGp..."
874
+ },
875
+ {
876
+ "privacy": "trusting",
877
+ "madeAt": 1717499144388,
878
+ "changes": "[{\"key\":\"readKey\",\"o..."
879
+ }
880
+ ],
881
+ "lastSignature": "signature_z2MrYEpZCLMtUxx4yqBHT4CWJs48oirRBj5SvGyBmSKWxbsAcxJ4358WgHL8g9hTPbrLZzRfYKtQ9ECmJwtD6MZNV"
882
+ }
883
+ }
884
+ }
885
+ server -> client2 {
886
+ "action": "content",
887
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
888
+ "header": {
889
+ "type": "comap",
890
+ "ruleset": {
891
+ "type": "ownedByGroup",
892
+ "group": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa"
893
+ },
894
+ "meta": null,
895
+ "createdAt": "2024-06-04T11:05:44.388Z",
896
+ "uniqueness": "z3QS6jGNfphUetUp8r"
897
+ },
898
+ "new": {
899
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": {
900
+ "after": 0,
901
+ "newTransactions": [
902
+ {
903
+ "privacy": "private",
904
+ "madeAt": 1717499144388,
905
+ "keyUsed": "key_z4bKSGpX73fQkY4e7F",
906
+ "encryptedChanges": "encrypted_UTXtIbhbRJ..."
907
+ }
908
+ ],
909
+ "lastSignature": "signature_z4Tws91zV2MA7xTzKBRACgBYaRDSwyg4dKkxdVw1dtu1jqxFqjXEMTWGkfhaN1WXbUt8emMZtpbF4WskABpBJuCQV"
910
+ }
911
+ }
912
+ }
913
+ client2 -> server {
914
+ "action": "known",
915
+ "id": "co_zKcr78j2MHKUgtKFDi4dhJve3Xa",
916
+ "header": true,
917
+ "sessions": {
918
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 3
919
+ }
920
+ }
921
+ client2 -> server {
922
+ "action": "known",
923
+ "id": "co_zn7RSHt89GU2u2NURzvdGRSSn4z",
924
+ "header": true,
925
+ "sessions": {
926
+ "sealer_z7cWv6vtWQJPa79pvTHH2q3vNrMXxvMt5D4ZjCsGZF3W7/signer_z7soGZYL1uqQerY1FNhr2qBhxp7Ltd4a8ewaviivcpQQp_session_zF4JrA32T4aV": 1
927
+ }
928
+ }
929
+
930
+ stdout | src/tests/sync.test.ts > If we start loading a coValue before connecting to a peer that has it, it will load it once we connect
931
+ peer2 -> peer1 {
932
+ "action": "load",
933
+ "id": "co_zMaT9TxZxMop7iisd5TdKpzsFQs",
934
+ "header": false,
935
+ "sessions": {}
936
+ }
937
+ peer1 -> peer2 {
938
+ "action": "known",
939
+ "asDependencyOf": "co_zMaT9TxZxMop7iisd5TdKpzsFQs",
940
+ "id": "co_zJCokRExcyFiUuaUWW6rEzzftx4",
941
+ "header": true,
942
+ "sessions": {
943
+ "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc_session_z9g8X3e51AdD": 3
944
+ }
945
+ }
946
+ peer1 -> peer2 {
947
+ "action": "known",
948
+ "id": "co_zMaT9TxZxMop7iisd5TdKpzsFQs",
949
+ "header": true,
950
+ "sessions": {
951
+ "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc_session_z9g8X3e51AdD": 1
952
+ }
953
+ }
954
+ peer1 -> peer2 {
955
+ "action": "content",
956
+ "id": "co_zJCokRExcyFiUuaUWW6rEzzftx4",
957
+ "header": {
958
+ "type": "comap",
959
+ "ruleset": {
960
+ "type": "group",
961
+ "initialAdmin": "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc"
962
+ },
963
+ "meta": null,
964
+ "createdAt": "2024-06-04T11:05:44.395Z",
965
+ "uniqueness": "z3Qx4pjbrvs3gFbNnE"
966
+ },
967
+ "new": {
968
+ "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc_session_z9g8X3e51AdD": {
969
+ "after": 0,
970
+ "newTransactions": [
971
+ {
972
+ "privacy": "trusting",
973
+ "madeAt": 1717499144395,
974
+ "changes": "[{\"key\":\"sealer_z8Qy..."
975
+ },
976
+ {
977
+ "privacy": "trusting",
978
+ "madeAt": 1717499144397,
979
+ "changes": "[{\"key\":\"key_z2UR5uX..."
980
+ },
981
+ {
982
+ "privacy": "trusting",
983
+ "madeAt": 1717499144397,
984
+ "changes": "[{\"key\":\"readKey\",\"o..."
985
+ }
986
+ ],
987
+ "lastSignature": "signature_z5A5LaCcK16xfCtrDbBzPgDo6WiVT8xCHkyFq5ypNLSV3xA2QBqrcLSCLdR64dejnTxjH8Ni7FmNYGbJt5aJi84cY"
988
+ }
989
+ }
990
+ }
991
+ peer1 -> peer2 {
992
+ "action": "content",
993
+ "id": "co_zMaT9TxZxMop7iisd5TdKpzsFQs",
994
+ "header": {
995
+ "type": "comap",
996
+ "ruleset": {
997
+ "type": "ownedByGroup",
998
+ "group": "co_zJCokRExcyFiUuaUWW6rEzzftx4"
999
+ },
1000
+ "meta": null,
1001
+ "createdAt": "2024-06-04T11:05:44.397Z",
1002
+ "uniqueness": "z2VUdTd4KTwA7JmwMd"
1003
+ },
1004
+ "new": {
1005
+ "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc_session_z9g8X3e51AdD": {
1006
+ "after": 0,
1007
+ "newTransactions": [
1008
+ {
1009
+ "privacy": "trusting",
1010
+ "madeAt": 1717499144398,
1011
+ "changes": "[{\"key\":\"hello\",\"op\"..."
1012
+ }
1013
+ ],
1014
+ "lastSignature": "signature_z2wGEhsMAcFihtmASpcdeqisXAqgkrPUN5u7QFVMUAycjFcWTpeq1hKpZXs7QtXiCGeY3QQxGtRHwziqshmRcVZcJ"
1015
+ }
1016
+ }
1017
+ }
1018
+ peer2 -> peer1 {
1019
+ "action": "known",
1020
+ "id": "co_zJCokRExcyFiUuaUWW6rEzzftx4",
1021
+ "header": true,
1022
+ "sessions": {
1023
+ "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc_session_z9g8X3e51AdD": 3
1024
+ }
1025
+ }
1026
+ peer2 -> peer1 {
1027
+ "action": "known",
1028
+ "id": "co_zMaT9TxZxMop7iisd5TdKpzsFQs",
1029
+ "header": true,
1030
+ "sessions": {
1031
+ "sealer_z8QyZ4pri9YTBuZaGCPdGggK92GRfEVGJEx3McMWSwRLj/signer_z3Ek1VjbhRT4XAm1dBDwEWWo7aUMRRo19DVJFPZdY1Npc_session_z9g8X3e51AdD": 1
1032
+ }
1033
+ }
1034
+
1035
+ ✓ src/tests/sync.test.ts (19 tests | 8 skipped) 200ms
1036
+ ✓ src/tests/coList.test.ts (4 tests) 12ms
1037
+ ✓ src/tests/group.test.ts (4 tests) 34ms
1038
+ ✓ src/tests/coStream.test.ts (6 tests) 46ms
1039
+ ✓ src/tests/coMap.test.ts (5 tests) 53ms
1040
+ stderr | src/tests/permissions.test.ts > Admins can't demote other admins in a group
1041
+ Admins can only demote themselves.
1042
+ Admins can only demote themselves.
1043
+ Admins can only demote themselves.
1044
+ Admins can only demote themselves.
1045
+ Admins can only demote themselves.
1046
+
1047
+ stderr | src/tests/permissions.test.ts > Admins can't demote other admins in a group (high level)
1048
+ Admins can only demote themselves.
1049
+
1050
+ stderr | src/tests/permissions.test.ts > Admins an add writers to a group, who can't add admins, writers, or readers
1051
+ Group transaction must be made by current admin or invite
1052
+ Group transaction must be made by current admin or invite
1053
+ Group transaction must be made by current admin or invite
1054
+ Group transaction must be made by current admin or invite
1055
+ Group transaction must be made by current admin or invite
1056
+ Group transaction must be made by current admin or invite
1057
+
1058
+ stderr | src/tests/permissions.test.ts > Admins an add writers to a group, who can't add admins, writers, or readers (high level)
1059
+ Group transaction must be made by current admin or invite
1060
+ Group transaction must be made by current admin or invite
1061
+ Group transaction must be made by current admin or invite
1062
+ Group transaction must be made by current admin or invite
1063
+ Group transaction must be made by current admin or invite
1064
+ Group transaction must be made by current admin or invite
1065
+ Group transaction must be made by current admin or invite
1066
+ Group transaction must be made by current admin or invite
1067
+ Group transaction must be made by current admin or invite
1068
+
1069
+ stderr | src/tests/permissions.test.ts > Admins can add readers to a group, who can't add admins, writers, or readers
1070
+ Group transaction must be made by current admin or invite
1071
+ Group transaction must be made by current admin or invite
1072
+ Group transaction must be made by current admin or invite
1073
+ Group transaction must be made by current admin or invite
1074
+ Group transaction must be made by current admin or invite
1075
+ Group transaction must be made by current admin or invite
1076
+
1077
+ stderr | src/tests/permissions.test.ts > Admins can add readers to a group, who can't add admins, writers, or readers (high level)
1078
+ Group transaction must be made by current admin or invite
1079
+ Group transaction must be made by current admin or invite
1080
+ Group transaction must be made by current admin or invite
1081
+ Group transaction must be made by current admin or invite
1082
+ Group transaction must be made by current admin or invite
1083
+ Group transaction must be made by current admin or invite
1084
+ Group transaction must be made by current admin or invite
1085
+ Group transaction must be made by current admin or invite
1086
+ Group transaction must be made by current admin or invite
1087
+
1088
+ stderr | src/tests/permissions.test.ts > WriterInvites can not invite admins
1089
+ WriterInvites can only create writers.
1090
+
1091
+ stderr | src/tests/permissions.test.ts > ReaderInvites can not invite admins
1092
+ ReaderInvites can only create reader.
1093
+
1094
+ stderr | src/tests/permissions.test.ts > ReaderInvites can not invite writers
1095
+ ReaderInvites can only create reader.
1096
+
1097
+ stdout | src/tests/permissions.test.ts > Can give write permissions to 'everyone' (high-level)
1098
+ Before anon set
1099
+
1100
+ ✓ src/tests/permissions.test.ts (44 tests) 463ms
1101
+
1102
+ Test Files 11 passed (11)
1103
+ Tests 112 passed | 5 skipped | 3 todo (120)
1104
+ Start at 12:05:43
1105
+ Duration 1.10s (transform 396ms, setup 1ms, collect 3.27s, tests 1.05s, environment 1ms, prepare 982ms)
1106
+