cojson 0.13.28 → 0.13.29

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.
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.test.js","sourceRoot":"","sources":["../../src/tests/crypto.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.test.js","sourceRoot":"","sources":["../../src/tests/crypto.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=group.addMember.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.addMember.test.d.ts","sourceRoot":"","sources":["../../src/tests/group.addMember.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,272 @@
1
+ import { beforeEach, describe, expect, test } from "vitest";
2
+ import { expectMap } from "../coValue.js";
3
+ import { SyncMessagesLog, loadCoValueOrFail, setupTestAccount, setupTestNode, waitFor, } from "./testUtils.js";
4
+ beforeEach(async () => {
5
+ SyncMessagesLog.clear();
6
+ setupTestNode({ isSyncServer: true });
7
+ });
8
+ describe("Group.addMember", () => {
9
+ test("an admin should be able to grant read access", async () => {
10
+ const admin = await setupTestAccount({
11
+ connected: true,
12
+ });
13
+ const reader = await setupTestAccount({
14
+ connected: true,
15
+ });
16
+ const group = admin.node.createGroup();
17
+ const person = group.createMap({
18
+ name: "John Doe",
19
+ });
20
+ const personOnReaderNode = await loadCoValueOrFail(reader.node, person.id);
21
+ expect(personOnReaderNode.get("name")).toEqual(undefined);
22
+ const readerOnAdminNode = await loadCoValueOrFail(admin.node, reader.accountID);
23
+ group.addMember(readerOnAdminNode, "reader");
24
+ expect(group.roleOf(reader.accountID)).toEqual("reader");
25
+ await waitFor(() => {
26
+ expect(expectMap(personOnReaderNode.core.getCurrentContent()).get("name")).toEqual("John Doe");
27
+ });
28
+ });
29
+ test("an admin should be able to grant write access", async () => {
30
+ const admin = await setupTestAccount({
31
+ connected: true,
32
+ });
33
+ const writer = await setupTestAccount({
34
+ connected: true,
35
+ });
36
+ const group = admin.node.createGroup();
37
+ const person = group.createMap({
38
+ name: "John Doe",
39
+ });
40
+ const personOnWriterNode = await loadCoValueOrFail(writer.node, person.id);
41
+ expect(personOnWriterNode.get("name")).toEqual(undefined);
42
+ const writerOnAdminNode = await loadCoValueOrFail(admin.node, writer.accountID);
43
+ group.addMember(writerOnAdminNode, "writer");
44
+ expect(group.roleOf(writer.accountID)).toEqual("writer");
45
+ await waitFor(() => {
46
+ expect(expectMap(personOnWriterNode.core.getCurrentContent()).get("name")).toEqual("John Doe");
47
+ });
48
+ personOnWriterNode.set("name", "Jane Doe");
49
+ expect(personOnWriterNode.get("name")).toEqual("Jane Doe");
50
+ });
51
+ test("an admin should be able to grant writeOnly access", async () => {
52
+ const admin = await setupTestAccount({
53
+ connected: true,
54
+ });
55
+ const writeOnlyUser = await setupTestAccount({
56
+ connected: true,
57
+ });
58
+ const group = admin.node.createGroup();
59
+ const person = group.createMap({
60
+ name: "John Doe",
61
+ });
62
+ const writeOnlyUserOnAdminNode = await loadCoValueOrFail(admin.node, writeOnlyUser.accountID);
63
+ group.addMember(writeOnlyUserOnAdminNode, "writeOnly");
64
+ expect(group.roleOf(writeOnlyUser.accountID)).toEqual("writeOnly");
65
+ const personOnWriteOnlyNode = await loadCoValueOrFail(writeOnlyUser.node, person.id);
66
+ // Should not be able to read
67
+ expect(personOnWriteOnlyNode.get("name")).toEqual(undefined);
68
+ // Should be able to write
69
+ personOnWriteOnlyNode.set("name", "Jane Doe");
70
+ expect(personOnWriteOnlyNode.get("name")).toEqual("Jane Doe");
71
+ });
72
+ test("an admin should be able to grant admin access", async () => {
73
+ const admin = await setupTestAccount({
74
+ connected: true,
75
+ });
76
+ const otherAdmin = await setupTestAccount({
77
+ connected: true,
78
+ });
79
+ const reader = await setupTestAccount({
80
+ connected: true,
81
+ });
82
+ const group = admin.node.createGroup();
83
+ const person = group.createMap({
84
+ name: "John Doe",
85
+ });
86
+ const otherAdminOnAdminNode = await loadCoValueOrFail(admin.node, otherAdmin.accountID);
87
+ group.addMember(otherAdminOnAdminNode, "admin");
88
+ const personOnReaderNode = await loadCoValueOrFail(reader.node, person.id);
89
+ expect(personOnReaderNode.get("name")).toEqual(undefined);
90
+ const readerOnOtherAdminNode = await loadCoValueOrFail(otherAdmin.node, reader.accountID);
91
+ group.addMember(readerOnOtherAdminNode, "reader");
92
+ await waitFor(() => {
93
+ expect(expectMap(personOnReaderNode.core.getCurrentContent()).get("name")).toEqual("John Doe");
94
+ });
95
+ });
96
+ test("an admin should be able downgrade a writer to reader", async () => {
97
+ const admin = await setupTestAccount({
98
+ connected: true,
99
+ });
100
+ const writer = await setupTestAccount({
101
+ connected: true,
102
+ });
103
+ const group = admin.node.createGroup();
104
+ const person = group.createMap({
105
+ name: "John Doe",
106
+ });
107
+ const writerOnAdminNode = await loadCoValueOrFail(admin.node, writer.accountID);
108
+ group.addMember(writerOnAdminNode, "writer");
109
+ group.addMember(writerOnAdminNode, "reader");
110
+ expect(group.roleOf(writer.accountID)).toEqual("reader");
111
+ // Verify writer can read and write
112
+ const personOnWriterNode = await loadCoValueOrFail(writer.node, person.id);
113
+ // Should not be able to write
114
+ personOnWriterNode.set("name", "Jane Doe");
115
+ expect(personOnWriterNode.get("name")).toEqual("John Doe");
116
+ });
117
+ test("an admin should be able downgrade a reader to writeOnly", async () => {
118
+ const admin = await setupTestAccount({
119
+ connected: true,
120
+ });
121
+ const reader = await setupTestAccount({
122
+ connected: true,
123
+ });
124
+ const group = admin.node.createGroup();
125
+ const readerOnAdminNode = await loadCoValueOrFail(admin.node, reader.accountID);
126
+ group.addMember(readerOnAdminNode, "reader");
127
+ group.addMember(readerOnAdminNode, "writeOnly");
128
+ expect(group.roleOf(reader.accountID)).toEqual("writeOnly");
129
+ const person = group.createMap({
130
+ name: "John Doe",
131
+ });
132
+ // Verify reader can read
133
+ const personOnReaderNode = await loadCoValueOrFail(reader.node, person.id);
134
+ expect(personOnReaderNode.get("name")).toEqual(undefined);
135
+ });
136
+ test("an admin should not be able downgrade an admin", async () => {
137
+ const admin = await setupTestAccount({
138
+ connected: true,
139
+ });
140
+ const otherAdmin = await setupTestAccount({
141
+ connected: true,
142
+ });
143
+ const group = admin.node.createGroup();
144
+ const person = group.createMap({
145
+ name: "John Doe",
146
+ });
147
+ const otherAdminOnAdminNode = await loadCoValueOrFail(admin.node, otherAdmin.accountID);
148
+ group.addMember(otherAdminOnAdminNode, "admin");
149
+ // Try to downgrade other admin
150
+ try {
151
+ group.addMember(otherAdminOnAdminNode, "writer");
152
+ }
153
+ catch (e) {
154
+ expect(e).toBeDefined();
155
+ }
156
+ expect(group.roleOf(otherAdmin.accountID)).toEqual("admin");
157
+ // Verify other admin still has admin access by adding a new member
158
+ const reader = await setupTestAccount({
159
+ connected: true,
160
+ });
161
+ const readerOnOtherAdminNode = await loadCoValueOrFail(otherAdmin.node, reader.accountID);
162
+ group.addMember(readerOnOtherAdminNode, "reader");
163
+ const personOnReaderNode = await loadCoValueOrFail(reader.node, person.id);
164
+ await waitFor(() => {
165
+ expect(expectMap(personOnReaderNode.core.getCurrentContent()).get("name")).toEqual("John Doe");
166
+ });
167
+ });
168
+ test("an admin should be able downgrade themselves", async () => {
169
+ const admin = await setupTestAccount({
170
+ connected: true,
171
+ });
172
+ const group = admin.node.createGroup();
173
+ const account = await loadCoValueOrFail(admin.node, admin.accountID);
174
+ // Downgrade self to writer
175
+ group.addMember(account, "writer");
176
+ expect(group.roleOf(admin.accountID)).toEqual("writer");
177
+ });
178
+ test("an admin should be able downgrade a writeOnly to reader", async () => {
179
+ const admin = await setupTestAccount({
180
+ connected: true,
181
+ });
182
+ const writeOnlyUser = await setupTestAccount({
183
+ connected: true,
184
+ });
185
+ const group = admin.node.createGroup();
186
+ const person = group.createMap({
187
+ name: "John Doe",
188
+ });
189
+ const writeOnlyUserOnAdminNode = await loadCoValueOrFail(admin.node, writeOnlyUser.accountID);
190
+ group.addMember(writeOnlyUserOnAdminNode, "writeOnly");
191
+ group.addMember(writeOnlyUserOnAdminNode, "reader");
192
+ expect(group.roleOf(writeOnlyUser.accountID)).toEqual("reader");
193
+ const personOnWriteOnlyNode = await loadCoValueOrFail(writeOnlyUser.node, person.id);
194
+ expect(personOnWriteOnlyNode.get("name")).toEqual("John Doe");
195
+ });
196
+ test("a reader should not be able to add a member", async () => {
197
+ const admin = await setupTestAccount({
198
+ connected: true,
199
+ });
200
+ const reader = await setupTestAccount({
201
+ connected: true,
202
+ });
203
+ const newUser = await setupTestAccount({
204
+ connected: true,
205
+ });
206
+ const group = admin.node.createGroup();
207
+ const readerOnAdminNode = await loadCoValueOrFail(admin.node, reader.accountID);
208
+ group.addMember(readerOnAdminNode, "reader");
209
+ const newUserOnReaderNode = await loadCoValueOrFail(reader.node, newUser.accountID);
210
+ const groupOnReaderNode = await loadCoValueOrFail(reader.node, group.id);
211
+ // Try to add member as reader
212
+ try {
213
+ groupOnReaderNode.addMember(newUserOnReaderNode, "reader");
214
+ throw new Error("Should not be able to add member as reader");
215
+ }
216
+ catch (e) {
217
+ expect(e).toBeDefined();
218
+ }
219
+ expect(groupOnReaderNode.roleOf(newUser.accountID)).toBeUndefined();
220
+ });
221
+ test("a writer should not be able to add a member", async () => {
222
+ const admin = await setupTestAccount({
223
+ connected: true,
224
+ });
225
+ const writer = await setupTestAccount({
226
+ connected: true,
227
+ });
228
+ const newUser = await setupTestAccount({
229
+ connected: true,
230
+ });
231
+ const group = admin.node.createGroup();
232
+ const writerOnAdminNode = await loadCoValueOrFail(admin.node, writer.accountID);
233
+ group.addMember(writerOnAdminNode, "writer");
234
+ const newUserOnWriterNode = await loadCoValueOrFail(writer.node, newUser.accountID);
235
+ const groupOnWriterNode = await loadCoValueOrFail(writer.node, group.id);
236
+ // Try to add member as writer
237
+ try {
238
+ groupOnWriterNode.addMember(newUserOnWriterNode, "reader");
239
+ throw new Error("Should not be able to add member as writer");
240
+ }
241
+ catch (e) {
242
+ expect(e).toBeDefined();
243
+ }
244
+ expect(groupOnWriterNode.roleOf(newUser.accountID)).toBeUndefined();
245
+ });
246
+ test("a writeOnly should not be able to add a member", async () => {
247
+ const admin = await setupTestAccount({
248
+ connected: true,
249
+ });
250
+ const writeOnlyUser = await setupTestAccount({
251
+ connected: true,
252
+ });
253
+ const newUser = await setupTestAccount({
254
+ connected: true,
255
+ });
256
+ const group = admin.node.createGroup();
257
+ const writeOnlyUserOnAdminNode = await loadCoValueOrFail(admin.node, writeOnlyUser.accountID);
258
+ group.addMember(writeOnlyUserOnAdminNode, "writeOnly");
259
+ const newUserOnWriteOnlyNode = await loadCoValueOrFail(writeOnlyUser.node, newUser.accountID);
260
+ const groupOnWriteOnlyNode = await loadCoValueOrFail(writeOnlyUser.node, group.id);
261
+ // Try to add member as writeOnly user
262
+ try {
263
+ groupOnWriteOnlyNode.addMember(newUserOnWriteOnlyNode, "reader");
264
+ throw new Error("Should not be able to add member as writeOnly user");
265
+ }
266
+ catch (e) {
267
+ expect(e).toBeDefined();
268
+ }
269
+ expect(groupOnWriteOnlyNode.roleOf(newUser.accountID)).toBeUndefined();
270
+ });
271
+ });
272
+ //# sourceMappingURL=group.addMember.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.addMember.test.js","sourceRoot":"","sources":["../../src/tests/group.addMember.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { MetricReader } from "@opentelemetry/sdk-metrics";
2
2
  import { ControlledAccount, ControlledAgent } from "../coValues/account.js";
