@ibgib/core-gib 0.1.58 → 0.1.59

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 (91) hide show
  1. package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts.map +1 -1
  2. package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs +6 -2
  3. package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs.map +1 -1
  4. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.d.mts +1 -1
  5. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts +1 -1
  6. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts.map +1 -1
  7. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs +6 -10
  8. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs.map +1 -1
  9. package/dist/sync/sync-peer/sync-peer-types.d.mts +13 -1
  10. package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
  11. package/dist/sync/sync-peer/sync-peer-v1.d.mts +8 -4
  12. package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
  13. package/dist/sync/sync-peer/sync-peer-v1.mjs +78 -25
  14. package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
  15. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.d.mts +46 -0
  16. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.d.mts.map +1 -0
  17. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.mjs +45 -0
  18. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.mjs.map +1 -0
  19. package/dist/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-peer-websocket-receiver-types.d.mts +2 -2
  20. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.d.mts.map +1 -0
  21. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.mjs.map +1 -0
  22. package/dist/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-peer-websocket-receiver-v1.d.mts +10 -8
  23. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts.map +1 -0
  24. package/dist/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-peer-websocket-receiver-v1.mjs +102 -58
  25. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs.map +1 -0
  26. package/dist/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-websocket-peer-helpers.d.mts +3 -3
  27. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts.map +1 -0
  28. package/dist/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-websocket-peer-helpers.mjs +6 -6
  29. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs.map +1 -0
  30. package/dist/sync/sync-peer/{sync-peer-websocket-sender → sync-peer-websocket/sync-peer-websocket-sender}/sync-peer-websocket-sender-types.d.mts +1 -1
  31. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.d.mts.map +1 -0
  32. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.mjs.map +1 -0
  33. package/dist/sync/sync-peer/{sync-peer-websocket-sender → sync-peer-websocket/sync-peer-websocket-sender}/sync-peer-websocket-sender-v1.d.mts +6 -4
  34. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.d.mts.map +1 -0
  35. package/dist/sync/sync-peer/{sync-peer-websocket-sender → sync-peer-websocket/sync-peer-websocket-sender}/sync-peer-websocket-sender-v1.mjs +46 -25
  36. package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.mjs.map +1 -0
  37. package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +22 -5
  38. package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts.map +1 -1
  39. package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs +223 -27
  40. package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs.map +1 -1
  41. package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts +9 -0
  42. package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts.map +1 -1
  43. package/dist/sync/sync-saga-coordinator.d.mts +6 -1
  44. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  45. package/dist/sync/sync-saga-coordinator.mjs +49 -11
  46. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  47. package/dist/sync/sync-types.d.mts +24 -0
  48. package/dist/sync/sync-types.d.mts.map +1 -1
  49. package/dist/sync/sync-types.mjs +0 -1
  50. package/dist/sync/sync-types.mjs.map +1 -1
  51. package/dist/sync/sync-withid.connect.respec.mjs +3 -3
  52. package/dist/sync/sync-withid.connect.respec.mjs.map +1 -1
  53. package/dist/sync/sync-withid.pingpong.respec.d.mts +11 -0
  54. package/dist/sync/sync-withid.pingpong.respec.d.mts.map +1 -0
  55. package/dist/sync/sync-withid.pingpong.respec.mjs +131 -0
  56. package/dist/sync/sync-withid.pingpong.respec.mjs.map +1 -0
  57. package/dist/witness/space/inner-space/inner-space-v1.d.mts.map +1 -1
  58. package/dist/witness/space/inner-space/inner-space-v1.mjs +1 -1
  59. package/dist/witness/space/inner-space/inner-space-v1.mjs.map +1 -1
  60. package/package.json +1 -1
  61. package/src/sync/docs/ping_pong_plan.md +147 -0
  62. package/src/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mts +6 -2
  63. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.mts +1 -1
  64. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +10 -13
  65. package/src/sync/sync-peer/sync-peer-types.mts +18 -1
  66. package/src/sync/sync-peer/sync-peer-v1.mts +81 -35
  67. package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.mts +68 -0
  68. package/src/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-peer-websocket-receiver-types.mts +2 -2
  69. package/src/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-peer-websocket-receiver-v1.mts +116 -68
  70. package/src/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-websocket-peer-helpers.mts +8 -8
  71. package/src/sync/sync-peer/{sync-peer-websocket-sender → sync-peer-websocket/sync-peer-websocket-sender}/sync-peer-websocket-sender-types.mts +1 -1
  72. package/src/sync/sync-peer/{sync-peer-websocket-sender → sync-peer-websocket/sync-peer-websocket-sender}/sync-peer-websocket-sender-v1.mts +51 -27
  73. package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +223 -34
  74. package/src/sync/sync-saga-context/sync-saga-context-types.mts +9 -0
  75. package/src/sync/sync-saga-coordinator.mts +79 -7
  76. package/src/sync/sync-types.mts +28 -4
  77. package/src/sync/sync-withid.connect.respec.mts +3 -3
  78. package/src/sync/sync-withid.pingpong.respec.mts +161 -0
  79. package/src/witness/space/inner-space/inner-space-v1.mts +4 -5
  80. package/dist/sync/sync-peer/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.d.mts.map +0 -1
  81. package/dist/sync/sync-peer/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.mjs.map +0 -1
  82. package/dist/sync/sync-peer/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts.map +0 -1
  83. package/dist/sync/sync-peer/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs.map +0 -1
  84. package/dist/sync/sync-peer/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts.map +0 -1
  85. package/dist/sync/sync-peer/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs.map +0 -1
  86. package/dist/sync/sync-peer/sync-peer-websocket-sender/sync-peer-websocket-sender-types.d.mts.map +0 -1
  87. package/dist/sync/sync-peer/sync-peer-websocket-sender/sync-peer-websocket-sender-types.mjs.map +0 -1
  88. package/dist/sync/sync-peer/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.d.mts.map +0 -1
  89. package/dist/sync/sync-peer/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.mjs.map +0 -1
  90. /package/dist/sync/sync-peer/{sync-peer-websocket-receiver → sync-peer-websocket/sync-peer-websocket-receiver}/sync-peer-websocket-receiver-types.mjs +0 -0
  91. /package/dist/sync/sync-peer/{sync-peer-websocket-sender → sync-peer-websocket/sync-peer-websocket-sender}/sync-peer-websocket-sender-types.mjs +0 -0
