@ibgib/core-gib 0.1.23 → 0.1.26

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 (80) hide show
  1. package/dist/common/other/graph-helper.d.mts +17 -0
  2. package/dist/common/other/graph-helper.d.mts.map +1 -1
  3. package/dist/common/other/graph-helper.mjs +44 -0
  4. package/dist/common/other/graph-helper.mjs.map +1 -1
  5. package/dist/common/other/ibgib-helper.d.mts +1 -1
  6. package/dist/common/other/ibgib-helper.d.mts.map +1 -1
  7. package/dist/common/other/ibgib-helper.mjs.map +1 -1
  8. package/dist/sync/graft-info/graft-info-helpers.mjs +2 -2
  9. package/dist/sync/graft-info/graft-info-helpers.mjs.map +1 -1
  10. package/dist/sync/sync-conflict.respec.mjs +10 -15
  11. package/dist/sync/sync-conflict.respec.mjs.map +1 -1
  12. package/dist/sync/sync-constants.d.mts +1 -0
  13. package/dist/sync/sync-constants.d.mts.map +1 -1
  14. package/dist/sync/sync-constants.mjs +1 -0
  15. package/dist/sync/sync-constants.mjs.map +1 -1
  16. package/dist/sync/sync-helpers.d.mts +5 -0
  17. package/dist/sync/sync-helpers.d.mts.map +1 -1
  18. package/dist/sync/sync-helpers.mjs +37 -1
  19. package/dist/sync/sync-helpers.mjs.map +1 -1
  20. package/dist/sync/sync-innerspace-constants.respec.mjs +10 -12
  21. package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -1
  22. package/dist/sync/sync-innerspace-deep-updates.respec.mjs +10 -12
  23. package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
  24. package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +10 -12
  25. package/dist/sync/sync-innerspace-dest-ahead.respec.mjs.map +1 -1
  26. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs +9 -12
  27. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
  28. package/dist/sync/sync-innerspace-partial-update.respec.mjs +9 -14
  29. package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -1
  30. package/dist/sync/sync-innerspace.respec.mjs +9 -12
  31. package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
  32. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.d.mts +2 -0
  33. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.d.mts.map +1 -1
  34. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs +4 -0
  35. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs.map +1 -1
  36. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts +24 -13
  37. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts.map +1 -1
  38. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs +176 -76
  39. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs.map +1 -1
  40. package/dist/sync/sync-peer/sync-peer-types.d.mts +29 -6
  41. package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
  42. package/dist/sync/sync-peer/sync-peer-v1.d.mts +38 -55
  43. package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
  44. package/dist/sync/sync-peer/sync-peer-v1.mjs +111 -244
  45. package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
  46. package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +32 -1
  47. package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts.map +1 -1
  48. package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs +96 -7
  49. package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs.map +1 -1
  50. package/dist/sync/sync-saga-coordinator.d.mts +59 -13
  51. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  52. package/dist/sync/sync-saga-coordinator.mjs +446 -304
  53. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  54. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts +51 -6
  55. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts.map +1 -1
  56. package/dist/sync/sync-types.d.mts +35 -10
  57. package/dist/sync/sync-types.d.mts.map +1 -1
  58. package/dist/sync/sync-types.mjs +1 -2
  59. package/dist/sync/sync-types.mjs.map +1 -1
  60. package/package.json +1 -1
  61. package/src/common/other/graph-helper.mts +53 -0
  62. package/src/common/other/ibgib-helper.mts +1 -1
  63. package/src/sync/graft-info/graft-info-helpers.mts +3 -3
  64. package/src/sync/sync-conflict.respec.mts +10 -17
  65. package/src/sync/sync-constants.mts +1 -0
  66. package/src/sync/sync-helpers.mts +47 -7
  67. package/src/sync/sync-innerspace-constants.respec.mts +10 -12
  68. package/src/sync/sync-innerspace-deep-updates.respec.mts +10 -12
  69. package/src/sync/sync-innerspace-dest-ahead.respec.mts +10 -12
  70. package/src/sync/sync-innerspace-multiple-timelines.respec.mts +9 -12
  71. package/src/sync/sync-innerspace-partial-update.respec.mts +9 -14
  72. package/src/sync/sync-innerspace.respec.mts +9 -12
  73. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mts +7 -0
  74. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +200 -75
  75. package/src/sync/sync-peer/sync-peer-types.mts +35 -11
  76. package/src/sync/sync-peer/sync-peer-v1.mts +154 -257
  77. package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +90 -13
  78. package/src/sync/sync-saga-coordinator.mts +536 -356
  79. package/src/sync/sync-saga-message/sync-saga-message-types.mts +56 -4
  80. package/src/sync/sync-types.mts +46 -13