3
- import type { AgentSecret, CoID, CoValueCore, RawCoValue } from "../exports.js";
3
+ import { type AgentSecret, type CoID, type CoValueCore, type RawCoValue } from "../exports.js";
4
4
  import type { SessionID } from "../ids.js";
5
5
  import { LocalNode } from "../localNode.js";
6
6
  import type { Peer, SyncMessage } from "../sync.js";
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -25,15 +25,15 @@
25
25
  },
26
26
  "type": "module",
27
27
  "license": "MIT",
28
- "version": "0.13.28",
28
+ "version": "0.13.29",
29
29
  "devDependencies": {
30
30
  "@opentelemetry/sdk-metrics": "^2.0.0",
31
31
  "typescript": "5.6.2"
32
32
  },
33
33
  "dependencies": {
34
- "@noble/ciphers": "^0.1.3",
35
- "@noble/curves": "^1.3.0",
36
- "@noble/hashes": "^1.4.0",
34
+ "@noble/ciphers": "^1.3.0",
35
+ "@noble/curves": "^1.9.1",
36
+ "@noble/hashes": "^1.8.0",
37
37
  "@opentelemetry/api": "^1.9.0",
38
38
  "@scure/base": "1.2.1",
39
39
  "jazz-crypto-rs": "0.0.7",
@@ -67,7 +67,7 @@ export type AvailableCoValueCore = CoValueCore & { verified: VerifiedState };
67
67
  export const CO_VALUE_LOADING_CONFIG = {
68
68
  MAX_RETRIES: 1,
69
69
  TIMEOUT: 30_000,
70
- RETRY_DELAY: 300,
70
+ RETRY_DELAY: 3000,
71
71
  };
72
72
 
73
73
  export class CoValueCore {
@@ -193,6 +193,20 @@ export class CoValueCore {
193
193
  });
194
194
  }