@@ -3,12 +3,13 @@
3
3
  */
4
4
  import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
5
5
  import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
6
- import { KeystoneService_V1 } from '../../../keystone/keystone-service-v1.mjs';
7
- import { KeystoneStrategyFactory } from '../../../keystone/strategy/keystone-strategy-factory.mjs';
8
- import { deriveSessionSecret } from '../../sync-helpers.mjs';
9
- import { SyncPeer_V1 } from '../sync-peer-v1.mjs';
10
- import { GLOBAL_LOG_A_LOT } from '../../../core-constants.mjs';
6
+ import { KeystoneService_V1 } from '../../../../keystone/keystone-service-v1.mjs';
7
+ import { KeystoneStrategyFactory } from '../../../../keystone/strategy/keystone-strategy-factory.mjs';
8
+ import { deriveSessionSecret } from '../../../sync-helpers.mjs';
9
+ import { SyncPeer_V1 } from '../../sync-peer-v1.mjs';
10
+ import { GLOBAL_LOG_A_LOT } from '../../../../core-constants.mjs';
11
11
  import { SESSION_KEYSTONE_POLICY, getConnectChallenge } from '../sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs';
12
+ import { SyncWebSocketMsgType } from '../sync-peer-websocket-constants.mjs';
12
13
  const logalot = GLOBAL_LOG_A_LOT || true;
13
14
  /**
14
15
  * WebSocket Sender Peer implementation running in browser/native environment.
@@ -24,6 +25,7 @@ export class SyncPeerWebSocketSender_V1 extends SyncPeer_V1 {
24
25
  ws;
25
26
  activeResolve;
26
27
  activeReject;
28
+ pendingPayloadsToSend = [];
27
29
  constructor(initialData, initialRel8ns) {
28
30
  super(initialData, initialRel8ns);
29
31
  }
@@ -151,13 +153,13 @@ export class SyncPeerWebSocketSender_V1 extends SyncPeer_V1 {
151
153
  if (logalot) {
152
154
  console.log(`${lc} received frame: ${msg.type}`);
153
155
  }
154
- if (msg.type === 'auth-challenge-init') {
156
+ if (msg.type === SyncWebSocketMsgType.auth_challenge_init) {
155
157
  ws.send(JSON.stringify({
156
- type: 'auth-init',
158
+ type: SyncWebSocketMsgType.auth_init,
157
159
  sAddr: targetSAddr
158
160
  }));
159
161
  }
160
- else if (msg.type === 'auth-challenge') {
162
+ else if (msg.type === SyncWebSocketMsgType.auth_challenge) {
161
163
  const { challengeUuid, demandedIds } = msg;
162
164
  if (logalot) {
163
165
  console.log(`${lc} solving demanded challenges: ${demandedIds.join(', ')}`);
@@ -176,11 +178,11 @@ export class SyncPeerWebSocketSender_V1 extends SyncPeer_V1 {
176
178
  space: localSpace
177
179
  });
178
180
  ws.send(JSON.stringify({
179
- type: 'auth-proof',
181
+ type: SyncWebSocketMsgType.auth_proof,
180
182
  proofFrame
181
183
  }));
182
184
  }
183
- else if (msg.type === 'auth-ok') {
185
+ else if (msg.type === SyncWebSocketMsgType.auth_ok) {
184
186
  if (logalot) {
185
187
  console.log(`${lc} WebSocket connect SUCCESS!`);
186
188
  }
@@ -190,7 +192,7 @@ export class SyncPeerWebSocketSender_V1 extends SyncPeer_V1 {
190
192
  ws.addEventListener('message', (event) => this.handleRuntimeMessage(event));
191
193
  resolve();
192
194
  }
193
- else if (msg.type === 'auth-fail') {
195
+ else if (msg.type === SyncWebSocketMsgType.auth_fail) {
194
196
  reject(new Error(`Connect failed: ${msg.message}`));
195
197
  }
196
198
  }
@@ -218,23 +220,44 @@ export class SyncPeerWebSocketSender_V1 extends SyncPeer_V1 {
218
220
  /**
219
221
  * Handles synchronizing messages and evolved context frames during active transaction turns.
220
222
  */