@@ -1 +1 @@
1
- {"version":3,"file":"sync-peer-innerspace-v1.d.mts","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAG,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACjK,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAQtE;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAY,YAAW,0BAA0B;IAExF,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;IAEzD;;OAEG;IACH,SAAS,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IACnD;;OAEG;IACH,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;IACvC,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAC;IAExC,IAAa,SAAS,IAAI,MAAM,CAE/B;gBAGG,WAAW,EAAE,aAAa,EAC1B,eAAe,EAAE,aAAa,EAC9B,IAAI,EAAE,yBAAyB,EAC/B,WAAW,EAAE,yBAAyB,EACtC,aAAa,CAAC,EAAE,2BAA2B;cActB,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;cAsB1D,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAkBvC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;cAkBvC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAsBlH;;OAEG;cACa,QAAQ,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,EAAE,EACL,EAAE;QACC,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,EAAE,EAAE,aAAa,CAAA;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCpB"}
1
+ {"version":3,"file":"sync-peer-innerspace-v1.d.mts","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAG,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAA6B,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACjK,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAYhE;;;GAGG;AACH,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC5E;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,iBAAiB,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,gCAAgC,CACnF,YAAW,0BAA0B;IAErC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;IAEzD,IAAa,SAAS,IAAI,MAAM,CAE/B;gBAGG,WAAW,EAAE,yBAAyB,EACtC,aAAa,CAAC,EAAE,2BAA2B;cAKtB,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;cAkC1D,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAkKlH;;OAEG;cACa,QAAQ,CAAC,EACrB,KAAK,EACL,IAAI,EACJ,EAAE,EACL,EAAE;QACC,KAAK,EAAE,SAAS,EAAE,CAAC;QACnB,IAAI,EAAE,aAAa,CAAC;QACpB,EAAE,EAAE,aAAa,CAAA;KACpB,GAAG,OAAO,CAAC,IAAI,CAAC;CAkCpB"}
@@ -1,11 +1,13 @@
1
1
  /**
2
2
  * @module SyncPeerInnerspace_V1
3
3
  */