195
195
 
196
+ waitForAvailable(): Promise<CoValueCore> {
197
+ return new Promise<CoValueCore>((resolve) => {
198
+ const listener = (core: CoValueCore) => {
199
+ if (core.isAvailable()) {
200
+ resolve(core);
201
+ this.listeners.delete(listener);
202
+ }
203
+ };
204
+
205
+ this.listeners.add(listener);
206
+ listener(this);
207
+ });
208
+ }
209
+
196
210
  getStateForPeer(peerId: PeerID) {
197
211
  return this.peers.get(peerId);
198
212
  }
@@ -1,9 +1,6 @@
1
1
  import { base58 } from "@scure/base";
2
2
  import { CoID } from "../coValue.js";
3
- import {
4
- AvailableCoValueCore,
5
- CoValueCore,
6
- } from "../coValueCore/coValueCore.js";
3
+ import { AvailableCoValueCore } from "../coValueCore/coValueCore.js";
7
4
  import { CoValueUniqueness } from "../coValueCore/verifiedState.js";
8
5
  import {
9
6
  CryptoProvider,
@@ -27,7 +24,6 @@ import { logger } from "../logger.js";
27
24
  import { AccountRole, Role } from "../permissions.js";
28
25
  import { expectGroup } from "../typeUtils/expectGroup.js";
29
26
  import {
30
- ControlledAccount,
31
27
  ControlledAccountOrAgent,
32
28
  RawAccount,
33
29
  RawAccountID,
@@ -332,6 +328,8 @@ export class RawGroup<
332
328
  if (role === "writeOnly" || role === "writeOnlyInvite") {
333
329
  const previousRole = this.get(memberKey);
334
330
 
331
+ this.set(memberKey, role, "trusting");
332
+
335
333
  if (
336
334
  previousRole === "reader" ||
337
335
  previousRole === "writer" ||
@@ -340,7 +338,6 @@ export class RawGroup<
340
338
  this.rotateReadKey();
341
339
  }
342
340
 
343
- this.set(memberKey, role, "trusting");
344
341
  this.internalCreateWriteOnlyKeyForMember(memberKey, agent);
345
342
  } else {
346
343
  const currentReadKey = this.core.getCurrentReadKey();
@@ -1,4 +1,4 @@
1
- import { xsalsa20, xsalsa20_poly1305 } from "@noble/ciphers/salsa";
1
+ import { xsalsa20, xsalsa20poly1305 } from "@noble/ciphers/salsa";
2
2
  import { ed25519, x25519 } from "@noble/curves/ed25519";
3
3
  import { blake3 } from "@noble/hashes/blake3";
4
4
  import { base58 } from "@scure/base";
@@ -165,7 +165,7 @@ export class PureJSCrypto extends CryptoProvider<Blake3State> {
165
165
 
166
166
  const sharedSecret = x25519.getSharedSecret(senderPriv, sealerPub);
167
167
 
168
- const sealedBytes = xsalsa20_poly1305(sharedSecret, nOnce).encrypt(
168
+ const sealedBytes = xsalsa20poly1305(sharedSecret, nOnce).encrypt(
169
169
  plaintext,
170
170
  );
171
171
 
@@ -188,7 +188,7 @@ export class PureJSCrypto extends CryptoProvider<Blake3State> {
188
188
 
189
189
  const sharedSecret = x25519.getSharedSecret(sealerPriv, senderPub);
190
190
 
191
- const plaintext = xsalsa20_poly1305(sharedSecret, nOnce).decrypt(
191
+ const plaintext = xsalsa20poly1305(sharedSecret, nOnce).decrypt(
192
192
  sealedBytes,
193
193
  );
194
194
 
package/src/exports.ts CHANGED
@@ -103,6 +103,9 @@ export const cojsonInternals = {
103
103
  getGroupDependentKey,
104
104
  disablePermissionErrors,
105
105
  CO_VALUE_LOADING_CONFIG,
106
+ setCoValueLoadingRetryDelay(delay: number) {
107
+ CO_VALUE_LOADING_CONFIG.RETRY_DELAY = delay;
108
+ },
106
109
  };
107
110
 
108
111
  export {
package/src/localNode.ts CHANGED
@@ -345,6 +345,10 @@ export class LocalNode {
345
345
  while (true) {
346
346
  const coValue = this.getCoValue(id);
347
347
 
348
+ if (coValue.isAvailable()) {
349
+ return coValue;
350
+ }
351
+
348
352
  if (
349
353
  coValue.loadingState === "unknown" ||
350
354
  coValue.loadingState === "unavailable"
@@ -365,6 +369,7 @@ export class LocalNode {
365
369
  }
366
370
 
367
371
  const result = await coValue.waitForAvailableOrUnavailable();
372
+
368
373
  if (
369
374
  result.isAvailable() ||
370
375
  retries >= CO_VALUE_LOADING_CONFIG.MAX_RETRIES
@@ -372,9 +377,12 @@ export class LocalNode {
372
377
  return result;
373
378
  }
374
379
 
375
- await new Promise((resolve) =>
376
- setTimeout(resolve, CO_VALUE_LOADING_CONFIG.RETRY_DELAY),
377
- );
380
+ await Promise.race([
381
+ new Promise((resolve) =>
382
+ setTimeout(resolve, CO_VALUE_LOADING_CONFIG.RETRY_DELAY),
383
+ ),
384
+ coValue.waitForAvailable(), // Stop waiting if the coValue becomes available
385
+ ]);
378
386
 
379
387
  retries++;
380
388
  }
@@ -1,4 +1,4 @@
1
- import { xsalsa20_poly1305 } from "@noble/ciphers/salsa";
1
+ import { xsalsa20poly1305 } from "@noble/ciphers/salsa";
2
2
  import { x25519 } from "@noble/curves/ed25519";
3
3
  import { blake3 } from "@noble/hashes/blake3";
4
4
  import { base58, base64url } from "@scure/base";
@@ -68,7 +68,7 @@ const pureJSCrypto = await PureJSCrypto.create();
68
68
  crypto.getSealerID(sender),
69
69
  nOnceMaterial,
70
70
  ),
71
- ).toThrow(/Wrong tag/);
71
+ ).toThrow(name === "PureJSCrypto" ? "invalid tag" : "Wrong tag");
72
72
 
73
73
  // trying with wrong sealer secret, by hand
74
74
  const nOnce = blake3(
@@ -84,8 +84,8 @@ const pureJSCrypto = await PureJSCrypto.create();
84
84
  const sharedSecret = x25519.getSharedSecret(sealer3priv, senderPub);
85
85
 
86
86
  expect(() => {
87
- const _ = xsalsa20_poly1305(sharedSecret, nOnce).decrypt(sealedBytes);
88
- }).toThrow("Wrong tag");
87
+ const _ = xsalsa20poly1305(sharedSecret, nOnce).decrypt(sealedBytes);
88
+ }).toThrow("invalid tag");
89
89
  });
90
90
 
91
91
  test(`Hashing is deterministic [${name}]`, () => {
@@ -211,7 +211,7 @@ const pureJSCrypto = await PureJSCrypto.create();
211
211
 
212
212
  const plaintext = new TextEncoder().encode(data);
213
213
  const sharedSecret = x25519.getSharedSecret(senderPriv, sealerPub);
214
- const sealedBytes = xsalsa20_poly1305(sharedSecret, nOnce).encrypt(
214
+ const sealedBytes = xsalsa20poly1305(sharedSecret, nOnce).encrypt(
215
215
  plaintext,
216
216
  );
217
217
  const sealed = `sealed_U${base64url.encode(sealedBytes)}`;