cojson 0.10.15 → 0.11.3

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 (164) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +20 -0
  3. package/dist/CoValuesStore.d.ts +12 -0
  4. package/dist/CoValuesStore.d.ts.map +1 -0
  5. package/dist/PeerKnownStates.d.ts +38 -0
  6. package/dist/PeerKnownStates.d.ts.map +1 -0
  7. package/dist/PeerState.d.ts +46 -0
  8. package/dist/PeerState.d.ts.map +1 -0
  9. package/dist/PriorityBasedMessageQueue.d.ts +18 -0
  10. package/dist/PriorityBasedMessageQueue.d.ts.map +1 -0
  11. package/dist/SyncStateManager.d.ts +20 -0
  12. package/dist/SyncStateManager.d.ts.map +1 -0
  13. package/dist/base64url.d.ts +3 -0
  14. package/dist/base64url.d.ts.map +1 -0
  15. package/dist/base64url.test.d.ts +2 -0
  16. package/dist/base64url.test.d.ts.map +1 -0
  17. package/dist/coValue.d.ts +52 -0
  18. package/dist/coValue.d.ts.map +1 -0
  19. package/dist/coValueCore.d.ts +143 -0
  20. package/dist/coValueCore.d.ts.map +1 -0
  21. package/dist/coValueCore.js +7 -4
  22. package/dist/coValueCore.js.map +1 -1
  23. package/dist/coValueState.d.ts +58 -0
  24. package/dist/coValueState.d.ts.map +1 -0
  25. package/dist/coValueState.js +6 -2
  26. package/dist/coValueState.js.map +1 -1
  27. package/dist/coValues/account.d.ts +69 -0
  28. package/dist/coValues/account.d.ts.map +1 -0
  29. package/dist/coValues/coList.d.ts +163 -0
  30. package/dist/coValues/coList.d.ts.map +1 -0
  31. package/dist/coValues/coMap.d.ts +142 -0
  32. package/dist/coValues/coMap.d.ts.map +1 -0
  33. package/dist/coValues/coPlainText.d.ts +33 -0
  34. package/dist/coValues/coPlainText.d.ts.map +1 -0
  35. package/dist/coValues/coStream.d.ts +109 -0
  36. package/dist/coValues/coStream.d.ts.map +1 -0
  37. package/dist/coValues/group.d.ts +143 -0
  38. package/dist/coValues/group.d.ts.map +1 -0
  39. package/dist/coValues/group.js +51 -3
  40. package/dist/coValues/group.js.map +1 -1
  41. package/dist/coreToCoValue.d.ts +15 -0
  42. package/dist/coreToCoValue.d.ts.map +1 -0
  43. package/dist/crypto/PureJSCrypto.d.ts +50 -0
  44. package/dist/crypto/PureJSCrypto.d.ts.map +1 -0
  45. package/dist/crypto/PureJSCrypto.js +1 -1
  46. package/dist/crypto/PureJSCrypto.js.map +1 -1
  47. package/dist/crypto/WasmCrypto.d.ts +49 -0
  48. package/dist/crypto/WasmCrypto.d.ts.map +1 -0
  49. package/dist/crypto/WasmCrypto.js +1 -1
  50. package/dist/crypto/WasmCrypto.js.map +1 -1
  51. package/dist/crypto/crypto.d.ts +142 -0
  52. package/dist/crypto/crypto.d.ts.map +1 -0
  53. package/dist/crypto/crypto.js +1 -1
  54. package/dist/crypto/crypto.js.map +1 -1
  55. package/dist/exports.d.ts +84 -0
  56. package/dist/exports.d.ts.map +1 -0
  57. package/dist/ids.d.ts +23 -0
  58. package/dist/ids.d.ts.map +1 -0
  59. package/dist/index.d.ts +2 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/jsonStringify.d.ts +7 -0
  62. package/dist/jsonStringify.d.ts.map +1 -0
  63. package/dist/jsonValue.d.ts +45 -0
  64. package/dist/jsonValue.d.ts.map +1 -0
  65. package/dist/localNode.d.ts +111 -0
  66. package/dist/localNode.d.ts.map +1 -0
  67. package/dist/localNode.js +7 -3
  68. package/dist/localNode.js.map +1 -1
  69. package/dist/logger.d.ts +37 -0
  70. package/dist/logger.d.ts.map +1 -0
  71. package/dist/logger.js.map +1 -1
  72. package/dist/media.d.ts +8 -0
  73. package/dist/media.d.ts.map +1 -0
  74. package/dist/permissions.d.ts +24 -0
  75. package/dist/permissions.d.ts.map +1 -0
  76. package/dist/permissions.js +3 -4
  77. package/dist/permissions.js.map +1 -1
  78. package/dist/priority.d.ts +19 -0
  79. package/dist/priority.d.ts.map +1 -0
  80. package/dist/storage/FileSystem.d.ts +37 -0
  81. package/dist/storage/FileSystem.d.ts.map +1 -0
  82. package/dist/storage/chunksAndKnownStates.d.ts +7 -0
  83. package/dist/storage/chunksAndKnownStates.d.ts.map +1 -0
  84. package/dist/storage/index.d.ts +52 -0
  85. package/dist/storage/index.d.ts.map +1 -0
  86. package/dist/storage/index.js +10 -11
  87. package/dist/storage/index.js.map +1 -1
  88. package/dist/streamUtils.d.ts +13 -0
  89. package/dist/streamUtils.d.ts.map +1 -0
  90. package/dist/sync.d.ts +97 -0
  91. package/dist/sync.d.ts.map +1 -0
  92. package/dist/sync.js +20 -14
  93. package/dist/sync.js.map +1 -1
  94. package/dist/tests/PeerKnownStates.test.d.ts +2 -0
  95. package/dist/tests/PeerKnownStates.test.d.ts.map +1 -0
  96. package/dist/tests/PeerState.test.d.ts +2 -0
  97. package/dist/tests/PeerState.test.d.ts.map +1 -0
  98. package/dist/tests/PriorityBasedMessageQueue.test.d.ts +2 -0
  99. package/dist/tests/PriorityBasedMessageQueue.test.d.ts.map +1 -0
  100. package/dist/tests/SyncStateManager.test.d.ts +2 -0
  101. package/dist/tests/SyncStateManager.test.d.ts.map +1 -0
  102. package/dist/tests/account.test.d.ts +2 -0
  103. package/dist/tests/account.test.d.ts.map +1 -0
  104. package/dist/tests/coList.test.d.ts +2 -0
  105. package/dist/tests/coList.test.d.ts.map +1 -0
  106. package/dist/tests/coMap.test.d.ts +2 -0
  107. package/dist/tests/coMap.test.d.ts.map +1 -0
  108. package/dist/tests/coPlainText.test.d.ts +2 -0
  109. package/dist/tests/coPlainText.test.d.ts.map +1 -0
  110. package/dist/tests/coStream.test.d.ts +2 -0
  111. package/dist/tests/coStream.test.d.ts.map +1 -0
  112. package/dist/tests/coValueCore.test.d.ts +2 -0
  113. package/dist/tests/coValueCore.test.d.ts.map +1 -0
  114. package/dist/tests/coValueState.test.d.ts +2 -0
  115. package/dist/tests/coValueState.test.d.ts.map +1 -0
  116. package/dist/tests/crypto.test.d.ts +2 -0
  117. package/dist/tests/crypto.test.d.ts.map +1 -0
  118. package/dist/tests/cryptoImpl.test.d.ts +2 -0
  119. package/dist/tests/cryptoImpl.test.d.ts.map +1 -0
  120. package/dist/tests/group.test.d.ts +2 -0
  121. package/dist/tests/group.test.d.ts.map +1 -0
  122. package/dist/tests/group.test.js +130 -0
  123. package/dist/tests/group.test.js.map +1 -1
  124. package/dist/tests/logger.test.d.ts +2 -0
  125. package/dist/tests/logger.test.d.ts.map +1 -0
  126. package/dist/tests/permissions.test.d.ts +2 -0
  127. package/dist/tests/permissions.test.d.ts.map +1 -0
  128. package/dist/tests/permissions.test.js +194 -1
  129. package/dist/tests/permissions.test.js.map +1 -1
  130. package/dist/tests/priority.test.d.ts +2 -0
  131. package/dist/tests/priority.test.d.ts.map +1 -0
  132. package/dist/tests/sync.test.d.ts +2 -0
  133. package/dist/tests/sync.test.d.ts.map +1 -0
  134. package/dist/tests/testUtils.d.ts +142 -0
  135. package/dist/tests/testUtils.d.ts.map +1 -0
  136. package/dist/tests/testUtils.js +4 -1
  137. package/dist/tests/testUtils.js.map +1 -1
  138. package/dist/typeUtils/accountOrAgentIDfromSessionID.d.ts +4 -0
  139. package/dist/typeUtils/accountOrAgentIDfromSessionID.d.ts.map +1 -0
  140. package/dist/typeUtils/expectGroup.d.ts +4 -0
  141. package/dist/typeUtils/expectGroup.d.ts.map +1 -0
  142. package/dist/typeUtils/isAccountID.d.ts +4 -0
  143. package/dist/typeUtils/isAccountID.d.ts.map +1 -0
  144. package/dist/typeUtils/isCoValue.d.ts +4 -0
  145. package/dist/typeUtils/isCoValue.d.ts.map +1 -0
  146. package/dist/utils.d.ts +5 -0
  147. package/dist/utils.d.ts.map +1 -0
  148. package/package.json +6 -6
  149. package/src/coValueCore.ts +7 -9
  150. package/src/coValueState.ts +6 -2
  151. package/src/coValues/group.ts +84 -9
  152. package/src/crypto/PureJSCrypto.ts +1 -3
  153. package/src/crypto/WasmCrypto.ts +1 -3
  154. package/src/crypto/crypto.ts +1 -1
  155. package/src/jsonValue.ts +9 -5
  156. package/src/localNode.ts +7 -5
  157. package/src/logger.ts +26 -6
  158. package/src/permissions.ts +3 -4
  159. package/src/storage/index.ts +12 -17
  160. package/src/sync.ts +26 -26
  161. package/src/tests/group.test.ts +187 -0
  162. package/src/tests/permissions.test.ts +285 -0
  163. package/src/tests/testUtils.ts +4 -1
  164. package/tsconfig.json +3 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,YAAY,EACb,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAWpD,wBAAgB,kCAAkC,IAAI;IACpD,eAAe;IACf,SAAS;CACV,CAMA;AAED,wBAAgB,cAAc,cAG7B;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;GA8BxB;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,EACvB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;GA0DxB;AAED,wBAAgB,eAAe,CAC7B,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,EACZ,KAAK,EAAE,QAAQ,GAAG,QAAQ,EAC1B,KAAK,EAAE,QAAQ,GAAG,QAAQ,QAa3B;AAED,wBAAgB,QAAQ;;;;EAkBvB;AAED,wBAAgB,kBAAkB;;;;;;EAgBjC;AAED,wBAAgB,iBAAiB;;;;EAWhC;AAED,wBAAgB,2BAA2B;;;;;EAQ1C;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAChC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,GAAG,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACvB,OAAO,CAAC,IAAI,CAAC,CAaf;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,MAAM,OAAO,GAAG,IAAI,iBA0BrD;AAED,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAC1D,IAAI,EAAE,SAAS,EACf,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,GACV,OAAO,CAAC,CAAC,CAAC,CAMZ;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC;;;EAyBnC;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,UAMlC;AAED;;;;;;GAMG;AACH,cAAM,gBAAiB,SAAQ,YAAY;IACzC,OAAO,CAAC,SAAS,CAEf;IAEF,SAAS,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAGrC,SAAS,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KAAO;IAgB/C,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;CAYxC;AAED,wBAAgB,sBAAsB,qBAWrC;AAED,wBAAgB,wBAAwB,SAEvC;AAED,wBAAgB,eAAe,cAG9B;AAED,wBAAsB,4BAA4B,CAAC,IAAI;;CAAsB;;;;;cAqDnE,QAAQ,GAAG,QAAQ;aACpB,WAAW;;;GA1CnB;AAED,wBAAsB,uBAAuB,CAAC,IAAI;;CAAsB;;;;;;cAuC9D,QAAQ,GAAG,QAAQ;aACpB,WAAW;;;GAlBnB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,UAAO;;;;cAe/D,QAAQ,GAAG,QAAQ;aACpB,WAAW;;;EA0BnB"}