221
- handleRuntimeMessage(event) {
223
+ async handleRuntimeMessage(event) {
222
224
  const lc = `${this.lc}[${this.handleRuntimeMessage.name}]`;
223
225
  try {
224
226
  const msg = JSON.parse(event.data);
225
227
  if (logalot) {
226
228
  console.log(`${lc} received runtime frame: ${msg.type}`);
227
229
  }
228
- if (msg.type === 'sync-frame-response') {
230
+ if (msg.type === SyncWebSocketMsgType.sync_frame_response) {
231
+ const responseContext = msg.context;
232
+ // Validate and authenticate Bob's response context first
233
+ await this.authenticateAndValidate({ context: responseContext });
234
+ // If response has expected payloads, authorize Bob to stream them
235
+ const expectedPayloadAddrs = responseContext.data?.['@payloadAddrsDomain'] || [];
236
+ if (expectedPayloadAddrs.length > 0) {
237
+ this.ws.send(JSON.stringify({
238
+ type: SyncWebSocketMsgType.sync_frame_response_authenticated,
239
+ contextAddr: getIbGibAddr({ ibGib: responseContext })
240
+ }));
241
+ }
229
242
  if (this.activeResolve) {
230
- const responseContext = msg.context;
231
243
  const resolve = this.activeResolve;
232
244
  this.activeResolve = undefined;
233
245
  this.activeReject = undefined;
234
246
  resolve(responseContext);
235
247
  }
236
248
  }
237
- else if (msg.type === 'domain-payload') {
249
+ else if (msg.type === SyncWebSocketMsgType.sync_frame_authenticated) {
250
+ // Bob authenticated our context, stream buffered payloads
251
+ const payloads = this.pendingPayloadsToSend || [];
252
+ this.pendingPayloadsToSend = [];
253
+ for (const ibGib of payloads) {
254
+ this.ws.send(JSON.stringify({
255
+ type: SyncWebSocketMsgType.domain_payload,
256
+ ibGib
257
+ }));
258
+ }
259
+ }
260
+ else if (msg.type === SyncWebSocketMsgType.domain_payload) {
238
261
  const payload = msg.ibGib;
239
262
  this.payloadIbGibsDomainReceived$.next(payload);
240
263
  }
@@ -255,21 +278,19 @@ export class SyncPeerWebSocketSender_V1 extends SyncPeer_V1 {
255
278
  if (!this.ws || this.ws.readyState !== WebSocket.OPEN) {
256
279
  throw new Error(`WebSocket is not connected or open (E: a3b2c1d0e9f8e7d6c5b4a3f2e1d0c915)`);
257
280
  }
258
- // 1. Push any outgoing payload domain ibgibs down the pipe
281
+ // 1. Separate payloads to send later
259
282
  const domainPayloads = context.payloadIbGibsDomain ?? [];
260
- for (const ibGib of domainPayloads) {
261
- this.ws.send(JSON.stringify({
262
- type: 'domain-payload',
263
- ibGib
264
- }));
265
- }
266
- // 2. Transmit the synchronizing transaction context
283
+ this.pendingPayloadsToSend = [...domainPayloads];
284
+ // 2. Clone context without payloads for transport
285
+ const contextToSend = { ...context };
286
+ delete contextToSend.payloadIbGibsDomain;
287
+ // 3. Transmit the synchronizing transaction context
267
288
  return new Promise((resolve, reject) => {
268
289
  this.activeResolve = resolve;
269
290
  this.activeReject = reject;
270
291
  this.ws.send(JSON.stringify({
271
- type: 'sync-frame',
272
- context
292
+ type: SyncWebSocketMsgType.sync_frame,
293
+ context: contextToSend
273
294
  }));
274
295
  });
275
296
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-peer-websocket-sender-v1.mjs","sourceRoot":"","sources":["../../../../../src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.mts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Ib } from '@ibgib/ts-gib/dist/types.mjs';
5
5
  import { SyncSagaContextData_V1, SyncSagaContextIbGib_V1, SyncSagaContextIb_V1 } from './sync-saga-context-types.mjs';
6
- import { SyncSagaFrameDependencyGraph } from '../sync-types.mjs';
6
+ import { IbGibSpaceAny } from '../../witness/space/space-base-v1.mjs';
7
7
  /**
8
8
  * Constructs the standard 'ib' string for a Sync Saga Context stone.
9
9
  */
@@ -42,12 +42,29 @@ export declare function validateContextAndSagaFrame({ context, }: {
42
42
  export declare function validateContextDomainPayloadIbGibs({ context }: {
43
43
  context: SyncSagaContextIbGib_V1;
44
44
  }): Promise<string[]>;
45
- export declare function authenticateContext({}: {}): Promise<string[]>;
46
45
  /**
47
- * move to sync-peer-helpers.mts as a pure function?
46
+ * "Intrinsically": This authenticates assuming we have already established that
47
+ * this context is a valid continuation of previous sync contexts/saga state. It
48
+ * does not check that the session identity contained on this context is a valid
49
+ * continuation.
50
+ *
51
+ * ## notes
52
+ *
53
+ * Say an attacker tries to hijack a legit sync process by capturing previous
54
+ * context(s). Then the attacker just either creates its own sessionIdentity
55
+ *
56
+ * ## implementation notes
57
+ *
58
+ * This is a HUGE function right now, because there are just a lot of things to
59
+ * check. I'm basically going through and just taking every assumption that I
60
+ * can think of and encoding it.
61
+ *
62
+ * We will need to refactor this at some point to neaten it up, but we should
63
+ * not remove sections without EXTREMELY good reasoning, as this would reduce
64
+ * security.
48
65
  */
49
- export declare function authorizeContext({ context, fullSagaHistory }: {
66
+ export declare function authenticateContextIntrinsically({ context, space, }: {
50
67
  context: SyncSagaContextIbGib_V1;
51
- fullSagaHistory: SyncSagaFrameDependencyGraph[];
68
+ space: IbGibSpaceAny;
52
69
  }): Promise<string[]>;
53
70
  //# sourceMappingURL=sync-saga-context-helpers.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-context-helpers.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-helpers.mts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAMlD,OAAO,EACH,sBAAsB,EAAE,uBAAuB,EAAE,oBAAoB,EAExE,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAgB,4BAA4B,EAAE,MAAM,mBAAmB,CAAC;AAM/E;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,EACvC,IAAI,GACP,EAAE;IACC,IAAI,EAAE,sBAAsB,CAAC;CAChC,GAAG,OAAO,CAAC,EAAE,CAAC,CAkBd;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,EACzC,EAAE,GACL,EAAE;IACC,EAAE,EAAE,EAAE,CAAC;CACV,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkChC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,uBAAuB,CAgB3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAAC,EAC9C,OAAO,GACV,EAAE;IACC,OAAO,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyCpB;AAED;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,uBAAuB,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY7H;AAED,wBAAsB,mBAAmB,CAAC,EACzC,IAAA,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAYpB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EACnC,OAAO,EACP,eAAe,EAClB,EAAE;IACC,OAAO,EAAE,uBAAuB,CAAC;IACjC,eAAe,EAAE,4BAA4B,EAAE,CAAC;CACnD,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAcpB"}
1
+ {"version":3,"file":"sync-saga-context-helpers.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-helpers.mts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,EAAE,EAAG,MAAM,8BAA8B,CAAC;AAMnD,OAAO,EACH,sBAAsB,EAAE,uBAAuB,EAAE,oBAAoB,EACxE,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAWtE;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,EACvC,IAAI,GACP,EAAE;IACC,IAAI,EAAE,sBAAsB,CAAC;CAChC,GAAG,OAAO,CAAC,EAAE,CAAC,CAkBd;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,EACzC,EAAE,GACL,EAAE;IACC,EAAE,EAAE,EAAE,CAAC;CACV,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAkChC;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,uBAAuB,CAgB3E;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAAC,EAC9C,OAAO,GACV,EAAE;IACC,OAAO,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAyCpB;AAED;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,uBAAuB,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY7H;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,gCAAgC,CAAC,EACnD,OAAO,EACP,KAAK,GAER,EAAE;IACC,OAAO,EAAE,uBAAuB,CAAC;IACjC,KAAK,EAAE,aAAa,CAAC;CAKxB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAmMpB"}
@@ -1,12 +1,16 @@
1
1
  /**
2
2
  * @module sync saga context helpers
3
3
  */
4
- import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
4
+ import { extractErrorMsg, } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
5
+ import { getIbGibAddr, } from '@ibgib/ts-gib/dist/helper.mjs';
5
6
  import { validateIbGibIntrinsically } from '@ibgib/ts-gib/dist/V1/validate-helper.mjs';
6
7
  import { GLOBAL_LOG_A_LOT } from '../../core-constants.mjs';
7
8
  import { SYNC_SAGA_CONTEXT_ATOM } from './sync-saga-context-constants.mjs';
9
+ import { getFromSpace, getLatestAddrs, getTjpIbGib } from '../../witness/space/space-helper.mjs';
8
10
  import { validateSyncSagaFrame } from '../sync-helpers.mjs';
9
11
  import { isIbGibWithAtom } from '../../common/other/ibgib-helper.mjs';
12
+ import { KeystoneService_V1 } from '../../keystone/keystone-service-v1.mjs';
13
+ import { KEYSTONE_VERB_SYNC } from '../../keystone/keystone-constants.mjs';
10
14
  const logalot = GLOBAL_LOG_A_LOT;
11
15
  /**
12
16
  * Constructs the standard 'ib' string for a Sync Saga Context stone.
@@ -166,40 +170,232 @@ export async function validateContextDomainPayloadIbGibs({ context }) {
166
170
  }
167
171
  }
168
172
  }
169
- export async function authenticateContext({}) {
170
- const lc = `[${authenticateContext.name}]`;
173
+ /**
174
+ * "Intrinsically": This authenticates assuming we have already established that
175
+ * this context is a valid continuation of previous sync contexts/saga state. It
176
+ * does not check that the session identity contained on this context is a valid
177
+ * continuation.
178
+ *
179
+ * ## notes
180
+ *
181
+ * Say an attacker tries to hijack a legit sync process by capturing previous
182
+ * context(s). Then the attacker just either creates its own sessionIdentity
183
+ *
184
+ * ## implementation notes
185
+ *
186
+ * This is a HUGE function right now, because there are just a lot of things to
187
+ * check. I'm basically going through and just taking every assumption that I
188
+ * can think of and encoding it.
189
+ *
190
+ * We will need to refactor this at some point to neaten it up, but we should
191
+ * not remove sections without EXTREMELY good reasoning, as this would reduce
192
+ * security.
193
+ */
194
+ export async function authenticateContextIntrinsically({ context, space,
195
+ // stageInProtocol,
196
+ }) {
197
+ const lc = `[${authenticateContextIntrinsically.name}]`;
171
198
  try {
172
199
  if (logalot) {
173
200
  console.log(`${lc} starting... (I: 3c34e8f1d6ef965f98725c88459ea926)`);
174
201
  }
175
- console.warn(`${lc}[NAG] not thrown. not implemented right now after removing all identity-related code. (W: e5fad31cfb49eef198a189a82dbcf726)`);
176
- return [];
177
- }
178
- catch (error) {
179
- console.error(`${lc} ${extractErrorMsg(error)}`);
180
- throw error;
181
- }
182
- finally {
183
- if (logalot) {
184
- console.log(`${lc} complete.`);
202
+ const errors = [];
203
+ if (!context.data) {
204
+ throw new Error(`(UNEXPECTED) context.data falsy? (E: 3e4ddd0eb4b828ad489658d88d9a6326)`);
185
205
  }
186
- }
187
- }
188
- /**
189
- * move to sync-peer-helpers.mts as a pure function?
190
- */
191
- export async function authorizeContext({ context, fullSagaHistory }) {
192
- const lc = `[${authorizeContext.name}]`;
193
- try {
194
- if (logalot) {
195
- console.log(`${lc} starting... (I: 48c918b41ceec0cd489ca3b8819e6826)`);
206
+ if (!context.rel8ns) {
207
+ throw new Error(`(UNEXPECTED) context.rel8ns falsy? (E: 8026589d4fed69c828334ee842074326)`);
196
208
  }
197
- console.error(`${lc} NAG ERROR (NOT THROWN): not implemented. authorize business logic (v1 must have this, but later when we are working on admin vs. student)(E: bc3a78f2dab18ab64c36d055a4b50526)`);
198
- return [];
209
+ const { sagaFrame, signedSessionIdentity: currSessionIdentity } = context;
210
+ if (!sagaFrame.data) {
211
+ throw new Error(`(UNEXPECTED) sagaFrame.data falsy? (E: b61cc82d25984c92f75db74a5a855b26)`);
212
+ }
213
+ // We only sign at the context level.
214
+ // If context has no signedSessionIdentity, skip authentication (anonymous or broker response).
215
+ if (!currSessionIdentity) {
216
+ // check the sync saga to determine if there _should_ be a session
217
+ // identity according to the given sagaFrame (which could be
218
+ // malicious, remember!!)
219
+ // todo: add logic to SET this property when using identity, then (and only then) remove this todo.
220
+ console.error(`${lc}[NAG][not thrown] sagaFrame.data.sessionIdentityTjpAddr logic needs to be added in coordinator (E: 4fc47800a1086c917a47381824280826)`);
221
+ if (sagaFrame.data.sessionIdentityTjpAddr) {
222
+ errors.push('Context has no session identity, but sync saga frame shows a session identity (sagaFrame.data.sessionIdentityTjpAddr is truthy). (E: 69dd6cdc2e1859c0f3d62958c4339826)');
223
+ return errors; /* <<<< returns early */
224
+ }
225
+ else if (context.rel8ns.sessionIdentity) {
226
+ errors.push('Context has no signed session identity, but context.rel8ns.sessionIdentity is truthy. (E: 96a04a8a6c88ea8bf88118f89ad8e326)');
227
+ return errors; /* <<<< returns early */
228
+ }
229
+ else {
230
+ // nothing further to authenticate
231
+ if (logalot) {
232
+ console.log(`${lc} context has no signedSessionIdentity and sync saga frame doesn't state there should be session identity. So nothing further to authenticate - returning early with no authentication errors. (I: d708735f9a2899ee98f762b8a09ed826)`);
233
+ }
234
+ return []; /* <<<< returns early */
235
+ }
236
+ }
237
+ const currSessionIdentityAddr = getIbGibAddr({ ibGib: currSessionIdentity });
238
+ // ensure the context rel8ns points to a session identity
239
+ const prevSessionIdentityAddrs_accordingToContextRel8ns = context.rel8ns?.sessionIdentity ?? [];
240
+ if (prevSessionIdentityAddrs_accordingToContextRel8ns.length === 0) {
241
+ errors.push(`context.rel8ns.sessionIdentity is falsy/empty but context.signedSessionIdentity is present. (E: 66f906421eb2468c0b33f908a3cf2826)`);
242
+ return errors; /* <<<< returns early */
243
+ }
244
+ if (prevSessionIdentityAddrs_accordingToContextRel8ns.length > 1) {
245
+ errors.push(`context.rel8ns.sessionIdentity has multiple identity addrs. (E: 489428bfe6fdaa4cd885b938dc4c5826)`);
246
+ return errors; /* <<<< returns early */
247
+ }
248
+ // ensure the context session identity is the immediate past of the
249
+ // current session identity
250
+ const prevSessionIdentityAddr = prevSessionIdentityAddrs_accordingToContextRel8ns[0];
251
+ // Confirm previous session identity addr exists in space and that it is
252
+ // the most recent in the session keystone's timeline
253
+ const resGetLatestAddr = await getLatestAddrs({ addrs: [prevSessionIdentityAddr], space });
254
+ if (!resGetLatestAddr) {
255
+ throw new Error(`(UNEXPECTED) resGetLatestAddr for prevSessionIdentityAddr in space (${space.ib}) falsy? (E: 7b207e5cbcec9037ea5adbe822ead826)`);
256
+ }
257
+ if (!resGetLatestAddr.data) {
258
+ throw new Error(`(UNEXPECTED) resGetLatestAddr.data for prevSessionIdentityAddr in space (${space.ib}) falsy? (E: de4eb8d730c8c4dcb59c8b9c79277826)`);
259
+ }
260
+ if (!resGetLatestAddr.data.success) {
261
+ throw new Error(`(UNEXPECTED) resGetLatestAddr.data.success falsy? (E: c94298dfd9684ad6a87eb748459aa826)`);
262
+ }
263
+ const { latestAddrsMap } = resGetLatestAddr.data;
264
+ if (!latestAddrsMap) {
265
+ throw new Error(`(UNEXPECTED) resGetLatestAddr.data.latestAddrsMap falsy? (E: 19f1fd5fe798cf2e5fa923919169d826)`);
266
+ }
267
+ if (Object.keys(latestAddrsMap).length !== 1) {
268
+ throw new Error(`(UNEXPECTED) Object.keys(latestAddrsMap).length !== 1? (E: fe526a0747589c6427a8bcc86da34a26)`);
269
+ }
270
+ const prevSessionIdentityAddr_latest = latestAddrsMap[prevSessionIdentityAddr];
271
+ if (!prevSessionIdentityAddr_latest) {
272
+ errors.push(`prevSessionIdentityAddr (${prevSessionIdentityAddr}) not found in space (${space.ib}). this should have been the incoming prevSessionIdentityAddr (E: f6d042bd6b54819998653228dee34226)`);
273
+ return errors; /* <<<< returns early */
274
+ }
275
+ if (prevSessionIdentityAddr !== prevSessionIdentityAddr_latest) {
276
+ if (prevSessionIdentityAddr_latest === currSessionIdentityAddr) {
277
+ // this is ok? if the sender peer is calling this just to validate **before sending**, then this will be the case. If the receiver is calling this code before continuing the sync/at the start of continuing the sync, then this will not hit.
278
+ // debugger; // in sync saga context auth, want to know if this hits...this does hit, so my thoughts on the innerspace/sender peer seem to be correct
279
+ }
280
+ else {
281
+ // debugger; // in sync saga context auth, want to know if this hits...so far this does NOT hit
282
+ errors.push(`context.rel8ns.sessionIdentity does not point to the most recent in the space (${space.ib}). (E: 2f8288f53c87b6aa47bd2178d9df0c26)`);
283
+ return errors; /* <<<< returns early */
284
+ }
285
+ }
286
+ const resGetPrevSessionIdentity = await getFromSpace({ addr: prevSessionIdentityAddr, space });
287
+ if (!resGetPrevSessionIdentity.success || resGetPrevSessionIdentity.ibGibs?.length !== 1) {
288
+ errors.push(`could not fetch latest sender identity ${prevSessionIdentityAddr} from space (${space.ib}). (E: fd48c3e64c9fa4efd8a1f8280af18226)`);
289
+ return errors;
290
+ }
291
+ const prevSessionIdentity = resGetPrevSessionIdentity.ibGibs[0];
292
+ // get the session identity tjp, which has frame details that link back
293
+ // to the identity that authorized the session
294
+ const sessionIdentityTjp = await getTjpIbGib({ ibGib: prevSessionIdentity, naive: true, space });
295
+ if (!sessionIdentityTjp) {
296
+ throw new Error(`(UNEXPECTED) couldn't get sessionIdentityTjp in space (${space.ib})? we have already gotten the identity itself in the space, so we would expect the entire timeline to exist in it. (E: 9be0382ff1c8a0e77645ea38c096f826)`);
297
+ }
298
+ const sessionIdentityTjpAddr = getIbGibAddr({ ibGib: sessionIdentityTjp });
299
+ if (sessionIdentityTjpAddr !== sagaFrame.data.sessionIdentityTjpAddr) {
300
+ throw new Error(`(UNEXPECTED) sessionIdentityTjpAddr !== sagaFrame.data.sessionIdentityTjpAddr? (E: c9a4ad5c2728fe38e86afc58e4abaf26)`);
301
+ }
302
+ const sessionGenesisFrameDetails = sessionIdentityTjp.data.frameDetails;
303
+ if (!sessionGenesisFrameDetails) {
304
+ errors.push(`Invalid session identity tjp: sessionIdentityTjp.data.frameDetails is falsy. (E: 0187f8f804a84256281720586620b826)`);
305
+ return errors; /* <<<< returns early */
306
+ }
307
+ const { senderIdentityAddr, senderIdentityTjpAddr } = sessionGenesisFrameDetails;
308
+ if (!senderIdentityAddr) {
309
+ throw new Error(`sessionGenesisFrameDetails.senderIdentityAddr falsy (E: 02a0c80a3ead9e3af8af4cf3b156e826)`);
310
+ }
311
+ if (!senderIdentityTjpAddr) {
312
+ throw new Error(`sessionGenesisFrameDetails.senderIdentityTjpAddr falsy (E: 271928090ff5dc56d4bb63d8d5c68826)`);
313
+ }
314
+ const resGetLatestAddr_senderIdentity = await getLatestAddrs({ addrs: [senderIdentityTjpAddr, senderIdentityAddr], space });
315
+ if (!resGetLatestAddr_senderIdentity) {
316
+ throw new Error(`(UNEXPECTED) resGetLatestAddr_senderIdentity for prevSessionIdentityAddr in space (${space.ib}) falsy? (E: 2e4ae8083b6fb7cbb8fae2a519062926)`);
317
+ }
318
+ if (!resGetLatestAddr_senderIdentity.data) {
319
+ throw new Error(`(UNEXPECTED) resGetLatestAddr_senderIdentity.data for prevSessionIdentityAddr in space (${space.ib}) falsy? (E: 2e231850c2a898cc282b4b2841056826)`);
320
+ }
321
+ if (!resGetLatestAddr_senderIdentity.data.success) {
322
+ throw new Error(`(UNEXPECTED) resGetLatestAddr_senderIdentity.data.success falsy? (E: e93508f03e0475925875b00746ffd826)`);
323
+ }
324
+ const { latestAddrsMap: latestAddrsMap_senderIdentity } = resGetLatestAddr_senderIdentity.data;
325
+ if (!latestAddrsMap_senderIdentity) {
326
+ throw new Error(`(UNEXPECTED) resGetLatestAddr_senderIdentity.data.latestAddrsMap falsy? (E: 87a91e3f9968ad9ba79cdfe8cd878326)`);
327
+ }
328
+ if (Object.keys(latestAddrsMap_senderIdentity).length !== 2 && senderIdentityTjpAddr !== senderIdentityAddr) {
329
+ throw new Error(`(UNEXPECTED) Object.keys(latestAddrsMap_senderIdentity).length !== 2 && senderIdentityTjpAddr !== senderIdentityAddr? (E: fe46bd584853d8e1e8e2d11f52012826)`);
330
+ }
331
+ // these two should be the same, we're just confirming that they're both
332
+ // on the same timeline.
333
+ const senderIdentityTjpAddr_latest = latestAddrsMap_senderIdentity[senderIdentityTjpAddr];
334
+ const senderIdentityAddr_latest = latestAddrsMap_senderIdentity[senderIdentityAddr];
335
+ if (!senderIdentityAddr_latest) {
336
+ throw new Error(`(UNEXPECTED) senderIdentityAddr_latest falsy? (E: e151798ae2e9241578d09948937c4b26)`);
337
+ }
338
+ if (senderIdentityTjpAddr_latest !== senderIdentityAddr_latest) {
339
+ throw new Error(`senderIdentityTjpAddr_latest !== senderIdentityAddr_latest (E: 52478a1053589e72665031a853cc1826)`);
340
+ }
341
+ // ATOW, we're only allowing a single sync to occur on an identity at
342
+ // any given time (which makes sense). We also are assuming that the
343
+ // sender identity is not doing anything ELSE at this time, which in
344
+ // the (far) future may change. So the user couldn't edit their primary
345
+ // identity's profile, description, etc., while the sync is in progress.
346
+ // This may ultimately be asking too much though. But for now, we'll
347
+ // enforce that the latest senderIdentity addr should be that addr that
348
+ // authorized the session keystone.
349
+ // if (senderIdentityAddr_latest !== senderIdentityAddr) {
350
+ // errors.push(`The senderIdentityAddr referenced in the session keystone's genesis frameDetails (${senderIdentityAddr}) is DIFFERENT than the latest sender identity addr (${senderIdentityAddr_latest}). This means that the sender has done something besides the current sync operation, which isn't supported at this time. (E: a02598271b48cbeb584e45abde121826)`);
351
+ // return errors; /* <<<< returns early */
352
+ // }
353
+ // now we confirm the other direction: sender identity should have been
354
+ // signed with "sync" verb and targeting the sessionIdentity tjp
355
+ // (genesis) frame.
356
+ const resGetSenderIdentity_latest = await getFromSpace({
357
+ addr: senderIdentityAddr_latest,
358
+ space,
359
+ });
360
+ if (!resGetSenderIdentity_latest.success || resGetSenderIdentity_latest.ibGibs?.length !== 1) {
361
+ errors.push(`could not fetch latest sender identity ${prevSessionIdentityAddr} from space (${space.ib}). (E: 3565ff0ed458f5a2384c40b16e849826)`);
362
+ return errors; /* <<<< returns early */
363
+ }
364
+ const senderIdentity_latest = resGetSenderIdentity_latest.ibGibs[0];
365
+ if (!senderIdentity_latest.data.proofs) {
366
+ errors.push(`Invalid sender identity. Proofs empty/falsy. (E: ebf488853061614d2b5b137828119526)`);
367
+ return errors; /* <<<< returns early */
368
+ }
369
+ const syncClaim = senderIdentity_latest.data.proofs.find(p => p.claim.verb === KEYSTONE_VERB_SYNC)?.claim;
370
+ if (!syncClaim) {
371
+ errors.push(`Most recent senderIdentity has no proof whose claim.verb === ${KEYSTONE_VERB_SYNC}. (E: b0f488ecccbbfe43d9a0b7c8a29d7826)`);
372
+ return errors; /* <<<< returns early */
373
+ }
374
+ if (syncClaim.target !== sessionIdentityTjpAddr) {
375
+ errors.push(`Most recent sender identity claim has claim.verb === ${KEYSTONE_VERB_SYNC} but DOES NOT target expected session identity addr ${prevSessionIdentityAddr}. (E: 3e7f18d99848969be8586423d5ccb826)`);
376
+ return errors;
377
+ }
378
+ const keystoneSvc = new KeystoneService_V1();
379
+ const transitionErrors = await keystoneSvc.validate({
380
+ currentIbGib: currSessionIdentity,
381
+ prevIbGib: prevSessionIdentity,
382
+ });
383
+ if (transitionErrors.length > 0) {
384
+ errors.push(`Invalid session identity transition: ${transitionErrors.join(', ')} (E: da1c81c6d3c86aec3254f48fe7514226)`);
385
+ }
386
+ // we have a valid keystone evolution/signing, but was it specifically
387
+ // for this incoming context? verify that the signing targets context.
388
+ const contextAddr = getIbGibAddr({ ibGib: context });
389
+ const targetsThisContext = currSessionIdentity.data?.proofs?.some(p => p.claim.target === contextAddr);
390
+ if (!targetsThisContext) {
391
+ errors.push(`Session identity signature does not target current context ibgib (${contextAddr}). (E: acae68938c287178c878d1b88bebb826)`);
392
+ }
393
+ return errors;
199
394
  }
200
395
  catch (error) {
201
- console.error(`${lc} ${extractErrorMsg(error)}`);
202
- throw error;
396
+ const emsg = `${lc} ${extractErrorMsg(error)}`;
397
+ console.error(emsg);
398
+ return [`authentication produced an error: ${emsg} (E: 45e014b82af81993d936611ca6fc4d26)`];
203
399
  }
204
400
  finally {
205
401
  if (logalot) {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-context-helpers.mjs","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-helpers.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-saga-context-helpers.mjs","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-helpers.mts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { IbGibData_V1, IbGibRel8ns_V1, IbGib_V1 } from '@ibgib/ts-gib/dist/V1/ty
6
6
  import { SYNC_SAGA_PAYLOAD_ADDRS_DOMAIN } from '../sync-constants.mjs';
7
7
  import { SyncIbGib_V1 } from '../sync-types.mjs';
8
8
  import { SYNC_SAGA_CONTEXT_ATOM } from './sync-saga-context-constants.mjs';
9
+ import { KeystoneIbGib_V1 } from '../../keystone/keystone-types.mjs';
9
10
  export interface SyncSagaContextIb_V1 {
10
11
  atom: typeof SYNC_SAGA_CONTEXT_ATOM;
11
12
  /**
@@ -42,6 +43,10 @@ export interface SyncSagaContextRel8ns_V1 extends IbGibRel8ns_V1 {
42
43
  * Should be a single addr.
43
44
  */
44
45
  sagaFrame: IbGibAddr[];
46
+ /**
47
+ * Ephemeral session identity genesis address to confirm S_genesis.
48
+ */
49
+ sessionIdentity?: IbGibAddr[];
45
50
  }
46
51
  /**
47
52
  * The SyncSagaContext is a full-fledged ibGib used as the payload
@@ -61,5 +66,9 @@ export interface SyncSagaContextIbGib_V1 extends IbGib_V1<SyncSagaContextData_V1
61
66
  * This frame's addr should be {@link SyncSagaContextRel8ns_V1.sagaFrame}.
62
67
  */
63
68
  sagaFrame: SyncIbGib_V1;
69
+ /**
70
+ * Evolved session identity frame signed by Alice targeting this context.
71
+ */
72
+ signedSessionIdentity?: KeystoneIbGib_V1;
64
73
  }
65
74
  //# sourceMappingURL=sync-saga-context-types.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-context-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAE3E,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,sBAAsB,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,CAAC,8BAA8B,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC5D;;;;OAIG;IACH,SAAS,EAAE,SAAS,EAAE,CAAC;CAE1B;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IACvG;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEjC;;;;OAIG;IACH,SAAS,EAAE,YAAY,CAAC;CAE3B"}
1
+ {"version":3,"file":"sync-saga-context-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAErE,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,sBAAsB,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,CAAC,8BAA8B,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;CAClD;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC5D;;;;OAIG;IACH,SAAS,EAAE,SAAS,EAAE,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IACvG;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEjC;;;;OAIG;IACH,SAAS,EAAE,YAAY,CAAC;IAExB;;OAEG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;CAC5C"}
@@ -7,6 +7,7 @@ import { SyncPeerWitness } from "./sync-peer/sync-peer-types.mjs";
7
7
  import { SyncSagaContextIbGib_V1 } from "./sync-saga-context/sync-saga-context-types.mjs";
8
8
  import { KeystoneIbGib_V1 } from "../keystone/keystone-types.mjs";
9
9
  import { KeystonePoolConfig } from "../keystone/keystone-types.mjs";
10
+ import { SyncPeer_V1 } from "./sync-peer/sync-peer-v1.mjs";
10
11
  /**
11
12
  * Orchestrates the synchronization process between two spaces (Source and Destination).
12
13
  *
@@ -102,7 +103,7 @@ export declare class SyncSagaCoordinator {
102
103
  * @returns next context result if another round, else if commit returns
103
104
  * null
104
105
  */
105
- continueSync({ sagaContext, mySpace, myTempSpace, metaspace, }: {
106
+ continueSync({ sagaContext, mySpace, myTempSpace, metaspace, peer, }: {
106
107
  sagaContext: SyncSagaContextIbGib_V1;
107
108
  /**
108
109
  * Local space relative to the execution context's POV
@@ -113,6 +114,10 @@ export declare class SyncSagaCoordinator {
113
114
  */
114
115
  myTempSpace: IbGibSpaceAny;
115
116
  metaspace: MetaspaceService;
117
+ /**
118
+ * the peer that is continuing the sync
119
+ */
120
+ peer: SyncPeer_V1;
116
121
  }): Promise<SyncSagaContextIbGib_V1 | null>;
117
122
  /**
118
123
  * Drives the FSM loop of the Saga.
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}