cojson 0.18.33 → 0.18.35

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 (93) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +17 -0
  3. package/dist/SyncStateManager.d.ts.map +1 -1
  4. package/dist/SyncStateManager.js +2 -2
  5. package/dist/SyncStateManager.js.map +1 -1
  6. package/dist/coValueContentMessage.d.ts +5 -2
  7. package/dist/coValueContentMessage.d.ts.map +1 -1
  8. package/dist/coValueContentMessage.js +15 -0
  9. package/dist/coValueContentMessage.js.map +1 -1
  10. package/dist/coValueCore/SessionMap.d.ts +4 -3
  11. package/dist/coValueCore/SessionMap.d.ts.map +1 -1
  12. package/dist/coValueCore/SessionMap.js +21 -30
  13. package/dist/coValueCore/SessionMap.js.map +1 -1
  14. package/dist/coValueCore/coValueCore.d.ts +14 -6
  15. package/dist/coValueCore/coValueCore.d.ts.map +1 -1
  16. package/dist/coValueCore/coValueCore.js +32 -52
  17. package/dist/coValueCore/coValueCore.js.map +1 -1
  18. package/dist/coValueCore/verifiedState.d.ts +6 -4
  19. package/dist/coValueCore/verifiedState.d.ts.map +1 -1
  20. package/dist/coValueCore/verifiedState.js +21 -7
  21. package/dist/coValueCore/verifiedState.js.map +1 -1
  22. package/dist/coValues/group.d.ts.map +1 -1
  23. package/dist/coValues/group.js +20 -15
  24. package/dist/coValues/group.js.map +1 -1
  25. package/dist/knownState.d.ts +9 -1
  26. package/dist/knownState.d.ts.map +1 -1
  27. package/dist/knownState.js +29 -3
  28. package/dist/knownState.js.map +1 -1
  29. package/dist/localNode.d.ts +7 -2
  30. package/dist/localNode.d.ts.map +1 -1
  31. package/dist/localNode.js +10 -15
  32. package/dist/localNode.js.map +1 -1
  33. package/dist/queue/LocalTransactionsSyncQueue.d.ts +10 -9
  34. package/dist/queue/LocalTransactionsSyncQueue.d.ts.map +1 -1
  35. package/dist/queue/LocalTransactionsSyncQueue.js +53 -47
  36. package/dist/queue/LocalTransactionsSyncQueue.js.map +1 -1
  37. package/dist/storage/knownState.js +2 -2
  38. package/dist/storage/knownState.js.map +1 -1
  39. package/dist/sync.d.ts +1 -2
  40. package/dist/sync.d.ts.map +1 -1
  41. package/dist/sync.js +15 -19
  42. package/dist/sync.js.map +1 -1
  43. package/dist/tests/coPlainText.test.js +13 -14
  44. package/dist/tests/coPlainText.test.js.map +1 -1
  45. package/dist/tests/coValueContentMessage.test.js +130 -1
  46. package/dist/tests/coValueContentMessage.test.js.map +1 -1
  47. package/dist/tests/coValueCore.isCompletelyDownloaded.test.js +3 -2
  48. package/dist/tests/coValueCore.isCompletelyDownloaded.test.js.map +1 -1
  49. package/dist/tests/coValueCore.isStreaming.test.js +54 -3
  50. package/dist/tests/coValueCore.isStreaming.test.js.map +1 -1
  51. package/dist/tests/coValueCore.test.js +3 -6
  52. package/dist/tests/coValueCore.test.js.map +1 -1
  53. package/dist/tests/group.childKeyRotation.test.js +9 -9
  54. package/dist/tests/group.childKeyRotation.test.js.map +1 -1
  55. package/dist/tests/knownState.test.js +82 -10
  56. package/dist/tests/knownState.test.js.map +1 -1
  57. package/dist/tests/sync.load.test.js +29 -29
  58. package/dist/tests/sync.mesh.test.js +38 -31
  59. package/dist/tests/sync.mesh.test.js.map +1 -1
  60. package/dist/tests/sync.storage.test.js +24 -23
  61. package/dist/tests/sync.storage.test.js.map +1 -1
  62. package/dist/tests/sync.storageAsync.test.js +24 -23
  63. package/dist/tests/sync.storageAsync.test.js.map +1 -1
  64. package/dist/tests/sync.upload.test.js +58 -58
  65. package/dist/tests/testUtils.d.ts +11 -9
  66. package/dist/tests/testUtils.d.ts.map +1 -1
  67. package/dist/tests/testUtils.js +26 -16
  68. package/dist/tests/testUtils.js.map +1 -1
  69. package/package.json +3 -4
  70. package/src/SyncStateManager.ts +8 -2
  71. package/src/coValueContentMessage.ts +29 -2
  72. package/src/coValueCore/SessionMap.ts +41 -31
  73. package/src/coValueCore/coValueCore.ts +41 -74
  74. package/src/coValueCore/verifiedState.ts +36 -11
  75. package/src/coValues/group.ts +40 -27
  76. package/src/knownState.ts +39 -4
  77. package/src/localNode.ts +16 -21
  78. package/src/queue/LocalTransactionsSyncQueue.ts +77 -93
  79. package/src/storage/knownState.ts +2 -2
  80. package/src/sync.ts +24 -26
  81. package/src/tests/coPlainText.test.ts +13 -14
  82. package/src/tests/coValueContentMessage.test.ts +197 -2
  83. package/src/tests/coValueCore.isCompletelyDownloaded.test.ts +3 -2
  84. package/src/tests/coValueCore.isStreaming.test.ts +84 -2
  85. package/src/tests/coValueCore.test.ts +7 -10
  86. package/src/tests/group.childKeyRotation.test.ts +9 -9
  87. package/src/tests/knownState.test.ts +106 -9
  88. package/src/tests/sync.load.test.ts +29 -29
  89. package/src/tests/sync.mesh.test.ts +38 -31
  90. package/src/tests/sync.storage.test.ts +24 -23
  91. package/src/tests/sync.storageAsync.test.ts +24 -23
  92. package/src/tests/sync.upload.test.ts +58 -58
  93. package/src/tests/testUtils.ts +30 -18