@@ -1,6 +1,6 @@
1
1
  import { metrics } from "@opentelemetry/api";
2
2
  import { AggregationTemporality, InMemoryMetricExporter, MeterProvider, MetricReader, } from "@opentelemetry/sdk-metrics";
3
- import { expect, vi } from "vitest";
3
+ import { expect, onTestFinished, vi } from "vitest";
4
4
  import { ControlledAgent } from "../coValues/account.js";
5
5
  import { WasmCrypto } from "../crypto/WasmCrypto.js";
6
6
  import { LocalNode } from "../localNode.js";
@@ -120,6 +120,9 @@ export function newGroupHighLevel() {
120
120
  const [admin, sessionID] = randomAnonymousAccountAndSessionID();
121
121
  const node = new LocalNode(admin, sessionID, Crypto);
122
122
  const group = node.createGroup();
123
+ onTestFinished(() => {
124
+ node.gracefulShutdown();
125
+ });
123
126
  return { admin, node, group };
124
127
  }
125
128
  export function groupWithTwoAdminsHighLevel() {
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/tests/testUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { RawAccountID } from "../coValues/account.js";
2
+ import { AgentID, SessionID } from "../ids.js";
3
+ export declare function accountOrAgentIDfromSessionID(sessionID: SessionID): RawAccountID | AgentID;
4
+ //# sourceMappingURL=accountOrAgentIDfromSessionID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountOrAgentIDfromSessionID.d.ts","sourceRoot":"","sources":["../../src/typeUtils/accountOrAgentIDfromSessionID.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,SAAS,GACnB,YAAY,GAAG,OAAO,CAGxB"}
@@ -0,0 +1,4 @@
1
+ import { type RawCoValue } from "../coValue.js";
2
+ import { RawGroup } from "../coValues/group.js";
3
+ export declare function expectGroup(content: RawCoValue): RawGroup;
4
+ //# sourceMappingURL=expectGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expectGroup.d.ts","sourceRoot":"","sources":["../../src/typeUtils/expectGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAa,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,wBAAgB,WAAW,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAWzD"}
@@ -0,0 +1,4 @@
1
+ import type { RawAccountID } from "../coValues/account.js";
2
+ import type { AgentID } from "../ids.js";
3
+ export declare function isAccountID(id: RawAccountID | AgentID): id is RawAccountID;
4
+ //# sourceMappingURL=isAccountID.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isAccountID.d.ts","sourceRoot":"","sources":["../../src/typeUtils/isAccountID.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAgB,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,GAAG,EAAE,IAAI,YAAY,CAE1E"}
@@ -0,0 +1,4 @@
1
+ import { type RawCoValue } from "../coValue.js";
2
+ import type { JsonValue } from "../jsonValue.js";
3
+ export declare function isCoValue(value: JsonValue | RawCoValue | undefined): value is RawCoValue;
4
+ //# sourceMappingURL=isCoValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCoValue.d.ts","sourceRoot":"","sources":["../../src/typeUtils/isCoValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAKhD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,GAAG,UAAU,GAAG,SAAS,GACxC,KAAK,IAAI,UAAU,CAOrB"}
@@ -0,0 +1,5 @@
1
+ export declare function parseError(e: unknown): {
2
+ message: string | null;
3
+ stack: string | null;
4
+ };
5
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG;IACtC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB,CAKA"}
package/package.json CHANGED
@@ -2,22 +2,22 @@
2
2
  "name": "cojson",
3
3
  "module": "dist/index.js",
4
4
  "main": "dist/index.js",
5
- "types": "src/index.ts",
5
+ "types": "dist/index.d.ts",
6
6
  "exports": {
7
7
  ".": {
8
- "types": "./src/index.ts",
8
+ "types": "./dist/index.d.ts",
9
9
  "default": "./dist/index.js"
10
10
  },
11
11
  "./dist/crypto/PureJSCrypto": {
12
- "types": "./src/crypto/PureJSCrypto.ts",
12
+ "types": "./dist/crypto/PureJSCrypto.d.ts",
13
13
  "default": "./dist/crypto/PureJSCrypto.js"
14
14
  },
15
15
  "./crypto/PureJSCrypto": {
16
- "types": "./src/crypto/PureJSCrypto.ts",
16
+ "types": "./dist/crypto/PureJSCrypto.d.ts",
17
17
  "default": "./dist/crypto/PureJSCrypto.js"
18
18
  },
19
19
  "./crypto/WasmCrypto": {
20
- "types": "./src/crypto/WasmCrypto.ts",
20
+ "types": "./dist/crypto/WasmCrypto.d.ts",
21
21
  "default": "./dist/crypto/WasmCrypto.js"
22
22
  },
23
23
  "./dist/*": "./dist/*",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "type": "module",
27
27
  "license": "MIT",
28
- "version": "0.10.15",
28
+ "version": "0.11.3",
29
29
  "devDependencies": {
30
30
  "@opentelemetry/sdk-metrics": "^1.29.0",
31
31
  "typescript": "~5.6.2",
@@ -328,10 +328,7 @@ export class CoValueCore {
328
328
  try {
329
329
  listener(content);
330
330
  } catch (e) {
331
- logger.error(
332
- "Error in listener for coValue " + this.id,
333
- parseError(e),
334
- );
331
+ logger.error("Error in listener for coValue " + this.id, { err: e });
335
332
  }
336
333
  }
337
334
  } else {
@@ -345,10 +342,9 @@ export class CoValueCore {
345
342
  try {
346
343
  listener(content);
347
344
  } catch (e) {
348
- logger.error(
349
- "Error in listener for coValue " + this.id,
350
- parseError(e),
351
- );
345
+ logger.error("Error in listener for coValue " + this.id, {
346
+ err: e,
347
+ });
352
348
  }
353
349
  }
354
350
  resolve();
@@ -545,7 +541,9 @@ export class CoValueCore {
545
541
  }
546
542
 
547
543
  if (!decryptedChanges) {
548
- logger.error("Failed to decrypt transaction despite having key");
544
+ logger.error("Failed to decrypt transaction despite having key", {
545
+ err: new Error("Failed to decrypt transaction despite having key"),
546
+ });
549
547
  continue;
550
548
  }
551
549
 
@@ -285,7 +285,9 @@ async function loadCoValueFromPeers(
285
285
  ...coValueEntry.state.coValue.knownState(),
286
286
  })
287
287
  .catch((err) => {
288
- logger.warn(`Failed to push load message to peer ${peer.id}`, err);
288
+ logger.warn(`Failed to push load message to peer ${peer.id}`, {
289
+ err,
290
+ });
289
291
  });
290
292
  } else {
291
293
  /**
@@ -299,7 +301,9 @@ async function loadCoValueFromPeers(
299
301
  sessions: {},
300
302
  })
301
303
  .catch((err) => {
302
- logger.warn(`Failed to push load message to peer ${peer.id}`, err);
304
+ logger.warn(`Failed to push load message to peer ${peer.id}`, {
305
+ err,
306
+ });
303
307
  });
304
308
  }
305
309
 
@@ -29,7 +29,12 @@ import { RawBinaryCoStream, RawCoStream } from "./coStream.js";
29
29
  export const EVERYONE = "everyone" as const;
30
30
  export type Everyone = "everyone";
31
31
 
32
- export type ParentGroupReferenceRole = "extend" | "reader" | "writer" | "admin";
32
+ export type ParentGroupReferenceRole =
33
+ | "revoked"
34
+ | "extend"
35
+ | "reader"
36
+ | "writer"
37
+ | "admin";
33
38
 
34
39
  export type GroupShape = {
35
40
  profile: CoID<RawCoMap> | null;
@@ -45,7 +50,7 @@ export type GroupShape = {
45
50
  { encryptedID: KeyID; encryptingID: KeyID }
46
51
  >;
47
52
  [parent: ParentGroupReference]: ParentGroupReferenceRole;
48
- [child: ChildGroupReference]: "extend";
53
+ [child: ChildGroupReference]: "revoked" | "extend";
49
54
  };
50
55
 
51
56
  /** A `Group` is a scope for permissions of its members (`"reader" | "writer" | "admin"`), applying to objects owned by that group.
@@ -77,7 +82,7 @@ export class RawGroup<
77
82
  *
78
83
  * @category 1. Role reading
79
84
  */
80
- roleOf(accountID: RawAccountID): Role | undefined {
85
+ roleOf(accountID: RawAccountID | typeof EVERYONE): Role | undefined {
81
86
  return this.roleOfInternal(accountID)?.role;
82
87
  }
83
88
 
@@ -85,15 +90,15 @@ export class RawGroup<
85
90
  roleOfInternal(
86
91
  accountID: RawAccountID | AgentID | typeof EVERYONE,
87
92
  ): { role: Role; via: CoID<RawGroup> | undefined } | undefined {
88
- const roleHere = this.get(accountID);
93
+ let roleHere = this.get(accountID);
89
94
 
90
95
  if (roleHere === "revoked") {
91
- return undefined;
96
+ roleHere = undefined;
92
97
  }
93
98
 
94
99
  let roleInfo:
95
100
  | {
96
- role: Exclude<Role, "revoked">;
101
+ role: Role;
97
102
  via: CoID<RawGroup> | undefined;
98
103
  }
99
104
  | undefined = roleHere && { role: roleHere, via: undefined };
@@ -114,6 +119,12 @@ export class RawGroup<
114
119
  }
115
120
  }
116
121
 
122
+ if (!roleInfo && accountID !== "everyone") {
123
+ const everyoneRole = this.get("everyone");
124
+
125
+ if (everyoneRole) return { role: everyoneRole, via: undefined };
126
+ }
127
+
117
128
  return roleInfo;
118
129
  }
119
130
 
@@ -122,6 +133,11 @@ export class RawGroup<
122
133
 
123
134
  for (const key of this.keys()) {
124
135
  if (isParentGroupReference(key)) {
136
+ // Check if the parent group reference is revoked
137
+ if (this.get(key) === "revoked") {
138
+ continue;
139
+ }
140
+
125
141
  const parent = this.core.node.expectCoValueLoaded(
126
142
  getParentGroupId(key),
127
143
  "Expected parent group to be loaded",
@@ -183,6 +199,11 @@ export class RawGroup<
183
199
 
184
200
  for (const key of this.keys()) {
185
201
  if (isChildGroupReference(key)) {
202
+ // Check if the child group reference is revoked
203
+ if (this.get(key) === "revoked") {
204
+ continue;
205
+ }
206
+
186
207
  const child = this.core.node.expectCoValueLoaded(
187
208
  getChildGroupId(key),
188
209
  "Expected child group to be loaded",
@@ -385,6 +406,18 @@ export class RawGroup<
385
406
  });
386
407
  }
387
408
 
409
+ getAllMemberKeysSet() {
410
+ const memberKeys = new Set(this.getMemberKeys());
411
+
412
+ for (const { group } of this.getParentGroups()) {
413
+ for (const key of group.getAllMemberKeysSet()) {
414
+ memberKeys.add(key);
415
+ }
416
+ }
417
+
418
+ return memberKeys;
419
+ }
420
+
388
421
  /** @internal */
389
422
  rotateReadKey(removedMemberKey?: RawAccountID | AgentID | "everyone") {
390
423
  const memberKeys = this.getMemberKeys().filter(
@@ -606,6 +639,43 @@ export class RawGroup<
606
639
  );
607
640
  }
608
641
 
642
+ async revokeExtend(parent: RawGroup) {
643
+ if (this.myRole() !== "admin") {
644
+ throw new Error(
645
+ "To unextend a group, the current account must be an admin in the child group",
646
+ );
647
+ }
648
+
649
+ if (
650
+ parent.myRole() !== "admin" &&
651
+ parent.myRole() !== "writer" &&
652
+ parent.myRole() !== "reader" &&
653
+ parent.myRole() !== "writeOnly"
654
+ ) {
655
+ throw new Error(
656
+ "To unextend a group, the current account must be a member of the parent group",
657
+ );
658
+ }
659
+
660
+ if (
661
+ !this.get(`parent_${parent.id}`) ||
662
+ this.get(`parent_${parent.id}`) === "revoked"
663
+ ) {
664
+ return;
665
+ }
666
+
667
+ // Set the parent key on the child group to `revoked`
668
+ this.set(`parent_${parent.id}`, "revoked", "trusting");
669
+
670
+ // Set the child key on the parent group to `revoked`
671
+ parent.set(`child_${this.id}`, "revoked", "trusting");
672
+
673
+ await this.loadAllChildGroups();
674
+
675
+ // Rotate the keys on the child group
676
+ this.rotateReadKey();
677
+ }
678
+
609
679
  /**
610
680
  * Strips the specified member of all roles (preventing future writes in
611
681
  * the group and owned values) and rotates the read encryption key for that group
@@ -781,8 +851,9 @@ export class RawGroup<
781
851
 
782
852
  export function isInheritableRole(
783
853
  roleInParent: Role | undefined,
784
- ): roleInParent is "admin" | "writer" | "reader" {
854
+ ): roleInParent is "revoked" | "admin" | "writer" | "reader" {
785
855
  return (
856
+ roleInParent === "revoked" ||
786
857
  roleInParent === "admin" ||
787
858
  roleInParent === "writer" ||
788
859
  roleInParent === "reader"
@@ -790,9 +861,13 @@ export function isInheritableRole(
790
861
  }
791
862
 
792
863
  function isMorePermissiveAndShouldInherit(
793
- roleInParent: "admin" | "writer" | "reader",
794
- roleInChild: Exclude<Role, "revoked"> | undefined,
864
+ roleInParent: "revoked" | "admin" | "writer" | "reader",
865
+ roleInChild: Role | undefined,
795
866
  ) {
867
+ if (roleInParent === "revoked") {
868
+ return true;
869
+ }
870
+
796
871
  if (roleInParent === "admin") {
797
872
  return !roleInChild || roleInChild !== "admin";
798
873
  }
@@ -195,9 +195,7 @@ export class PureJSCrypto extends CryptoProvider<Blake3State> {
195
195
  try {
196
196
  return JSON.parse(textDecoder.decode(plaintext));
197
197
  } catch (e) {
198
- logger.error(
199
- "Failed to decrypt/parse sealed message: " + (e as Error)?.message,
200
- );
198
+ logger.error("Failed to decrypt/parse sealed message", { err: e });
201
199
  return undefined;
202
200
  }
203
201
  }
@@ -179,9 +179,7 @@ export class WasmCrypto extends CryptoProvider<Blake3State> {
179
179
  try {
180
180
  return JSON.parse(plaintext) as T;
181
181
  } catch (e) {
182
- logger.error(
183
- "Failed to decrypt/parse sealed message: " + (e as Error)?.message,
184
- );
182
+ logger.error("Failed to decrypt/parse sealed message", { err: e });
185
183
  return undefined;
186
184
  }
187
185
  }
@@ -163,7 +163,7 @@ export abstract class CryptoProvider<Blake3State = any> {
163
163
  try {
164
164
  return parseJSON(this.decryptRaw(encrypted, keySecret, nOnceMaterial));
165
165
  } catch (e) {
166
- logger.error("Decryption error: " + (e as Error)?.message);
166
+ logger.error("Decryption error", { err: e });
167
167
  return undefined;
168
168
  }
169
169
  }
package/src/jsonValue.ts CHANGED
@@ -8,11 +8,15 @@ export type JsonObject = { [key: string]: JsonValue | undefined };
8
8
  type AtLeastOne<T, U = { [K in keyof T]: Pick<T, K> }> = Partial<T> &
9
9
  U[keyof U];
10
10
  type ExcludeEmpty<T> = T extends AtLeastOne<T> ? T : never;
11
+ type ExcludeNull<T> = T extends null ? never : T;
12
+ type IsFunction<T> = T extends (...args: any[]) => any ? true : false;
13
+ type ContainsSymbolKeys<T> = keyof ExcludeNull<T> extends symbol ? true : false;
11
14
 
12
- export type CoJsonValue<T> =
13
- | JsonValue
14
- | CoJsonObjectWithIndex<T>
15
- | CoJsonArray<T>;
15
+ export type CoJsonValue<T> = IsFunction<T> extends true
16
+ ? "Functions are not allowed"
17
+ : ContainsSymbolKeys<T> extends true
18
+ ? "Only string or number keys are allowed"
19
+ : JsonValue | CoJsonObjectWithIndex<T> | CoJsonArray<T>;
16
20
  export type CoJsonArray<T> = CoJsonValue<T>[] | readonly CoJsonValue<T>[];
17
21
 
18
22
  /**
@@ -25,7 +29,7 @@ export type CoJsonArray<T> = CoJsonValue<T>[] | readonly CoJsonValue<T>[];
25
29
  * Applying the ExcludeEmpty type here to make sure we don't accept functions or non-serializable values
26
30
  */
27
31
  export type CoJsonObjectWithIndex<T> = ExcludeEmpty<{
28
- [K in keyof T & string]: CoJsonValue1L<T[K]> | undefined;
32
+ [K in keyof T]: CoJsonValue1L<T[K]> | undefined;
29
33
  }>;
30
34
 
31
35
  /**
package/src/localNode.ts CHANGED
@@ -231,7 +231,7 @@ export class LocalNode {
231
231
 
232
232
  return node;
233
233
  } catch (e) {
234
- logger.error("Error withLoadedAccount: " + (e as Error)?.message);
234
+ logger.error("Error withLoadedAccount", { err: e });
235
235
  throw e;
236
236
  }
237
237
  }
@@ -270,8 +270,9 @@ export class LocalNode {
270
270
  this.syncManager.getServerAndStoragePeers(skipLoadingFromPeer);
271
271
 
272
272
  await entry.loadFromPeers(peers).catch((e) => {
273
- logger.error("Error loading from peers: " + (e as Error)?.message, {
273
+ logger.error("Error loading from peers", {
274
274
  id,
275
+ err: e,
275
276
  });
276
277
  });
277
278
  }
@@ -326,9 +327,10 @@ export class LocalNode {
326
327
  unsubscribe = coValue.subscribe(callback);
327
328
  })
328
329
  .catch((e) => {
329
- logger.error(
330
- "Error subscribing to " + id + ": " + (e as Error)?.message,
331
- );
330
+ logger.error("Subscription error", {
331
+ id,
332
+ err: e,
333
+ });
332
334
  });
333
335
 
334
336
  return () => {
package/src/logger.ts CHANGED
@@ -8,11 +8,19 @@ export enum LogLevel {
8
8
  NONE = 4,
9
9
  }
10
10
 
11
+ type ErrorAttributes = { err: unknown };
12
+
11
13
  export interface LogSystem {
12
14
  debug(message: string, attributes?: Record<string, JsonValue>): void;
13
15
  info(message: string, attributes?: Record<string, JsonValue>): void;
14
- warn(message: string, attributes?: Record<string, JsonValue>): void;
15
- error(message: string, attributes?: Record<string, JsonValue>): void;
16
+ warn(
17
+ message: string,
18
+ attributes?: Record<string, JsonValue> | ErrorAttributes,
19
+ ): void;
20
+ error(
21
+ message: string,
22
+ attributes?: Record<string, JsonValue> | ErrorAttributes,
23
+ ): void;
16
24
  }
17
25
 
18
26
  // Default console-based logging system
@@ -23,10 +31,16 @@ export class ConsoleLogSystem implements LogSystem {
23
31
  info(message: string, attributes?: Record<string, JsonValue>) {
24
32
  console.info(message, attributes);
25
33
  }
26
- warn(message: string, attributes?: Record<string, JsonValue>) {
34
+ warn(
35
+ message: string,
36
+ attributes?: Record<string, JsonValue> | ErrorAttributes,
37
+ ) {
27
38
  console.warn(message, attributes);
28
39
  }
29
- error(message: string, attributes?: Record<string, JsonValue>) {
40
+ error(
41
+ message: string,
42
+ attributes?: Record<string, JsonValue> | ErrorAttributes,
43
+ ) {
30
44
  console.error(message, attributes);
31
45
  }
32
46
  }
@@ -63,13 +77,19 @@ export class Logger {
63
77
  }
64
78
  }
65
79
 
66
- warn(message: string, attributes?: Record<string, JsonValue>) {
80
+ warn(
81
+ message: string,
82
+ attributes?: Record<string, JsonValue> | ErrorAttributes,
83
+ ) {
67
84
  if (this.level <= LogLevel.WARN) {
68
85
  this.logSystem.warn(message, attributes);
69
86
  }
70
87
  }
71
88
 
72
- error(message: string, attributes?: Record<string, JsonValue>) {
89
+ error(
90
+ message: string,
91
+ attributes?: Record<string, JsonValue> | ErrorAttributes,
92
+ ) {
73
93
  if (this.level <= LogLevel.ERROR) {
74
94
  this.logSystem.error(message, attributes);
75
95
  }
@@ -101,8 +101,7 @@ export function determineValidTransactions(
101
101
  }
102
102
 
103
103
  const transactorRoleAtTxTime =
104
- groupAtTime.roleOfInternal(effectiveTransactor)?.role ||
105
- groupAtTime.roleOfInternal(EVERYONE)?.role;
104
+ groupAtTime.roleOfInternal(effectiveTransactor)?.role;
106
105
 
107
106
  if (
108
107
  transactorRoleAtTxTime !== "admin" &&
@@ -135,8 +134,8 @@ export function determineValidTransactions(
135
134
  }
136
135
 
137
136
  function isHigherRole(a: Role, b: Role | undefined) {
138
- if (a === undefined) return false;
139
- if (b === undefined) return true;
137
+ if (a === undefined || a === "revoked") return false;
138
+ if (b === undefined || b === "revoked") return true;
140
139
  if (b === "admin") return false;
141
140
  if (a === "admin") return true;
142
141
 
@@ -83,30 +83,23 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
83
83
  await this.sendNewContent(msg.id, msg, undefined);
84
84
  }
85
85
  } catch (e) {
86
- logger.error(
87
- `Error reading from localNode, handling msg\n\n${JSON.stringify(
88
- msg,
89
- (k, v) =>
90
- k === "changes" || k === "encryptedChanges"
91
- ? v.slice(0, 20) + "..."
92
- : v,
93
- )}
94
- Error: ${e instanceof Error ? e.message : "Unknown error"},
95
- `,
96
- );
86
+ logger.error(`Error reading from localNode, handling msg`, {
87
+ msg,
88
+ err: e,
89
+ });
97
90
  }
98
91
  nMsg++;
99
92
  }
100
93
  };
101
94
 
102
95
  processMessages().catch((e) =>
103
- logger.error("Error in processMessages in storage", e),
96
+ logger.error("Error in processMessages in storage", { err: e }),
104
97
  );
105
98
 
106
99
  setTimeout(
107
100
  () =>
108
101
  this.compact().catch((e) => {
109
- logger.error("Error while compacting", e);
102
+ logger.error("Error while compacting", { err: e });
110
103
  }),
111
104
  20000,
112
105
  );
@@ -132,7 +125,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
132
125
  sessions: {},
133
126
  asDependencyOf,
134
127
  })
135
- .catch((e) => logger.error("Error while pushing known", e));
128
+ .catch((e) => logger.error("Error while pushing known", { err: e }));
136
129
 
137
130
  return;
138
131
  }
@@ -188,13 +181,15 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
188
181
  ...ourKnown,
189
182
  asDependencyOf,
190
183
  })
191
- .catch((e) => logger.error("Error while pushing known", e));
184
+ .catch((e) => logger.error("Error while pushing known", { err: e }));
192
185
 
193
186
  for (const message of newContentMessages) {
194
187
  if (Object.keys(message.new).length === 0) continue;
195
188
  this.toLocalNode
196
189
  .push(message)
197
- .catch((e) => logger.error("Error while pushing new content", e));
190
+ .catch((e) =>
191
+ logger.error("Error while pushing new content", { err: e }),
192
+ );
198
193
  }
199
194
 
200
195
  this.coValues[id] = coValue;
@@ -502,7 +497,7 @@ export class LSMStorage<WH, RH, FS extends FileSystem<WH, RH>> {
502
497
  setTimeout(
503
498
  () =>
504
499
  this.compact().catch((e) => {
505
- logger.error("Error while compacting", e);
500
+ logger.error("Error while compacting", { err: e });
506
501
  }),
507
502
  5000,
508
503
  );