4
- import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
4
+ import { delay, extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
5
5
  import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
6
6
  import { GLOBAL_LOG_A_LOT } from '../../../core-constants.mjs';
7
7
  import { SyncPeer_V1 } from '../sync-peer-v1.mjs';
8
- import { getFromSpace, putInSpace } from '../../../witness/space/space-helper.mjs';
8
+ import { getFromSpace, putInSpace, registerNewIbGib } from '../../../witness/space/space-helper.mjs';
9
+ import { getSyncSagaFrameDependencyGraph, putInSpace_dnasThenNonDnas } from '../../sync-helpers.mjs';
10
+ import { toDto } from '../../../common/other/ibgib-helper.mjs';
9
11
  const logalot = GLOBAL_LOG_A_LOT || true;
10
12
  const logalotControlDomain = true;
11
13
  const lcControlDomain = '[ControlDomain]';
@@ -17,87 +19,40 @@ const lcControlDomain = '[ControlDomain]';
17
19
  */
18
20
  export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
19
21
  lc = `[${SyncPeerInnerspace_V1.name}]`;
20
- /**
21
- * specific to innerspace
22
- */
23
- receiverCoordinator;
24
- /**
25
- * specific to innerspace
26
- */
27
- receiverMetaspace;
28
- receiverSpace;
29
- receiverTempSpace;
30
22
  get classname() {
31
23
  return SyncPeerInnerspace_V1.name;
32
24
  }
33
- constructor(senderSpace, senderTempSpace, opts, initialData, initialRel8ns) {
34
- super(senderSpace, senderTempSpace, initialData, initialRel8ns);
35
- const { receiverCoordinator, receiverMetaspace, receiverSpace, receiverTempSpace } = opts;
36
- this.receiverCoordinator = receiverCoordinator;
37
- this.receiverMetaspace = receiverMetaspace;
38
- this.receiverSpace = receiverSpace;
39
- this.receiverTempSpace = receiverTempSpace;
25
+ constructor(initialData, initialRel8ns) {
26
+ super(initialData, initialRel8ns);
40
27
  }
41
28
  async ensureReceiverTempSpace() {
42
- if (!this.receiverTempSpace) {
43
- const { receiverMetaspace } = this;
44
- const uuid = crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36);
45
- const tempSpaceName = `tmp_sync_recv_${uuid.substring(0, 8)}`;
46
- const receiverTempSpace = await this.receiverMetaspace.createNewLocalSpace({
47
- opts: {
48
- allowCancel: false,
49
- spaceName: tempSpaceName,
50
- getFnPrompt: this.receiverMetaspace.getFnPrompt,
51
- logalot
52
- }
53
- });
54
- if (!receiverTempSpace) {
55
- throw new Error(`(UNEXPECTED) receiverTempSpace falsy? couldn't create a temp space? (E: a6b8f86b0f58384b884a33b82924b826)`);
56
- }
57
- await receiverTempSpace.initialized;
58
- this.receiverTempSpace = receiverTempSpace;
59
- }
60
- return this.receiverTempSpace;
61
- }
62
- async push(addrs) {
63
- const lc = `${this.lc}[${this.push.name}]`;
29
+ const lc = `${this.lc}[${this.ensureReceiverTempSpace.name}]`;
64
30
  try {
65
31
  if (logalot) {
66
- console.log(`${lc} starting... (I: 07bce80be18f3259b8a311ed9c4da926)`);
67
- }
68
- // silly defensive checks because this has been a ridiculous development cycle
69
- if (!this.senderSpace) {
70
- throw new Error(`(UNEXPECTED) this.senderSpace falsy? (E: 503e288168f5d297f4d4e028bc538826)`);
71
- }
72
- if (!this.receiverSpace) {
73
- throw new Error(`(UNEXPECTED) this.receiverSpace falsy? (E: 0bd7c1a0ba4868ac7a260e15b504e826)`);
32
+ console.log(`${lc} starting... (I: bab87f15dea77cd4892bd8a8d2e65826)`);
74
33
  }
75
- await this.transfer({ addrs, from: this.senderSpace, to: this.receiverSpace });
76
- }
77
- catch (error) {
78
- console.error(`${lc} ${extractErrorMsg(error)}`);
79
- throw error;
80
- }
81
- finally {
82
- if (logalot) {
83
- console.log(`${lc} complete.`);
34
+ if (!this.opts) {
35
+ throw new Error(`(UNEXPECTED) this.opts falsy? (E: 0f85bd4c3efdbee2a829aca860c48926)`);
84
36
  }
85
- }
86
- }
87
- async pull(addrs) {
88
- const lc = `${this.lc}[${this.pull.name}]`;
89
- try {
90
- if (logalot) {
91
- console.log(`${lc} starting... (I: b16a28ed0dc8f52f1838ee257d9b1126)`);
92
- }
93
- // silly defensive checks because this has been a ridiculous development cycle
94
- if (!this.receiverSpace) {
95
- throw new Error(`(UNEXPECTED) this.receiverSpace falsy? (E: bd2fdfa89ba4c89a185b68e9bb1f1c26)`);
96
- }
97
- if (!this.senderTempSpace) {
98
- throw new Error(`(UNEXPECTED) this.senderTempSpace falsy? (E: b23fa55713f881493dac4a9835ac7326)`);
37
+ if (!this.opts.receiverTempSpace) {
38
+ const { receiverMetaspace } = this.opts;
39
+ const uuid = crypto.randomUUID ? crypto.randomUUID() : Math.random().toString(36);
40
+ const tempSpaceName = `tmp_sync_recv_${uuid.substring(0, 8)}`;
41
+ const receiverTempSpace = await receiverMetaspace.createNewLocalSpace({
42
+ opts: {
43
+ allowCancel: false,
44
+ spaceName: tempSpaceName,
45
+ getFnPrompt: receiverMetaspace.getFnPrompt,
46
+ logalot
47
+ }
48
+ });
49
+ if (!receiverTempSpace) {
50
+ throw new Error(`(UNEXPECTED) receiverTempSpace falsy? couldn't create a temp space? (E: a6b8f86b0f58384b884a33b82924b826)`);
51
+ }
52
+ await receiverTempSpace.initialized;
53
+ this.opts.receiverTempSpace = receiverTempSpace;
99
54
  }
100
- await this.transfer({ addrs, from: this.receiverSpace, to: this.senderTempSpace });
55
+ return this.opts.receiverTempSpace;
101
56
  }
102
57
  catch (error) {
103
58
  console.error(`${lc} ${extractErrorMsg(error)}`);
@@ -111,12 +66,17 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
111
66
  }
112
67
  async sendContextRequest(context) {
113
68
  const lc = `${this.lc}[${this.sendContextRequest.name}]`;
114
- const { receiverSpace, receiverCoordinator, receiverMetaspace } = this;
115
69
  try {
70
+ if (!this.opts) {
71
+ throw new Error(`(UNEXPECTED) this.opts falsy? (E: d8b1348e3233810128999596b1fa5826)`);
72
+ }
73
+ const { senderSpace, senderTempSpace, receiverSpace, receiverCoordinator, receiverMetaspace, receiverTempSpace } = this.opts;
116
74
  if (logalot) {
117
75
  console.log(`${lc} starting...Context: ${getIbGibAddr({ ibGib: context })}`);
118
76
  }
119
- // 0. Validate context (naive, not business logic validation)
77
+ const { sagaFrame } = context;
78
+ // The context has already been validated, authenticated and authorized at this point.
79
+ // #region sanity validation assertions
120
80
  if (!context.data) {
121
81
  throw new Error(`(UNEXPECTED) context.data falsy? (E: 1d2ac8a9b991d451e8900588057fe626)`);
122
82
  }
@@ -129,7 +89,147 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
129
89
  if (!context.sagaFrame) {
130
90
  throw new Error(`(UNEXPECTED) context.sagaFrame falsy? (E: 79cd98a6d9b88a591f4596c8bc58ff26)`);
131
91
  }
132
- throw new Error(`not implemented (E: 72840872e252d9f7380f1998b5a0c826)`);
92
+ if (!sagaFrame.data) {
93
+ throw new Error(`(UNEXPECTED) sagaFrame.data falsy? (E: f30e290a8b770e1b387377420ea73a26)`);
94
+ }
95
+ if (!sagaFrame.rel8ns) {
96
+ throw new Error(`(UNEXPECTED) sagaFrame.rel8ns falsy? (E: f888caa698b8cf6b4893b7fd6df09726)`);
97
+ }
98
+ if (!receiverTempSpace) {
99
+ throw new Error(`(UNEXPECTED) receiverTempSpace falsy? (E: 3b46d838f6fc645c58b29215bfddb826)`);
100
+ }
101
+ // #endregion sanity validation assertions
102
+ const { sagaIbGib: _alreadyHave, msgStones, identities } = await getSyncSagaFrameDependencyGraph({
103
+ sagaIbGib: sagaFrame,
104
+ localSpace: senderSpace,
105
+ });
106
+ if (msgStones.length !== 1) {
107
+ throw new Error(`(UNEXPECTED) msgStones.length !== 1? we're only geared for a single msg stone that is always present (not 0, not greater than 1) (E: 2d3138ed130f1aca116551889483e826)`);
108
+ }
109
+ const msg = msgStones[0];
110
+ if (!msg.data) {
111
+ throw new Error(`(UNEXPECTED) sync saga message ibgib.data falsy? (E: 61ec18743988ad3cbab2072d1dd69826)`);
112
+ }
113
+ // send the context itself, then send the payload ibgibs separately.
114
+ // in this innerspace, this just means putting the control ibgibs
115
+ // first into the receiver durable space, then we will spin off a
116
+ // promise to put any payload ibgibs in the receiver temp space.
117
+ // We'll test a little latency also, to mimic a fuller, two-part
118
+ // sync peer to ensure that other code is acting as expected.
119
+ // we store inside out, meaning we do the dependencies first and
120
+ // then the higher-level dependents.
121
+ const payloadIbGibsControl = [
122
+ ...identities, msg, sagaFrame, context
123
+ ].map(x => toDto({ ibGib: x }));
124
+ await putInSpace({
125
+ ibGibs: payloadIbGibsControl,
126
+ space: receiverSpace,
127
+ });
128
+ // register yet??
129
+ for (const control of payloadIbGibsControl) {
130
+ await registerNewIbGib({
131
+ ibGib: control,
132
+ space: receiverSpace,
133
+ fnBroadcast: undefined
134
+ });
135
+ }
136
+ if (context.payloadIbGibsDomain && context.payloadIbGibsDomain.length > 0) {
137
+ await putInSpace_dnasThenNonDnas({
138
+ ibGibs: context.payloadIbGibsDomain,
139
+ space: receiverTempSpace,
140
+ });
141
+ // no need to register right now, because we're putting into the
142
+ // temp receiver space and we don't register until we commit
143
+ // const { mapWithTjp_NoDna, mapWithTjp_YesDna, mapWithoutTjps } =
144
+ // splitPerTjpAndOrDna({ ibGibs: payload_NonDnas });
145
+ }
146
+ // at this time, the receiver has received the control ibgibs AND
147
+ // the payload ibgibs. so the receiver coordinator should be ready
148
+ // to do its thing.
149
+ const responseCtx = await receiverCoordinator.receiverContinueSync({
150
+ sagaContext: context,
151
+ metaspace: receiverMetaspace,
152
+ mySpace: receiverSpace,
153
+ myTempSpace: receiverTempSpace,
154
+ });
155
+ if (!responseCtx) {
156
+ if (logalot) {
157
+ console.log(`${lc} receiver produced undefined response context. (I: 2e1888ffc9e836689d5b171887c36d26)`);
158
+ }
159
+ return undefined; /* <<<< returns early */
160
+ }
161
+ // at this point, we have received the full response from the
162
+ // receiver coordinator. Put the response's control ibgibs in the
163
+ // sender's durable space (but don't register them), spin off the
164
+ // process of any response payloads, and return the context.
165
+ const { msgStones: msgStonesResponse, identities: identitiesResponse } = await getSyncSagaFrameDependencyGraph({
166
+ sagaIbGib: responseCtx.sagaFrame,
167
+ localSpace: senderSpace,
168
+ });
169
+ if (msgStonesResponse.length !== 1) {
170
+ throw new Error(`(UNEXPECTED) msgStonesResponse.length !== 1? we're only geared for a single msg stone that is always present (not 0, not greater than 1) (E: 2d3138ed130f1aca116551889483e826)`);
171
+ }
172
+ const msgResponse = msgStonesResponse[0];
173
+ if (!msgResponse.data) {
174
+ throw new Error(`(UNEXPECTED) sync saga message ibgib.data falsy? (E: 61ec18743988ad3cbab2072d1dd69826)`);
175
+ }
176
+ const responsePayloadIbGibsControl = [
177
+ ...identities, msgResponse, responseCtx.sagaFrame, context
178
+ ].map(x => toDto({ ibGib: x }));
179
+ await putInSpace({
180
+ ibGibs: responsePayloadIbGibsControl,
181
+ space: senderSpace,
182
+ });
183
+ // register yet??
184
+ for (const control of responsePayloadIbGibsControl) {
185
+ await registerNewIbGib({
186
+ ibGib: control,
187
+ space: senderSpace,
188
+ fnBroadcast: undefined
189
+ });
190
+ }
191
+ // spin off the payloads, as that may take a long time
192
+ const payloadIbGibsDomain_response = responseCtx.payloadIbGibsDomain;
193
+ if (payloadIbGibsDomain_response) {
194
+ new Promise(async (resolve, reject) => {
195
+ const lcPut = `${lc}[putPayloadsPromise]`;
196
+ try {
197
+ if (logalot) {
198
+ console.log(`${lcPut} starting... (I: 4133e736b4c80d2cf94448b87b206826)`);
199
+ }
200
+ // 2 seconds...i want to see huge blocks of logs entries for this to see this happening
201
+ const delayMs = 200;
202
+ for (let i = 0; i < 10; i++) {
203
+ console.warn(`${lc} ARTIFICIALLY DELAYING PAYLOADS TO MIMIC TRANSFER LATENCY. REMOVE THIS DELAY!! (W: 5e7b28f1daa82d955897e9d8cdb16f26)`);
204
+ await delay(delayMs);
205
+ }
206
+ if (!senderTempSpace) {
207
+ throw new Error(`(UNEXPECTED) senderTempSpace falsy? (E: b187a8f913c2295ae90d7ae2b47b6a26)`);
208
+ }
209
+ await putInSpace_dnasThenNonDnas({
210
+ ibGibs: payloadIbGibsDomain_response,
211
+ space: senderTempSpace,
212
+ });
213
+ if (logalot) {
214
+ console.log(`${lcPut} complete.`);
215
+ }
216
+ resolve();
217
+ }
218
+ catch (error) {
219
+ const errorMsg = `${lcPut} ${extractErrorMsg(error)}`;
220
+ console.error(errorMsg);
221
+ if (logalot) {
222
+ console.log(`${lcPut} complete. (errored)`);
223
+ }
224
+ reject(errorMsg);
225
+ }
226
+ }); // spin off
227
+ /**
228
+ * the caller should be getting these from the observable.
229
+ */
230
+ delete responseCtx.payloadIbGibsDomain;
231
+ }
232
+ return responseCtx;
133
233
  }
134
234
  catch (error) {
135
235
  console.error(`${lc} ${extractErrorMsg(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"sync-peer-innerspace-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-peer-innerspace-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"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"}
@@ -26,12 +26,9 @@ export interface SyncPeerRel8ns_V1 extends IbGibRel8ns_V1 {
26
26
  export interface SyncPeerIbGib_V1 extends IbGib_V1<SyncPeerData_V1, SyncPeerRel8ns_V1> {
27
27
  }
28
28
  /**
29
- * The interface for the SyncPeer witness class.
30
- * It witnesses a SyncSagaContext and returns a SyncSagaContext (Request -> Response).
29
+ * base initialization opts
31
30
  */
32
- export interface SyncPeerWitness extends Witness_V1<SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Input
33
- SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Output
34
- SyncPeerData_V1, SyncPeerRel8ns_V1> {
31
+ export interface InitializeSyncPeerOpts {
35
32
  /**
36
33
  * sender's durable space.
37
34
  *
@@ -46,7 +43,33 @@ SyncPeerData_V1, SyncPeerRel8ns_V1> {
46
43
  * spaces, this temp space will be where domain ibgibs are stored that are
47
44
  * received/created throughout the transaction until commit.
48
45
  */
49
- senderTempSpace: IbGibSpaceAny;
46
+ senderTempSpace?: IbGibSpaceAny;
47
+ }
48
+ /**
49
+ * The interface for the SyncPeer witness class.
50
+ * It witnesses a SyncSagaContext and returns a SyncSagaContext (Request -> Response).
51
+ */
52
+ export interface SyncPeerWitness<TInitializeOpts extends InitializeSyncPeerOpts = InitializeSyncPeerOpts> extends Witness_V1<SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Input
53
+ SyncSagaContextData_V1, SyncSagaContextRel8ns_V1, SyncSagaContextIbGib_V1, // Output
54
+ SyncPeerData_V1, SyncPeerRel8ns_V1> {
55
+ get classname(): string;
56
+ /**
57
+ * sender-specific opts/config
58
+ *
59
+ * ## notes
60
+ *
61
+ * I'm doing this hack because I have to be able to create a peer without
62
+ * being able to fully configure it at construction time. So I can't place
63
+ * this init code in the {@link initialize} method.
64
+ */
65
+ opts: TInitializeOpts | undefined;
66
+ /**
67
+ * use this to set the senderTempSpace and any other optional opts that need
68
+ * to be configured just before sending any contexts across the wire.
69
+ *
70
+ * @see {@link opts}
71
+ */
72
+ setOptionalOpts(arg: Partial<TInitializeOpts>): void;
50
73
  /**
51
74
  * Observable for streaming large domain payloads asynchronously.
52
75
  *
@@ -1 +1 @@
1
- {"version":3,"file":"sync-peer-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC7I,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACjD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAAI;AAE1F;;;GAGG;AACH,MAAM,WAAW,eAAgB,SAAQ,UAAU,CAC/C,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAAE,QAAQ;AACjC,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAAE,SAAS;AAClC,eAAe,EACf,iBAAiB,CACpB;IAGG;;;;;OAKG;IACH,WAAW,EAAE,aAAa,CAAC;IAC3B;;;;;;OAMG;IACH,eAAe,EAAE,aAAa,CAAC;IAE/B;;;;;OAKG;IACH,4BAA4B,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CAC1D"}
1
+ {"version":3,"file":"sync-peer-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAE/E,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAC;AAC7I,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACjD;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;CACxD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,QAAQ,CAAC,eAAe,EAAE,iBAAiB,CAAC;CAAI;AAE1F;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;;OAKG;IACH,WAAW,EAAE,aAAa,CAAC;IAC3B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,aAAa,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe,CAAC,eAAe,SAAS,sBAAsB,GAAG,sBAAsB,CAAE,SAAQ,UAAU,CACxH,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAAE,QAAQ;AACjC,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EAAE,SAAS;AAClC,eAAe,EACf,iBAAiB,CACpB;IACG,IAAI,SAAS,IAAI,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAElC;;;;;OAKG;IACH,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;IAErD;;;;;OAKG;IACH,4BAA4B,EAAE,cAAc,CAAC,QAAQ,CAAC,CAAC;CAC1D"}
@@ -1,23 +1,12 @@
1
1
  /**
2
- * @module SyncPeer_V1 witness class
2
+ * @module SyncPeer_V1 witness class for base class plumbing of sync peers.
3
3
  *
4
- *
5
- * NOTE: All push/pulls in this were done to get to compile. These should mostly
6
- * not be single push/pull calls but should be batched with multiple addresses
7
- * NOTE: All push/pulls in this were done to get to compile. These should mostly
8
- * not be single push/pull calls but should be batched with multiple addresses
9
- * NOTE: All push/pulls in this were done to get to compile. These should mostly
10
- * not be single push/pull calls but should be batched with multiple addresses
11
- * NOTE: All push/pulls in this were done to get to compile. These should mostly
12
- * not be single push/pull calls but should be batched with multiple addresses
13
- * NOTE: All push/pulls in this were done to get to compile. These should mostly
14
- * not be single push/pull calls but should be batched with multiple addresses
4
+ * You are expected to implement concrete peer classes for concrete architecture.
15
5
  */
16
6
  import { IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
17
- import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
18
7
  import { SubjectWitness } from '../../common/pubsub/subject/subject-types.mjs';
19
8
  import { SyncSagaContextIbGib_V1 } from '../sync-saga-context/sync-saga-context-types.mjs';
20
- import { SyncPeerData_V1, SyncPeerRel8ns_V1, SyncPeerWitness } from './sync-peer-types.mjs';
9
+ import { InitializeSyncPeerOpts, SyncPeerData_V1, SyncPeerRel8ns_V1, SyncPeerWitness } from './sync-peer-types.mjs';
21
10
  import { LightWitnessBase_V1 } from '../../witness/light-witness-base-v1.mjs';
22
11
  import { IbGibSpaceAny } from '../../witness/space/space-base-v1.mjs';
23
12
  /**
@@ -30,14 +19,23 @@ import { IbGibSpaceAny } from '../../witness/space/space-base-v1.mjs';
30
19
  * 2. Send Request (RPC)
31
20
  * 3. Pull Response & Dependencies (Receiver -> Sender)
32
21
  */
33
- export declare abstract class SyncPeer_V1 extends LightWitnessBase_V1<SyncPeerData_V1, SyncPeerRel8ns_V1> implements SyncPeerWitness {
22
+ export declare abstract class SyncPeer_V1<TInitializeOpts extends InitializeSyncPeerOpts = InitializeSyncPeerOpts> extends LightWitnessBase_V1<SyncPeerData_V1, SyncPeerRel8ns_V1> implements SyncPeerWitness<TInitializeOpts> {
34
23
  protected lc: string;
35
- senderSpace: IbGibSpaceAny;
36
- senderTempSpace: IbGibSpaceAny;
24
+ opts: TInitializeOpts | undefined;
37
25
  payloadIbGibsDomainReceived$: SubjectWitness<IbGib_V1>;
38
26
  get classname(): string;
39
- constructor(senderSpace: IbGibSpaceAny, senderTempSpace: IbGibSpaceAny, initialData: SyncPeerData_V1, initialRel8ns?: SyncPeerRel8ns_V1);
27
+ constructor(initialData: SyncPeerData_V1, initialRel8ns?: SyncPeerRel8ns_V1);
40
28
  initialize(): Promise<void>;
29
+ /**
30
+ * base implementation just sets the opts property.
31
+ *
32
+ * override this in concrete classes for further initialization code
33
+ * specific to the sender.
34
+ *
35
+ * @see {@link SyncPeerWitness.opts}
36
+ */
37
+ initializeSender(opts: TInitializeOpts): Promise<void>;
38
+ setOptionalOpts(arg: Partial<TInitializeOpts>): void;
41
39
  protected abstract ensureReceiverTempSpace(): Promise<IbGibSpaceAny>;
42
40
  /**
43
41
  * Witness the synchronization context (Send/Receive).
@@ -50,45 +48,30 @@ export declare abstract class SyncPeer_V1 extends LightWitnessBase_V1<SyncPeerDa
50
48
  */
51
49
  witness(context: SyncSagaContextIbGib_V1): Promise<SyncSagaContextIbGib_V1 | undefined>;
52
50
  /**
53
- * Transmits the Context IbGib itself to the Peer.
54
- */
55
- protected abstract sendContextRequest(context: SyncSagaContextIbGib_V1): Promise<SyncSagaContextIbGib_V1 | undefined>;
56
- /**
57
- * Pushes specific IbGib(s) (by address) from Local to Remote.
51
+ * At this point, this is a validated, authenticated and authorized context
52
+ * to send.
58
53
  *
59
- * Should NOT have to handle identifying if the remote already has it
60
- * (optimization), because the sync coordinator should be doing this in
61
- * its diffing algorithm.
62
- */
63
- protected abstract push(addrs: IbGibAddr[]): Promise<void>;
64
- /**
65
- * Primitive: Pulls specific IbGib(s) (by address) from Remote to Local.
66
- */
67
- protected abstract pull(addrs: IbGibAddr[]): Promise<void>;
68
- /**
69
- * move to sync-peer-helpers.mts as a pure function?
70
- */
71
- protected authenticateContext({ context }: {
72
- context: SyncSagaContextIbGib_V1;
73
- }): Promise<string[]>;
74
- /**
75
- * move to sync-peer-helpers.mts as a pure function?
76
- */
77
- protected authorizeContext({ context }: {
78
- context: SyncSagaContextIbGib_V1;
79
- }): Promise<string[]>;
80
- /**
81
- * Helper to orchestrate the PUSH of a Context's dependency graph.
82
- */
83
- protected pushContextGraph({ context }: {
84
- context: SyncSagaContextIbGib_V1;
85
- }): Promise<void>;
86
- /**
87
- * Helper to orchestrate the PULL of a Context's dependency graph.
54
+ * This is responsible for:
55
+ *
56
+ * * physical sending outgoing {@link context}, the sync saga frame and msg
57
+ * stone(s), and identities...
58
+ * * AND sending OUTGOING domain ibgibs
59
+ * {@link SyncSagaContextIbGib_V1.payloadIbGibsDomain}
60
+ * * getting back the other end's resultant context ibgib, sync saga frame
61
+ * and msg stone(s), and identities in their entirety...
62
+ * * AND stream/receiving the RESPONSE payload domain ibgibs, publishing
63
+ * these to this.payloadIbGibsDomainReceived$.
64
+ * * BUT this should return as soon as the resultant context ibgib comes
65
+ * back.
66
+ *
67
+ * So this returns the RESPONSE context, possibly BEFORE the response DOMAIN
68
+ * ibgibs have been completely received/streamed. The coordinator is
69
+ * responsible for awaiting this stream.
70
+ *
71
+ * @returns next sync saga context if another round, or undefined if we're
72
+ * done. (might throw if there's an error?)
88
73
  */
89
- protected pullContextGraph({ context }: {
90
- context: SyncSagaContextIbGib_V1;
91
- }): Promise<void>;
74
+ protected abstract sendContextRequest(context: SyncSagaContextIbGib_V1): Promise<SyncSagaContextIbGib_V1 | undefined>;
92
75
  /**
93
76
  * Abstract accessor to get an IbGib from the Local space/store.
94
77
  * Needed for inspecting rela8ns during the graph walk.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-peer-v1.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-v1.mts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzD,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5F,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAStE;;;;;;;;;GASG;AACH,8BAAsB,WAAY,SAAQ,mBAAmB,CAAC,eAAe,EAAE,iBAAiB,CAC5F,YAAW,eAAe;IAE1B,SAAS,CAAC,EAAE,EAAE,MAAM,CAA2B;IAExC,WAAW,EAAE,aAAa,CAAC;IAC3B,eAAe,EAAE,aAAa,CAAC;IAC/B,4BAA4B,EAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE/D,IAAI,SAAS,IAAI,MAAM,CAItB;gBAEW,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,iBAAiB;IAMjI,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;IAEpE;;;;;;;;OAQG;IACY,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAsEtG;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAErH;;;;;;OAMG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE1D;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;OAEG;cACa,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBzG;;OAEG;cACa,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBtG;;OAEG;cACa,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAuElG;;OAEG;cACa,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,uBAAuB,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DlG;;;;;OAKG;cACa,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;CAsB7E"}
1
+ {"version":3,"file":"sync-peer-v1.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-v1.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAC3F,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpH,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAStE;;;;;;;;;GASG;AACH,8BAAsB,WAAW,CAAC,eAAe,SAAS,sBAAsB,GAAG,sBAAsB,CACrG,SAAQ,mBAAmB,CAAC,eAAe,EAAE,iBAAiB,CAC9D,YAAW,eAAe,CAAC,eAAe,CAAC;IAE3C,SAAS,CAAC,EAAE,EAAE,MAAM,CAA2B;IAExC,IAAI,EAAE,eAAe,GAAG,SAAS,CAAC;IAClC,4BAA4B,EAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE/D,IAAI,SAAS,IAAI,MAAM,CAItB;gBAEW,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,iBAAiB;IAI9D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxC;;;;;;;OAOG;IACU,gBAAgB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5D,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IAoC3D,SAAS,CAAC,QAAQ,CAAC,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;IAEpE;;;;;;;;OAQG;IACY,OAAO,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IA0FtG;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;IAErH;;;;;OAKG;cACa,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;CAuB7E"}