@@ -1,4 +1,3 @@
1
- import { Result } from "neverthrow";
2
1
  import { GarbageCollector } from "./GarbageCollector.js";
3
2
  import type { CoID } from "./coValue.js";
4
3
  import type { RawCoValue } from "./coValue.js";
@@ -109,7 +108,13 @@ export declare class LocalNode {
109
108
  /** @internal */
110
109
  expectProfileLoaded(id: RawAccountID, expectation?: string): RawProfile;
111
110
  /** @internal */
112
- resolveAccountAgent(id: RawAccountID | AgentID, expectation?: string): Result<AgentID, ResolveAccountAgentError>;
111
+ resolveAccountAgent(id: RawAccountID | AgentID, expectation?: string): {
112
+ value: `sealer_z${string}/signer_z${string}`;
113
+ error: undefined;
114
+ } | {
115
+ value: undefined;
116
+ error: unknown;
117
+ };
113
118
  createGroup(uniqueness?: CoValueUniqueness): RawGroup;
114
119
  loadCoValueAsDifferentAgent(id: RawCoID, secret: AgentSecret, accountId?: RawAccountID | AgentID): Promise<AvailableCoValueCore>;
115
120
  /** @internal */
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.d.ts","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.d.ts","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
package/dist/localNode.js CHANGED
@@ -1,4 +1,3 @@
1
- import { err, ok } from "neverthrow";
2
1
  import { GarbageCollector } from "./GarbageCollector.js";
3
2
  import { CoValueCore, idforHeader, } from "./coValueCore/coValueCore.js";
4
3
  import { ControlledAccount, ControlledAgent, accountHeaderForInitialAgentSecret, expectAccount, } from "./coValues/account.js";
@@ -11,6 +10,7 @@ import { accountOrAgentIDfromSessionID } from "./typeUtils/accountOrAgentIDfromS
11
10
  import { expectGroup } from "./typeUtils/expectGroup.js";
12
11
  import { canBeBranched } from "./coValueCore/branching.js";
13
12
  import { connectedPeers } from "./streamUtils.js";
13
+ import { emptyKnownState } from "./knownState.js";
14
14
  /** A `LocalNode` represents a local view of a set of loaded `CoValue`s, from the perspective of a particular account (or primitive cryptographic agent).
15
15
 
16
16
  A `LocalNode` can have peers that it syncs to, for example some form of local persistence, or a sync server, such as `cloud.jazz.tools` (Jazz Cloud).
@@ -212,7 +212,7 @@ export class LocalNode {
212
212
  throw new Error("CoValue not available after providing header");
213
213
  }
214
214
  this.garbageCollector?.trackCoValueAccess(coValue);
215
- this.syncManager.syncHeader(coValue.verified);
215
+ this.syncManager.syncLocalTransaction(coValue.verified, emptyKnownState(id));
216
216
  return coValue;
217
217
  }
218
218
  /** @internal */
@@ -414,32 +414,27 @@ export class LocalNode {
414
414
  /** @internal */
415
415
  resolveAccountAgent(id, expectation) {
416
416
  if (isAgentID(id)) {
417
- return ok(id);
417
+ return { value: id, error: undefined };
418
418
  }
419
419
  let coValue;
420
420
  try {
421
421
  coValue = this.expectCoValueLoaded(id, expectation);
422
422
  }
423
423
  catch (e) {
424
- return err({
425
- type: "ErrorLoadingCoValueCore",
426
- expectation,
427
- id,
428
- error: e,
429
- });
424
+ return { value: undefined, error: e };
430
425
  }
431
426
  if (coValue.verified.header.type !== "comap" ||
432
427
  coValue.verified.header.ruleset.type !== "group" ||
433
428
  !coValue.verified.header.meta ||
434
429
  !("type" in coValue.verified.header.meta) ||
435
430
  coValue.verified.header.meta.type !== "account") {
436
- return err({
437
- type: "UnexpectedlyNotAccount",
438
- expectation,
439
- id,
440
- });
431
+ return {
432
+ value: undefined,
433
+ error: new Error(`Unexpectedly not account: ${expectation}`),
434
+ };
441
435
  }
442
- return ok(coValue.getCurrentContent().currentAgentID());
436
+ const account = coValue.getCurrentContent();
437
+ return { value: account.currentAgentID(), error: undefined };
443
438
  }
444
439
  createGroup(uniqueness = this.crypto.createdNowUnique()) {
445
440
  const account = this.getCurrentAgent();
@@ -1 +1 @@
1
- {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"localNode.js","sourceRoot":"","sources":["../src/localNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAEL,WAAW,EACX,WAAW,GACZ,MAAM,8BAA8B,CAAC;AAKtC,OAAO,EAEL,iBAAiB,EAEjB,eAAe,EAOf,kCAAkC,EAClC,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAGL,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAA+B,SAAS,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAgB,WAAW,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,8CAA8C,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;EAUE;AACF,MAAM,OAAO,SAAS;IAkBpB,6BAA6B;IAC7B,YACE,WAAwB,EACxB,gBAA2B,EAC3B,MAAsB;QAnBxB,gBAAgB;QACC,aAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;QAM5D,6BAA6B;QAC7B,gBAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QAEpC,qBAAgB,GAAiC,SAAS,CAAC;QAC3D,YAAO,GAAsB,SAAS,CAAC;QAUrC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,sBAAsB,CAAC,IAAyC;QAC9D,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,QAAQ,EACb,IAAI,EAAE,oBAAoB,IAAI,KAAK,CACpC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,OAAmB;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,UAAU,CAAC,EAAW;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,OAAO,CAAC,YAAY,KAAK,SAAS,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,EAAW;QACpB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,qBAAqB,CAAC,EAAW;QAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,0BAA0B;QACxB,OAAO,6BAA6B,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9D,CAAC;IAGD,eAAe;QACb,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACzD,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,eAAe,CAC5C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CACZ,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,mBAAmB,GAAG,IAAI,iBAAiB,CAC9C,aAAa,CACX,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,iBAAiB,EAAE,CAC7D,EACD,IAAI,CAAC,WAAW,CACjB,CAAC;YACJ,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,sBAAsB,CAAC,MAAc;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACzD,IAAI,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,wDAAwD,GAAG,MAAM,CAClE,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,oBAAoB,CAAC,MAAc;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,aAAa,CAClB,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,iBAAiB,EAAE,CACxD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,IAK5B;QACC,MAAM,EACJ,MAAM,EACN,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAClD,KAAK,GAAG,EAAE,GACX,GAAG,IAAI,CAAC;QACT,MAAM,aAAa,GAAG,kCAAkC,CACtD,kBAAkB,EAClB,MAAM,CACP,CAAC;QACF,MAAM,SAAS,GAAG,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAErD,MAAM,IAAI,GAAG,IAAI,SAAS,CACxB,kBAAkB,EAClB,MAAM,CAAC,kBAAkB,CAAC,SAAyB,CAAC,EACpD,MAAM,CACP,CAAC;QAEF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAE7D,MAAM,UAAU,GAAG,WAAW,CAC5B,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,iBAAiB,EAAE,CACtD,CAAC;QAEF,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAE5C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;YACzB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,CAAC;YACrD,EAAE,EAAE,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC;YAC3C,aAAa,EAAE;gBACb,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,iBAAiB,EAAE;aACxC;SACF,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,EAAE,QAAQ,cAAc,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;QAE1E,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAElD,OAAO,IAAI,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,EACnC,aAAa,EACb,KAAK,EACL,SAAS,EACT,MAAM,EACN,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,EAAE,EAClD,OAAO,GAQR;QAMC,MAAM,OAAO,GAAG,SAAS,CAAC,qBAAqB,CAAC;YAC9C,MAAM;YACN,kBAAkB;YAClB,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAE/B,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACxC,YAAY,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAC7C,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,CAAU;gBAC9C,IAAI,EAAE,aAAa,CAAC,IAAI;aACzB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,SAAS,CAAC;aAC/C,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,aAAa,EAAE,kBAAkB;YACjC,SAAS,EAAE,IAAI,CAAC,gBAAgB;SACjC,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAC7B,SAAS,EACT,aAAa,EACb,SAAS,EACT,KAAK,EACL,MAAM,EACN,SAAS,EACT,OAAO,GASR;QACC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,SAAS,CACxB,aAAa,EACb,SAAS,IAAI,MAAM,CAAC,kBAAkB,CAAC,SAAS,CAAC,EACjD,MAAM,CACP,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3C,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAExC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,sBAAsB;YACtB,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAE3B,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACpD,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,aAAa,CAAC,MAAqB;QACjC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,iDAAiD,EAAE;gBACjE,KAAK,EAAE,IAAI,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAE9B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,WAAW,CAAC,oBAAoB,CACnC,OAAO,CAAC,QAAQ,EAChB,eAAe,CAAC,EAAE,CAAC,CACpB,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,eAAe,CACnB,EAAW,EACX,mBAA4B,EAC5B,SAAmB;QAEnB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,SAAS,CACjB,0CAA0C,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CACxF,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,+CAA+C,EAAE;gBAC/D,KAAK,EAAE,IAAI,CAAC,OAAO;aACpB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAEpC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC1B,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,IACE,OAAO,CAAC,YAAY,KAAK,SAAS;gBAClC,OAAO,CAAC,YAAY,KAAK,aAAa,EACtC,CAAC;gBACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC;gBAEvE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxC,OAAO,OAAO,CAAC;gBACjB,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,6BAA6B,EAAE,CAAC;YAC7D,IACE,MAAM,CAAC,WAAW,EAAE;gBACpB,SAAS;gBACT,OAAO,IAAI,uBAAuB,CAAC,WAAW,EAC9C,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjB,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CACtB,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,WAAW,CAAC,CACzD;gBACD,OAAO,CAAC,gBAAgB,EAAE,EAAE,gDAAgD;aAC7E,CAAC,CAAC;YAEH,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,CACR,EAAW,EACX,SAAmB;QAEnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,EAAO,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAClB,EAAqB,EACrB,UAAkB,EAClB,aAAuB;QAEvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,CAAC,iBAAiB,EAAO,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAE3D,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,OAAO,MAAM,CAAC,iBAAiB,EAAO,CAAC;QACzC,CAAC;QAED,qGAAqG;QACrG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC;YACjD,OAAO,MAAM;iBACV,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC;iBACvC,iBAAiB,EAAO,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEtC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,OAAO,MAAM;iBACV,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC;iBACvC,iBAAiB,EAAO,CAAC;QAC9B,CAAC;QAED,OAAO,MAAM,CAAC,iBAAiB,EAAO,CAAC;IACzC,CAAC;IAED,SAAS,CAAuB,EAAW;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,iBAAiB,EAAO,CAAC;QAC1C,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6BAA6B;IAC7B,SAAS,CACP,EAAW,EACX,QAA6C,EAC7C,SAAmB;QAEnB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,WAAwB,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC;aACrB,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YAChB,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;gBAC9B,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE;gBACjC,EAAE;gBACF,GAAG,EAAE,CAAC;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,OAAO,GAAG,IAAI,CAAC;YACf,WAAW,EAAE,EAAE,CAAC;QAClB,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,mBAA4B,EAC5B,YAA0B;QAE1B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEnD,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;QAEnD,IAAI,KAAe,CAAC;QAEpB,IAAI,OAAO,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAuB,CAAC,CAAC;YAE/D,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,CAAC;YAED,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAC7D,0BAA0B,CAAC,YAAY,CAAC,CACzC,CAAC;QAEF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QAEhE,MAAM,UAAU,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACvD,KAAK,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE;gBAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACT,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC,EAC9D,IAAI,CACL,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE3C,IACE,YAAY,KAAK,OAAO;YACxB,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,KAAK,cAAc,CAAC;YAC5D,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,KAAK,QAAQ,CAAC;YACtD,CAAC,YAAY,KAAK,QAAQ,IAAI,UAAU,KAAK,cAAc,CAAC;YAC5D,CAAC,YAAY,IAAI,UAAU,KAAK,iBAAiB,CAAC,EAClD,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,2BAA2B,CACtE,KAAK,CAAC,EAAE,EACR,iBAAiB,CAClB,CAAC;QAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,yBAAyB,CAAC,iBAAiB,EAAE,CAC9C,CAAC;QAEF,aAAa,CAAC,iBAAiB,CAC7B,OAAO,EACP,UAAU,KAAK,aAAa;YAC1B,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,UAAU,KAAK,eAAe;gBAC9B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,UAAU,KAAK,cAAc;oBAC7B,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,UAAU,KAAK,iBAAiB;wBAChC,CAAC,CAAC,WAAW;wBACb,CAAC,CAAC,QAAQ,CACnB,CAAC;QAEF,MAAM,aAAa,GACjB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpE,uDAAuD;QACvD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,mBAAmB,CAAC,EAAW,EAAE,WAAoB;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,kBAAkB,CACxE,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,gBAAgB;IAChB,mBAAmB,CAAC,EAAgB,EAAE,WAAoB;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC1E,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,CACvE,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,mBAAmB,CAC7B,SAAS,EACT,WAAW,CACZ,CAAC,iBAAiB,EAAgB,CAAC;IACtC,CAAC;IAED,gBAAgB;IAChB,mBAAmB,CAAC,EAA0B,EAAE,WAAoB;QAClE,IAAI,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACzC,CAAC;QAED,IAAI,OAA6B,CAAC;QAElC,IAAI,CAAC;YACH,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACxC,CAAC;QAED,IACE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YACxC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO;YAChD,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI;YAC7B,CAAC,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;YACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAC/C,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,IAAI,KAAK,CAAC,6BAA6B,WAAW,EAAE,CAAC;aAC7D,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAgB,CAAC;QAE1D,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC/D,CAAC;IAED,WAAW,CACT,aAAgC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;QAE9D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YACtC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,EAAE;YACpD,IAAI,EAAE,IAAI;YACV,GAAG,UAAU;SACd,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE5D,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAEjD,KAAK,CAAC,GAAG,CACP,GAAG,OAAO,CAAC,EAAE,QAAQ,OAAO,CAAC,EAAE,EAAE,EACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,IAAI,EAAE,OAAO,CAAC,mBAAmB,EAAE;YACnC,EAAE,EAAE,OAAO,CAAC,eAAe,EAAE;YAC7B,aAAa,EAAE;gBACb,EAAE,EAAE,YAAY,CAAC,EAAE;gBACnB,EAAE,EAAE,YAAY,CAAC,iBAAiB,EAAE;aACrC;SACF,CAAC,EACF,UAAU,CACX,CAAC;QAEF,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE7C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,2BAA2B,CAC/B,EAAW,EACX,MAAmB,EACnB,SAAkC;QAElC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,SAAS,CAC3B,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,EACrD,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,MAAM,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9C,OAAO,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,qBAAqB,CAAC,SAAoB,EAAE,EAAW;QAC3D,MAAM,UAAU,GAAG,cAAc,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,GAAG,EAAE,EAAE;YAChE,SAAS,EAAE,QAAQ;YACnB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC9C,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAEpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE3D,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,OAAO,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnC,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAEjC,SAAS,CAAC,gBAAgB,EAAE,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/B,CAAC;CACF"}
@@ -1,6 +1,5 @@
1
- import { Transaction, VerifiedState } from "../coValueCore/verifiedState.js";
2
- import { Signature } from "../crypto/crypto.js";
3
- import { SessionID } from "../ids.js";
1
+ import { VerifiedState } from "../coValueCore/verifiedState.js";
2
+ import { CoValueKnownState } from "../knownState.js";
4
3
  import { NewContentMessage } from "../sync.js";
5
4
  /**
6
5
  * This queue is used to batch the sync of local transactions while preserving the order of updates between CoValues.
@@ -13,11 +12,15 @@ import { NewContentMessage } from "../sync.js";
13
12
  */
14
13
  export declare class LocalTransactionsSyncQueue {
15
14
  private readonly sync;
16
- private readonly queue;
15
+ private batch;
16
+ private firstChunks;
17
+ private lastUpdatedValue;
18
+ private lastUpdatedValueKnownState;
17
19
  constructor(sync: (content: NewContentMessage) => void);
18
- syncHeader: (coValue: VerifiedState) => void;
19
- syncTransaction: (coValue: VerifiedState, transaction: Transaction, sessionID: SessionID, signature: Signature, txIdx: number) => void;
20
- enqueue(content: NewContentMessage): void;
20
+ syncTransaction: (coValue: VerifiedState, knownStateBefore: CoValueKnownState) => void;
21
+ private addContentToBatch;
22
+ private nextBatchScheduled;
23
+ scheduleNextBatch(): void;
21
24
  private dirtyCoValuesTrackingSets;
22
25
  /**
23
26
  * It starts tracking all changed CoValues. Returns a `done()` function that returns a set of coValues' ids that have been modified since the start.
@@ -33,7 +36,5 @@ export declare class LocalTransactionsSyncQueue {
33
36
  trackDirtyCoValues: () => {
34
37
  done: () => Set<`co_z${string}`>;
35
38
  };
36
- private processingSyncs;
37
- processPendingSyncs(): void;
38
39
  }
39
40
  //# sourceMappingURL=LocalTransactionsSyncQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocalTransactionsSyncQueue.d.ts","sourceRoot":"","sources":["../../src/queue/LocalTransactionsSyncQueue.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAW,SAAS,EAAE,MAAM,WAAW,CAAC;AAK/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAGzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;gBAEhC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAEvE,UAAU,YAAa,aAAa,UAQlC;IAEF,eAAe,YACJ,aAAa,eACT,WAAW,aACb,SAAS,aACT,SAAS,SACb,MAAM,UA8Bb;IAEF,OAAO,CAAC,OAAO,EAAE,iBAAiB;IAUlC,OAAO,CAAC,yBAAyB,CAAgC;IAEjE;;;;;;;;;;OAUG;IACH,kBAAkB;;MAYhB;IAEF,OAAO,CAAC,eAAe,CAAS;IAChC,mBAAmB;CAqCpB"}
1
+ {"version":3,"file":"LocalTransactionsSyncQueue.d.ts","sourceRoot":"","sources":["../../src/queue/LocalTransactionsSyncQueue.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,OAAO,EAA6B,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;GAQG;AACH,qBAAa,0BAA0B;IAMzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,OAAO,CAAC,KAAK,CAA2B;IACxC,OAAO,CAAC,WAAW,CAAyC;IAC5D,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,0BAA0B,CAAgC;gBAErC,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,IAAI;IAEvE,eAAe,YACJ,aAAa,oBACJ,iBAAiB,UAqBnC;IAEF,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,kBAAkB,CAAS;IACnC,iBAAiB;IA0BjB,OAAO,CAAC,yBAAyB,CAAgC;IAEjE;;;;;;;;;;OAUG;IACH,kBAAkB;;MAYhB;CACH"}
@@ -1,6 +1,5 @@
1
- import { addTransactionToContentMessage, createContentMessage, knownStateFromContent, } from "../coValueContentMessage.js";
2
- import { combineKnownStateSessions, } from "../knownState.js";
3
- import { LinkedList } from "./LinkedList.js";
1
+ import { knownStateFromContent } from "../coValueContentMessage.js";
2
+ import { combineKnownStateSessions } from "../knownState.js";
4
3
  /**
5
4
  * This queue is used to batch the sync of local transactions while preserving the order of updates between CoValues.
6
5
  *
@@ -13,26 +12,25 @@ import { LinkedList } from "./LinkedList.js";
13
12
  export class LocalTransactionsSyncQueue {
14
13
  constructor(sync) {
15
14
  this.sync = sync;
16
- this.queue = new LinkedList();
17
- this.syncHeader = (coValue) => {
18
- const lastPendingSync = this.queue.tail?.value;
19
- if (lastPendingSync?.id === coValue.id) {
20
- return;
15
+ this.batch = [];
16
+ this.firstChunks = new Map();
17
+ this.syncTransaction = (coValue, knownStateBefore) => {
18
+ const lastUpdatedValue = this.lastUpdatedValue;
19
+ const lastUpdatedValueKnownState = this.lastUpdatedValueKnownState;
20
+ if (lastUpdatedValue && lastUpdatedValueKnownState) {
21
+ if (lastUpdatedValue.id === coValue.id) {
22
+ return;
23
+ }
24
+ this.addContentToBatch(lastUpdatedValue, lastUpdatedValueKnownState);
21
25
  }
22
- this.enqueue(createContentMessage(coValue.id, coValue.header));
23
- };
24
- this.syncTransaction = (coValue, transaction, sessionID, signature, txIdx) => {
25
- const lastPendingSync = this.queue.tail?.value;
26
- const lastSignatureIdx = coValue.getLastSignatureCheckpoint(sessionID);
27
- const isSignatureCheckpoint = lastSignatureIdx > -1 && lastSignatureIdx === txIdx;
28
- if (lastPendingSync?.id === coValue.id && !isSignatureCheckpoint) {
29
- addTransactionToContentMessage(lastPendingSync, transaction, sessionID, signature, txIdx);
30
- return;
26
+ this.lastUpdatedValue = coValue;
27
+ this.lastUpdatedValueKnownState = knownStateBefore;
28
+ for (const trackingSet of this.dirtyCoValuesTrackingSets) {
29
+ trackingSet.add(coValue.id);
31
30
  }
32
- const content = createContentMessage(coValue.id, coValue.header, false);
33
- addTransactionToContentMessage(content, transaction, sessionID, signature, txIdx);
34
- this.enqueue(content);
31
+ this.scheduleNextBatch();
35
32
  };
33
+ this.nextBatchScheduled = false;
36
34
  this.dirtyCoValuesTrackingSets = new Set();
37
35
  /**
38
36
  * It starts tracking all changed CoValues. Returns a `done()` function that returns a set of coValues' ids that have been modified since the start.
@@ -55,40 +53,48 @@ export class LocalTransactionsSyncQueue {
55
53
  },
56
54
  };
57
55
  };
58
- this.processingSyncs = false;
59
56
  }
60
- enqueue(content) {
61
- this.queue.push(content);
62
- this.processPendingSyncs();
63
- for (const trackingSet of this.dirtyCoValuesTrackingSets) {
64
- trackingSet.add(content.id);
57
+ addContentToBatch(coValue, knownStateBefore) {
58
+ const content = coValue.newContentSince(knownStateBefore, {
59
+ skipExpectContentUntil: true, // we need to calculate the streaming header considering the current batch
60
+ });
61
+ if (!content) {
62
+ return;
63
+ }
64
+ let firstChunk = this.firstChunks.get(coValue.id);
65
+ for (const piece of content) {
66
+ this.batch.push(piece);
67
+ // Check if the local content updates are in streaming, if so we need to add the info to the first chunk
68
+ if (firstChunk) {
69
+ if (!firstChunk.expectContentUntil) {
70
+ firstChunk.expectContentUntil =
71
+ knownStateFromContent(firstChunk).sessions;
72
+ }
73
+ combineKnownStateSessions(firstChunk.expectContentUntil, knownStateFromContent(piece).sessions);
74
+ }
75
+ else {
76
+ firstChunk = piece;
77
+ this.firstChunks.set(coValue.id, firstChunk);
78
+ }
65
79
  }
66
80
  }
67
- processPendingSyncs() {
68
- if (this.processingSyncs)
81
+ scheduleNextBatch() {
82
+ if (this.nextBatchScheduled)
69
83
  return;
70
- this.processingSyncs = true;
84
+ this.nextBatchScheduled = true;
71
85
  queueMicrotask(() => {
72
- const firstContentPieceMap = new Map();
73
- while (this.queue.head) {
74
- const content = this.queue.head.value;
75
- const firstContentPiece = firstContentPieceMap.get(content.id);
76
- if (!firstContentPiece) {
77
- firstContentPieceMap.set(content.id, content);
78
- }
79
- else {
80
- // There is already a content piece for this coValue, so this means that we need to flag
81
- // that this content is going to be streamed
82
- if (!firstContentPiece.expectContentUntil) {
83
- firstContentPiece.expectContentUntil =
84
- knownStateFromContent(firstContentPiece).sessions;
85
- }
86
- combineKnownStateSessions(firstContentPiece.expectContentUntil, knownStateFromContent(content).sessions);
87
- }
86
+ if (this.lastUpdatedValue && this.lastUpdatedValueKnownState) {
87
+ this.addContentToBatch(this.lastUpdatedValue, this.lastUpdatedValueKnownState);
88
+ }
89
+ const batch = this.batch;
90
+ this.lastUpdatedValue = undefined;
91
+ this.lastUpdatedValueKnownState = undefined;
92
+ this.firstChunks = new Map();
93
+ this.batch = [];
94
+ this.nextBatchScheduled = false;
95
+ for (const content of batch) {
88
96
  this.sync(content);
89
- this.queue.shift();
90
97
  }
91
- this.processingSyncs = false;
92
98
  });
93
99
  }
94
100
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalTransactionsSyncQueue.js","sourceRoot":"","sources":["../../src/queue/LocalTransactionsSyncQueue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalTransactionsSyncQueue.js","sourceRoot":"","sources":["../../src/queue/LocalTransactionsSyncQueue.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { emptyKnownState, isKnownStateSubsetOf, } from "../knownState.js";
1
+ import { emptyKnownState, areCurrentSessionsInSyncWith, } from "../knownState.js";
2
2
  /**
3
3
  * Track how much data we have stored inside our storage
4
4
  * and provides the API to wait for the data to be fully stored.
@@ -57,6 +57,6 @@ function isInSync(knownState, knownStateFromStorage) {
57
57
  if (!knownStateFromStorage.header && knownState.header) {
58
58
  return false;
59
59
  }
60
- return isKnownStateSubsetOf(knownState.sessions, knownStateFromStorage.sessions);
60
+ return areCurrentSessionsInSyncWith(knownState.sessions, knownStateFromStorage.sessions);
61
61
  }
62
62
  //# sourceMappingURL=knownState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knownState.js","sourceRoot":"","sources":["../../src/storage/knownState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knownState.js","sourceRoot":"","sources":["../../src/storage/knownState.ts"],"names":[],"mappings":"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"}
package/dist/sync.d.ts CHANGED
@@ -96,8 +96,7 @@ export declare class SyncManager {
96
96
  handleNewContent(msg: NewContentMessage, from: PeerState | "storage" | "import"): void;
97
97
  handleCorrection(msg: KnownStateMessage, peer: PeerState): void;
98
98
  private syncQueue;
99
- syncHeader: (coValue: import("./coValueCore/verifiedState.js").VerifiedState) => void;
100
- syncLocalTransaction: (coValue: import("./coValueCore/verifiedState.js").VerifiedState, transaction: Transaction, sessionID: SessionID, signature: Signature, txIdx: number) => void;
99
+ syncLocalTransaction: (coValue: import("./coValueCore/verifiedState.js").VerifiedState, knownStateBefore: CoValueKnownState) => void;
101
100
  trackDirtyCoValues: () => {
102
101
  done: () => Set<`co_z${string}`>;
103
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
package/dist/sync.js CHANGED
@@ -2,7 +2,7 @@ import { md5 } from "@noble/hashes/legacy";
2
2
  import { ValueType, metrics } from "@opentelemetry/api";
3
3
  import { PeerState } from "./PeerState.js";
4
4
  import { SyncStateManager } from "./SyncStateManager.js";
5
- import { getContenDebugInfo, getTransactionSize, knownStateFromContent, } from "./coValueContentMessage.js";
5
+ import { getContenDebugInfo, getNewTransactionsFromContentMessage, getSessionEntriesFromContentMessage, getTransactionSize, knownStateFromContent, } from "./coValueContentMessage.js";
6
6
  import { isRawCoID } from "./ids.js";
7
7
  import { logger } from "./logger.js";
8
8
  import { IncomingMessagesQueue } from "./queue/IncomingMessagesQueue.js";
@@ -28,7 +28,6 @@ export class SyncManager {
28
28
  });
29
29
  this.messagesQueue = new IncomingMessagesQueue();
30
30
  this.syncQueue = new LocalTransactionsSyncQueue((content) => this.syncContent(content));
31
- this.syncHeader = this.syncQueue.syncHeader;
32
31
  this.syncLocalTransaction = this.syncQueue.syncTransaction;
33
32
  this.trackDirtyCoValues = this.syncQueue.trackDirtyCoValues;
34
33
  this.local = local;
@@ -421,41 +420,40 @@ export class SyncManager {
421
420
  /**
422
421
  * The coValue is in memory, load the transactions from the content message
423
422
  */
424
- for (const [sessionID, newContentForSession] of Object.entries(msg.new)) {
425
- const ourKnownTxIdx = coValue.verified.sessions.get(sessionID)?.transactions.length;
426
- const theirFirstNewTxIdx = newContentForSession.after;
427
- if ((ourKnownTxIdx || 0) < theirFirstNewTxIdx) {
423
+ for (const [sessionID, newContentForSession,] of getSessionEntriesFromContentMessage(msg)) {
424
+ const newTransactions = getNewTransactionsFromContentMessage(newContentForSession, coValue.knownState(), sessionID);
425
+ if (newTransactions === undefined) {
428
426
  invalidStateAssumed = true;
429
427
  continue;
430
428
  }
431
- const alreadyKnownOffset = ourKnownTxIdx
432
- ? ourKnownTxIdx - theirFirstNewTxIdx
433
- : 0;
434
- const newTransactions = newContentForSession.newTransactions.slice(alreadyKnownOffset);
435
429
  if (newTransactions.length === 0) {
436
430
  continue;
437
431
  }
438
432
  // TODO: Handle invalid signatures in the middle of streaming
439
433
  // This could cause a situation where we are unable to load a chunk, and ask for a correction for all the subsequent chunks
440
- const result = coValue.tryAddTransactions(sessionID, newTransactions, newContentForSession.lastSignature, this.skipVerify);
441
- if (result.isErr()) {
434
+ const error = coValue.tryAddTransactions(sessionID, newTransactions, newContentForSession.lastSignature, this.skipVerify);
435
+ if (error) {
442
436
  if (peer) {
443
437
  logger.error("Failed to add transactions", {
444
438
  peerId: peer.id,
445
439
  peerRole: peer.role,
446
440
  id: msg.id,
447
- err: result.error,
441
+ errorType: error.type,
442
+ err: error.error,
443
+ sessionID,
448
444
  msgKnownState: knownStateFromContent(msg).sessions,
445
+ msgSummary: getContenDebugInfo(msg),
449
446
  knownState: coValue.knownState().sessions,
450
- newContent: validNewContent.new,
451
447
  });
452
448
  // TODO Mark only the session as errored, not the whole coValue
453
- coValue.markErrored(peer.id, result.error);
449
+ coValue.markErrored(peer.id, error);
454
450
  }
455
451
  else {
456
452
  logger.error("Failed to add transactions from storage", {
457
453
  id: msg.id,
458
- err: result.error,
454
+ err: error.error,
455
+ sessionID,
456
+ errorType: error.type,
459
457
  });
460
458
  }
461
459
  continue;
@@ -464,9 +462,7 @@ export class SyncManager {
464
462
  this.recordTransactionsSize(newTransactions, sourceRole);
465
463
  }
466
464
  // The new content for this session has been verified, so we can store it
467
- if (result.value) {
468
- validNewContent.new[sessionID] = newContentForSession;
469
- }
465
+ validNewContent.new[sessionID] = newContentForSession;
470
466
  }
471
467
  if (peer) {
472
468
  peer.combineWith(msg.id, knownStateFromContent(validNewContent));