@ibgib/core-gib 0.1.20 → 0.1.22

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 (165) hide show
  1. package/dist/sync/graft-info/graft-info-constants.d.mts +5 -0
  2. package/dist/sync/graft-info/graft-info-constants.d.mts.map +1 -0
  3. package/dist/sync/graft-info/graft-info-constants.mjs +5 -0
  4. package/dist/sync/graft-info/graft-info-constants.mjs.map +1 -0
  5. package/dist/sync/graft-info/graft-info-helpers.d.mts +49 -0
  6. package/dist/sync/graft-info/graft-info-helpers.d.mts.map +1 -0
  7. package/dist/sync/graft-info/graft-info-helpers.mjs +236 -0
  8. package/dist/sync/graft-info/graft-info-helpers.mjs.map +1 -0
  9. package/dist/sync/graft-info/graft-info-helpers.respec.d.mts +2 -0
  10. package/dist/sync/graft-info/graft-info-helpers.respec.d.mts.map +1 -0
  11. package/dist/sync/graft-info/graft-info-helpers.respec.mjs +70 -0
  12. package/dist/sync/graft-info/graft-info-helpers.respec.mjs.map +1 -0
  13. package/dist/sync/graft-info/graft-info-types.d.mts +31 -0
  14. package/dist/sync/{merge-info/merge-info-types.d.mts.map → graft-info/graft-info-types.d.mts.map} +1 -1
  15. package/dist/sync/graft-info/graft-info-types.mjs +2 -0
  16. package/dist/sync/graft-info/graft-info-types.mjs.map +1 -0
  17. package/dist/sync/strategies/conflict-optimistic.d.mts +1 -1
  18. package/dist/sync/strategies/conflict-optimistic.d.mts.map +1 -1
  19. package/dist/sync/strategies/conflict-optimistic.mjs +10 -60
  20. package/dist/sync/strategies/conflict-optimistic.mjs.map +1 -1
  21. package/dist/sync/sync-conflict.respec.mjs +155 -34
  22. package/dist/sync/sync-conflict.respec.mjs.map +1 -1
  23. package/dist/sync/sync-constants.d.mts +9 -11
  24. package/dist/sync/sync-constants.d.mts.map +1 -1
  25. package/dist/sync/sync-constants.mjs +3 -5
  26. package/dist/sync/sync-constants.mjs.map +1 -1
  27. package/dist/sync/sync-helpers.d.mts +2 -0
  28. package/dist/sync/sync-helpers.d.mts.map +1 -1
  29. package/dist/sync/sync-helpers.mjs +11 -9
  30. package/dist/sync/sync-helpers.mjs.map +1 -1
  31. package/dist/sync/sync-innerspace-constants.respec.mjs +5 -1
  32. package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -1
  33. package/dist/sync/sync-innerspace-deep-updates.respec.mjs +5 -1
  34. package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
  35. package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +8 -4
  36. package/dist/sync/sync-innerspace-dest-ahead.respec.mjs.map +1 -1
  37. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs +5 -1
  38. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
  39. package/dist/sync/sync-innerspace-partial-update.respec.mjs +5 -1
  40. package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -1
  41. package/dist/sync/sync-innerspace.respec.mjs +5 -1
  42. package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
  43. package/dist/sync/sync-peer/sync-peer-constants.d.mts +2 -0
  44. package/dist/sync/sync-peer/sync-peer-constants.d.mts.map +1 -0
  45. package/dist/sync/sync-peer/sync-peer-constants.mjs +2 -0
  46. package/dist/sync/sync-peer/sync-peer-constants.mjs.map +1 -0
  47. package/dist/sync/sync-peer/sync-peer-helpers.d.mts +2 -0
  48. package/dist/sync/sync-peer/sync-peer-helpers.d.mts.map +1 -0
  49. package/dist/sync/sync-peer/sync-peer-helpers.mjs +2 -0
  50. package/dist/sync/sync-peer/sync-peer-helpers.mjs.map +1 -0
  51. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.d.mts +8 -0
  52. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.d.mts.map +1 -0
  53. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs +8 -0
  54. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs.map +1 -0
  55. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-helpers.d.mts +18 -0
  56. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-helpers.d.mts.map +1 -0
  57. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-helpers.mjs +54 -0
  58. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-helpers.mjs.map +1 -0
  59. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.d.mts +80 -0
  60. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.d.mts.map +1 -0
  61. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.mjs +5 -0
  62. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.mjs.map +1 -0
  63. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts +43 -0
  64. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts.map +1 -0
  65. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs +229 -0
  66. package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs.map +1 -0
  67. package/dist/sync/sync-peer/sync-peer-types.d.mts +12 -0
  68. package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
  69. package/dist/sync/sync-peer/sync-peer-v1.d.mts +15 -7
  70. package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
  71. package/dist/sync/sync-peer/sync-peer-v1.mjs +105 -24
  72. package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
  73. package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +5 -8
  74. package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts.map +1 -1
  75. package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs +34 -18
  76. package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs.map +1 -1
  77. package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts +26 -22
  78. package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts.map +1 -1
  79. package/dist/sync/sync-saga-context/sync-saga-context-types.mjs +1 -9
  80. package/dist/sync/sync-saga-context/sync-saga-context-types.mjs.map +1 -1
  81. package/dist/sync/sync-saga-coordinator.d.mts +48 -51
  82. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  83. package/dist/sync/sync-saga-coordinator.mjs +720 -420
  84. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  85. package/dist/sync/sync-saga-message/sync-saga-message-helpers.d.mts.map +1 -1
  86. package/dist/sync/sync-saga-message/sync-saga-message-helpers.mjs +1 -0
  87. package/dist/sync/sync-saga-message/sync-saga-message-helpers.mjs.map +1 -1
  88. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts +1 -12
  89. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts.map +1 -1
  90. package/dist/sync/sync-types.d.mts +15 -3
  91. package/dist/sync/sync-types.d.mts.map +1 -1
  92. package/dist/witness/light-witness-base-v1.d.mts.map +1 -1
  93. package/dist/witness/light-witness-base-v1.mjs +2 -0
  94. package/dist/witness/light-witness-base-v1.mjs.map +1 -1
  95. package/dist/witness/space/inner-space/inner-space-v1.mjs +1 -1
  96. package/dist/witness/space/inner-space/inner-space-v1.mjs.map +1 -1
  97. package/ibgib-foundations.md +20 -2
  98. package/package.json +1 -1
  99. package/src/sync/README.md +31 -22
  100. package/src/sync/graft-info/graft-info-constants.mts +4 -0
  101. package/src/sync/graft-info/graft-info-helpers.mts +308 -0
  102. package/src/sync/graft-info/graft-info-helpers.respec.mts +83 -0
  103. package/src/sync/graft-info/graft-info-types.mts +33 -0
  104. package/src/sync/strategies/conflict-optimistic.mts +11 -70
  105. package/src/sync/sync-conflict.respec.mts +177 -37
  106. package/src/sync/sync-constants.mts +5 -9
  107. package/src/sync/sync-helpers.mts +11 -7
  108. package/src/sync/sync-innerspace-constants.respec.mts +5 -1
  109. package/src/sync/sync-innerspace-deep-updates.respec.mts +5 -1
  110. package/src/sync/sync-innerspace-dest-ahead.respec.mts +7 -3
  111. package/src/sync/sync-innerspace-multiple-timelines.respec.mts +5 -1
  112. package/src/sync/sync-innerspace-partial-update.respec.mts +8 -2
  113. package/src/sync/sync-innerspace.respec.mts +5 -1
  114. package/src/sync/sync-peer/sync-peer-constants.mts +0 -0
  115. package/src/sync/sync-peer/sync-peer-helpers.mts +0 -0
  116. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mts +8 -0
  117. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-helpers.mts +72 -0
  118. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.mts +87 -0
  119. package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +242 -0
  120. package/src/sync/sync-peer/sync-peer-types.mts +13 -1
  121. package/src/sync/sync-peer/sync-peer-v1.mts +93 -27
  122. package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +47 -29
  123. package/src/sync/sync-saga-context/sync-saga-context-types.mts +29 -30
  124. package/src/sync/sync-saga-coordinator.mts +782 -441
  125. package/src/sync/sync-saga-message/sync-saga-message-helpers.mts +2 -0
  126. package/src/sync/sync-saga-message/sync-saga-message-types.mts +0 -11
  127. package/src/sync/sync-types.mts +17 -3
  128. package/src/witness/light-witness-base-v1.mts +2 -1
  129. package/src/witness/space/inner-space/inner-space-v1.mts +1 -1
  130. package/test_output.log +489 -0
  131. package/tmp.md +61 -2
  132. package/dist/sync/merge-info/merge-info-constants.d.mts +0 -2
  133. package/dist/sync/merge-info/merge-info-constants.d.mts.map +0 -1
  134. package/dist/sync/merge-info/merge-info-constants.mjs +0 -2
  135. package/dist/sync/merge-info/merge-info-constants.mjs.map +0 -1
  136. package/dist/sync/merge-info/merge-info-helpers.d.mts +0 -51
  137. package/dist/sync/merge-info/merge-info-helpers.d.mts.map +0 -1
  138. package/dist/sync/merge-info/merge-info-helpers.mjs +0 -92
  139. package/dist/sync/merge-info/merge-info-helpers.mjs.map +0 -1
  140. package/dist/sync/merge-info/merge-info-helpers.respec.d.mts +0 -2
  141. package/dist/sync/merge-info/merge-info-helpers.respec.d.mts.map +0 -1
  142. package/dist/sync/merge-info/merge-info-helpers.respec.mjs +0 -32
  143. package/dist/sync/merge-info/merge-info-helpers.respec.mjs.map +0 -1
  144. package/dist/sync/merge-info/merge-info-types.d.mts +0 -26
  145. package/dist/sync/merge-info/merge-info-types.mjs +0 -2
  146. package/dist/sync/merge-info/merge-info-types.mjs.map +0 -1
  147. package/dist/sync/sync-local-spaces.respec.d.mts +0 -2
  148. package/dist/sync/sync-local-spaces.respec.d.mts.map +0 -1
  149. package/dist/sync/sync-local-spaces.respec.mjs +0 -159
  150. package/dist/sync/sync-local-spaces.respec.mjs.map +0 -1
  151. package/dist/sync/sync-peer/sync-peer-innerspace-v1.d.mts +0 -39
  152. package/dist/sync/sync-peer/sync-peer-innerspace-v1.d.mts.map +0 -1
  153. package/dist/sync/sync-peer/sync-peer-innerspace-v1.mjs +0 -131
  154. package/dist/sync/sync-peer/sync-peer-innerspace-v1.mjs.map +0 -1
  155. package/dist/sync/sync-saga-coordinator.respec.d.mts +0 -2
  156. package/dist/sync/sync-saga-coordinator.respec.d.mts.map +0 -1
  157. package/dist/sync/sync-saga-coordinator.respec.mjs +0 -40
  158. package/dist/sync/sync-saga-coordinator.respec.mjs.map +0 -1
  159. package/src/sync/merge-info/merge-info-constants.mts +0 -1
  160. package/src/sync/merge-info/merge-info-helpers.mts +0 -134
  161. package/src/sync/merge-info/merge-info-helpers.respec.mts +0 -41
  162. package/src/sync/merge-info/merge-info-types.mts +0 -28
  163. package/src/sync/sync-local-spaces.respec.mts +0 -200
  164. package/src/sync/sync-peer/sync-peer-innerspace-v1.mts +0 -167
  165. package/src/sync/sync-saga-coordinator.respec.mts +0 -52
@@ -1,11 +1,11 @@
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, getTimestamp } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
5
5
  import { Factory_V1 } from '@ibgib/ts-gib/dist/V1/factory.mjs';
6
6
  import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
7
7
  import { SYNC_SAGA_CONTEXT_ATOM } from './sync-saga-context-constants.mjs';
8
- import { SYNC_SAGA_PAYLOAD_ADDRS_REL8N_NAME } from '../sync-constants.mjs';
8
+ import { SYNC_SAGA_PAYLOAD_ADDRS_DOMAIN } from '../sync-constants.mjs';
9
9
  /**
10
10
  * Constructs the standard 'ib' string for a Sync Saga Context stone.
11
11
  */
@@ -15,11 +15,11 @@ export async function getSyncSagaContextIb({ data, }) {
15
15
  if (!data) {
16
16
  throw new Error(`data required (E: 839d82138c234b3e89582855594191fe)`);
17
17
  }
18
- const cmd = data.cmd || 'default';
18
+ const payloadCount = data['@payloadAddrsDomain'] ? data['@payloadAddrsDomain'].length : 0;
19
19
  // sync_sagacontext cmd
20
20
  const ib = [
21
21
  SYNC_SAGA_CONTEXT_ATOM,
22
- cmd
22
+ payloadCount,
23
23
  ].join(' ');
24
24
  return ib;
25
25
  }
@@ -35,15 +35,21 @@ export async function parseSyncSagaContextIb({ ib, }) {
35
35
  const lc = `[${parseSyncSagaContextIb.name}]`;
36
36
  try {
37
37
  const parts = ib.split(' ');
38
- if (parts.length < 2) {
39
- throw new Error(`Invalid sync saga context ib. Expected at least 2 parts [atom cmd]. Got ${parts.length}. (E: 8b06c88820c74f5fb9f21f148459422a)`);
38
+ if (parts.length !== 2) {
39
+ throw new Error(`Invalid sync saga context ib. Expected at least 2 parts [atom, payloadCount]. Got ${parts.length}. (E: 8b06c88820c74f5fb9f21f148459422a)`);
40
40
  }
41
- const [atom, ...rest] = parts;
42
- const cmd = rest.join(' '); // cmd might have spaces if it's not a strict enum? but usually single word key.
41
+ const [atom, payloadCountStr,] = parts;
43
42
  if (atom !== SYNC_SAGA_CONTEXT_ATOM) {
44
43
  throw new Error(`Atom mismatch. Expected ${SYNC_SAGA_CONTEXT_ATOM}. Got ${atom}. (E: 67d71fc0f8d04840b178652309f471f5)`);
45
44
  }
46
- return { atom, cmd };
45
+ if (!payloadCountStr) {
46
+ throw new Error(`invalid ib. second piece should be payloadCount but is falsy (E: 0bb7580793d800ca02227828a7294826)`);
47
+ }
48
+ const payloadCount = parseInt(payloadCountStr);
49
+ if (isNaN(payloadCount)) {
50
+ throw new Error(`payloadCountStr is not a number. (E: 49457814282a44069871630987588722)`);
51
+ }
52
+ return { atom, payloadCount };
47
53
  }
48
54
  catch (error) {
49
55
  console.error(`${lc} ${extractErrorMsg(error)}`);
@@ -55,19 +61,25 @@ export async function parseSyncSagaContextIb({ ib, }) {
55
61
  *
56
62
  * @returns The context ibGib.
57
63
  */
58
- export async function createSyncSagaContext({ cmd, sagaFrame, sessionKeystones, payloadAddrs, }) {
64
+ export async function createSyncSagaContext({ sagaFrame, sessionKeystones, payloadIbGibsDomain, }) {
65
+ const date = new Date();
66
+ const timestamp = getTimestamp(date);
67
+ const timestampMs = date.getMilliseconds();
59
68
  const data = {
60
- cmd,
69
+ timestamp,
70
+ timestampMs,
61
71
  };
62
- if (payloadAddrs && payloadAddrs.length > 0) {
63
- data[SYNC_SAGA_PAYLOAD_ADDRS_REL8N_NAME] = payloadAddrs;
64
- }
65
- const rel8ns = {};
66
- if (sagaFrame) {
67
- rel8ns.sagaFrame = [getIbGibAddr(sagaFrame)];
72
+ // Domain Payloads
73
+ const payloadAddrsDomain = payloadIbGibsDomain ? payloadIbGibsDomain?.map(x => getIbGibAddr({ ibGib: x })) : undefined;
74
+ if (payloadAddrsDomain && payloadAddrsDomain.length > 0) {
75
+ data[SYNC_SAGA_PAYLOAD_ADDRS_DOMAIN] = payloadAddrsDomain;
68
76
  }
77
+ // rel8ns should always have saga frame, sometimes have keystone
78
+ const rel8ns = {
79
+ sagaFrame: [getIbGibAddr({ ibGib: sagaFrame })],
80
+ };
69
81
  if (sessionKeystones && sessionKeystones.length > 0) {
70
- rel8ns.sessionKeystone = sessionKeystones.map(getIbGibAddr);
82
+ rel8ns.sessionKeystone = sessionKeystones.map(x => getIbGibAddr({ ibGib: x }));
71
83
  }
72
84
  // Generate standard ib
73
85
  const ib = await getSyncSagaContextIb({ data });
@@ -77,6 +89,10 @@ export async function createSyncSagaContext({ cmd, sagaFrame, sessionKeystones,
77
89
  data,
78
90
  rel8ns,
79
91
  });
92
+ // Attach actual ibgibs for transport
93
+ if (payloadIbGibsDomain && payloadIbGibsDomain.length > 0) {
94
+ contextIbGib.payloadIbGibsDomain = payloadIbGibsDomain;
95
+ }
80
96
  return contextIbGib;
81
97
  }
82
98
  //# sourceMappingURL=sync-saga-context-helpers.mjs.map
@@ -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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"}
@@ -3,35 +3,25 @@
3
3
  */
4
4
  import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
5
5
  import { IbGibData_V1, IbGibRel8ns_V1, IbGib_V1 } from '@ibgib/ts-gib/dist/V1/types.mjs';
6
- import { SYNC_SAGA_PAYLOAD_ADDRS_REL8N_NAME } from '../sync-constants.mjs';
7
- /**
8
- * Commands for the Sync Saga Context.
9
- */
10
- export type SyncSagaContextCmd = 'process' | 'ping';
11
- export declare const SyncSagaContextCmd: {
12
- process: SyncSagaContextCmd;
13
- ping: SyncSagaContextCmd;
14
- };
15
- export declare const SYNC_SAGA_CONTEXT_CMD_VALID_VALUES: SyncSagaContextCmd[];
16
- export declare function isValidSyncSagaContextCmd(cmd: string): cmd is SyncSagaContextCmd;
6
+ import { SYNC_SAGA_PAYLOAD_ADDRS_DOMAIN } from '../sync-constants.mjs';
7
+ import { SyncIbGib_V1 } from '../sync-types.mjs';
8
+ import { SYNC_SAGA_CONTEXT_ATOM } from './sync-saga-context-constants.mjs';
17
9
  export interface SyncSagaContextIb_V1 {
18
- atom: string;
19
- cmd: SyncSagaContextCmd | string;
10
+ atom: typeof SYNC_SAGA_CONTEXT_ATOM;
11
+ /**
12
+ * simple metadata count of data["@payloadAddrsDomain"]
13
+ */
14
+ payloadCount: number;
20
15
  }
21
16
  /**
22
17
  * Data payload for the Sync Saga Context.
23
18
  */
24
19
  export interface SyncSagaContextData_V1 extends IbGibData_V1 {
25
20
  /**
26
- * Contextual command or metadata for the transport layer.
27
- * e.g. "process", "ping".
28
- */
29
- cmd?: SyncSagaContextCmd | string;
30
- /**
31
- * Payload data (ibGibs) being transported in this context (e.g. for Delta stage).
21
+ * Payload data addresses for DOMAIN ibGibs (Timeline frames, user content).
32
22
  * Soft-linked via data property to avoid hard-linking graph dependencies.
33
23
  */
34
- [SYNC_SAGA_PAYLOAD_ADDRS_REL8N_NAME]?: IbGibAddr[];
24
+ [SYNC_SAGA_PAYLOAD_ADDRS_DOMAIN]?: IbGibAddr[];
35
25
  }
36
26
  /**
37
27
  * Relationships for the Sync Saga Context.
@@ -40,9 +30,10 @@ export interface SyncSagaContextData_V1 extends IbGibData_V1 {
40
30
  export interface SyncSagaContextRel8ns_V1 extends IbGibRel8ns_V1 {
41
31
  /**
42
32
  * The primary Saga Frame being transported (Init, Ack, Delta, etc.).
43
- * 0..1 (Optional only if trivial ping or strict metadata update)
33
+ *
34
+ * Should be a single addr.
44
35
  */
45
- sagaFrame?: IbGibAddr[];
36
+ sagaFrame: IbGibAddr[];
46
37
  /**
47
38
  * The Ephemeral Session Keystone Identity used for this saga.
48
39
  * Required for validating the saga frame signature.
@@ -54,5 +45,18 @@ export interface SyncSagaContextRel8ns_V1 extends IbGibRel8ns_V1 {
54
45
  * between Sync Peers.
55
46
  */
56
47
  export interface SyncSagaContextIbGib_V1 extends IbGib_V1<SyncSagaContextData_V1, SyncSagaContextRel8ns_V1> {
48
+ /**
49
+ * Domain ibgibs - OUTBOUND only.
50
+ *
51
+ * For inbound, the domain payload ibgibs are streamed via observable in the
52
+ * peer.
53
+ */
54
+ payloadIbGibsDomain?: IbGib_V1[];
55
+ /**
56
+ * Reference to the actual sync saga frame that this context conveys.
57
+ *
58
+ * This frame's addr should be {@link SyncSagaContextRel8ns_V1.sagaFrame}.
59
+ */
60
+ sagaFrame: SyncIbGib_V1;
57
61
  }
58
62
  //# 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;AACzF,OAAO,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAG3E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GACxB,SAAS,GACT,MAAM,CAAC;AACb,eAAO,MAAM,kBAAkB;aACL,kBAAkB;UACxB,kBAAkB;CACyB,CAAC;AAChE,eAAO,MAAM,kCAAkC,sBAAoC,CAAC;AACpF,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAEhF;AAGD,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD;;;OAGG;IACH,GAAG,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAAC;IAElC;;;OAGG;IACH,CAAC,kCAAkC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;CACtD;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAyB,SAAQ,cAAc;IAC5D;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IAExB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,EAAE,CAAC;CACjC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;CAAI"}
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,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD;;;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;;;OAGG;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;CAC3B"}
@@ -1,13 +1,5 @@
1
1
  /**
2
2
  * @module sync saga context types
3
3
  */
4
- import { SYNC_SAGA_PAYLOAD_ADDRS_REL8N_NAME } from '../sync-constants.mjs';
5
- export const SyncSagaContextCmd = {
6
- process: 'process',
7
- ping: 'ping',
8
- };
9
- export const SYNC_SAGA_CONTEXT_CMD_VALID_VALUES = Object.values(SyncSagaContextCmd);
10
- export function isValidSyncSagaContextCmd(cmd) {
11
- return SYNC_SAGA_CONTEXT_CMD_VALID_VALUES.includes(cmd);
12
- }
4
+ import { SYNC_SAGA_PAYLOAD_ADDRS_DOMAIN } from '../sync-constants.mjs';
13
5
  //# sourceMappingURL=sync-saga-context-types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-context-types.mjs","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,kCAAkC,EAAE,MAAM,uBAAuB,CAAC;AAS3E,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,OAAO,EAAE,SAA+B;IACxC,IAAI,EAAE,MAA4B;CACyB,CAAC;AAChE,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpF,MAAM,UAAU,yBAAyB,CAAC,GAAW;IACjD,OAAO,kCAAkC,CAAC,QAAQ,CAAC,GAAyB,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"sync-saga-context-types.mjs","sourceRoot":"","sources":["../../../src/sync/sync-saga-context/sync-saga-context-types.mts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
@@ -10,6 +10,15 @@ import { SyncSagaInfo } from "./sync-types.mjs";
10
10
  import { SyncPeerWitness } from "./sync-peer/sync-peer-types.mjs";
11
11
  import { SyncSagaContextIbGib_V1 } from "./sync-saga-context/sync-saga-context-types.mjs";
12
12
  import { SubjectWitness } from "../common/pubsub/subject/subject-types.mjs";
13
+ /**
14
+ * Result of handling a saga frame.
15
+ * Separates control and domain payloads.
16
+ */
17
+ export interface HandleSagaFrameResult {
18
+ frame: SyncIbGib_V1;
19
+ payloadIbGibsControl?: IbGib_V1[];
20
+ payloadIbGibsDomain?: IbGib_V1[];
21
+ }
13
22
  /**
14
23
  * Orchestrates the synchronization process between two spaces (Source and Destination).
15
24
  *
@@ -122,32 +131,27 @@ export declare class SyncSagaCoordinator {
122
131
  };
123
132
  }>;
124
133
  /**
125
- * Reacts to an incoming saga frame and dispatches to appropriate handler.
126
- *
127
- * @remarks
128
- * **Execution Context**: **Universal (Both Sender and Receiver)**.
129
- *
130
- * This method acts as the "Reducer" for the Sync FSM. It determines the current stage
131
- * based on the incoming frame and delegates to the appropriate handler.
132
- *
133
- * * If running on **Receiver**: Handles `Init` (via `handleInitFrame`).
134
- * * If running on **Sender**: Handles `Ack` (via `handleAckFrame`).
135
- * * If running on **Either**: Handles `Delta` (via `handleDeltaFrame`) or `Commit`.
134
+ * Helper to poll for streaming domain payloads and put them in the
135
+ * local {@link tempSpace}.
136
136
  */
137
- handleSagaFrame({ sagaIbGib, srcGraph, space, identity, identitySecret, metaspace, }: {
137
+ protected pollForDomainPayloads({ expectedAddrs, domainPayloadsMap, tempSpace, }: {
138
+ expectedAddrs: string[];
139
+ domainPayloadsMap: Map<string, IbGib_V1>;
140
+ tempSpace: IbGibSpaceAny;
141
+ }): Promise<void>;
142
+ handleSagaFrame({ sagaIbGib, srcGraph, destSpace, tempSpace, identity, identitySecret, metaspace, }: {
138
143
  sagaIbGib: SyncIbGib_V1;
139
144
  srcGraph: {
140
145
  [addr: string]: IbGib_V1;
141
146
  };
142
- space: IbGibSpaceAny;
147
+ destSpace: IbGibSpaceAny;
148
+ tempSpace: IbGibSpaceAny;
143
149
  identity?: KeystoneIbGib_V1;
144
150
  identitySecret?: string;
145
151
  metaspace: MetaspaceService;
146
- }): Promise<{
147
- frame: SyncIbGib_V1;
148
- payloadIbGibs?: IbGib_V1[];
149
- receivedPayloadIbGibs?: IbGib_V1[];
150
- } | null>;
152
+ domainPayloadsMap?: Map<string, IbGib_V1>;
153
+ expectedDomainAddrs?: string[];
154
+ }): Promise<HandleSagaFrameResult | null>;
151
155
  /**
152
156
  * Handles the `Init` frame.
153
157
  *
@@ -160,17 +164,15 @@ export declare class SyncSagaCoordinator {
160
164
  * 3. Identifies what Receiver needs (`deltaReqAddrs`).
161
165
  * 4. Returns an `Ack` frame containing these lists.
162
166
  */
163
- protected handleInitFrame({ sagaIbGib, messageData, space, metaspace, identity, identitySecret, }: {
167
+ protected handleInitFrame({ sagaIbGib, messageData, destSpace, tempSpace, metaspace, identity, identitySecret, }: {
164
168
  sagaIbGib: SyncIbGib_V1;
165
169
  messageData: any;
166
- space: IbGibSpaceAny;
170
+ destSpace: IbGibSpaceAny;
171
+ tempSpace: IbGibSpaceAny;
167
172
  metaspace: MetaspaceService;
168
173
  identity?: KeystoneIbGib_V1;
169
174
  identitySecret?: string;
170
- }): Promise<{
171
- frame: SyncIbGib_V1;
172
- payloadIbGibs?: IbGib_V1[];
173
- } | null>;
175
+ }): Promise<HandleSagaFrameResult | null>;
174
176
  /**
175
177
  * Handles the `Ack` frame.
176
178
  *
@@ -183,18 +185,16 @@ export declare class SyncSagaCoordinator {
183
185
  *
184
186
  * Returns a `Delta` frame.
185
187
  */
186
- protected handleAckFrame({ sagaIbGib, srcGraph, space, metaspace, identity, }: {
188
+ protected handleAckFrame({ sagaIbGib, srcGraph, destSpace, tempSpace, metaspace, identity, }: {
187
189
  sagaIbGib: SyncIbGib_V1;
188
190
  srcGraph: {
189
191
  [addr: string]: IbGib_V1;
190
192
  };
191
- space: IbGibSpaceAny;
193
+ destSpace: IbGibSpaceAny;
194
+ tempSpace: IbGibSpaceAny;
192
195
  metaspace: MetaspaceService;
193
196
  identity?: KeystoneIbGib_V1;
194
- }): Promise<{
195
- frame: SyncIbGib_V1;
196
- payloadIbGibs?: IbGib_V1[];
197
- } | null>;
197
+ }): Promise<HandleSagaFrameResult | null>;
198
198
  /**
199
199
  * Handles the `Delta` frame.
200
200
  *
@@ -205,41 +205,38 @@ export declare class SyncSagaCoordinator {
205
205
  * 2. **Fulfillment**: Checks `requests`. If Peer requested data, gathers it and prepares `outgoingPayload`.
206
206
  * 3. **Completion**: If no more requests, transitions to `Commit`.
207
207
  */
208
- protected handleDeltaFrame({ sagaIbGib, srcGraph, space, metaspace, identity, }: {
208
+ protected handleDeltaFrame({ sagaIbGib, srcGraph, destSpace, tempSpace, metaspace, identity, }: {
209
209
  sagaIbGib: SyncIbGib_V1;
210
210
  srcGraph: {
211
211
  [addr: string]: IbGib_V1;
212
212
  };
213
- space: IbGibSpaceAny;
213
+ destSpace: IbGibSpaceAny;
214
+ tempSpace: IbGibSpaceAny;
214
215
  metaspace: MetaspaceService;
215
216
  identity?: KeystoneIbGib_V1;
216
- }): Promise<{
217
- frame: SyncIbGib_V1;
218
- payloadIbGibs?: IbGib_V1[];
219
- receivedPayloadIbGibs?: IbGib_V1[];
220
- } | null>;
221
- protected handleCommitFrame({ sagaIbGib, space, metaspace, }: {
217
+ }): Promise<HandleSagaFrameResult | null>;
218
+ protected handleCommitFrame({ sagaIbGib, destSpace, tempSpace, metaspace, identity, }: {
222
219
  sagaIbGib: SyncIbGib_V1;
223
- space: IbGibSpaceAny;
220
+ destSpace: IbGibSpaceAny;
221
+ tempSpace: IbGibSpaceAny;
224
222
  metaspace: MetaspaceService;
225
223
  identity?: KeystoneIbGib_V1;
226
- }): Promise<{
227
- frame: SyncIbGib_V1;
228
- payloadIbGibs?: IbGib_V1[];
229
- } | null>;
230
- protected handleConflictFrame({ sagaIbGib, metaspace, space, }: {
231
- sagaIbGib: SyncIbGib_V1;
232
- metaspace: MetaspaceService;
233
- space: IbGibSpaceAny;
234
- }): Promise<{
235
- frame: SyncIbGib_V1;
236
- payloadIbGibs?: IbGib_V1[];
237
- } | null>;
224
+ }): Promise<HandleSagaFrameResult | null>;
238
225
  protected createSyncMsgStone<TStoneData extends SyncSagaMessageData_V1>({ data, space, metaspace, }: {
239
226
  data: TStoneData;
240
227
  space: IbGibSpaceAny;
241
228
  metaspace: MetaspaceService;
242
229
  }): Promise<IbGib_V1<TStoneData>>;
230
+ /**
231
+ * Ensures saga frame and its msg stone(s) are in BOTH spaces for audit trail.
232
+ * Control ibgibs (saga frames, msg stones, identity) must be in both destSpace and tempSpace.
233
+ */
234
+ protected ensureSagaFrameInBothSpaces({ frame, destSpace, tempSpace, metaspace, }: {
235
+ frame: SyncIbGib_V1;
236
+ destSpace: IbGibSpaceAny;
237
+ tempSpace: IbGibSpaceAny;
238
+ metaspace: MetaspaceService;
239
+ }): Promise<void>;
243
240
  /**
244
241
  * Evolves the saga timeline with a new frame.
245
242
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAkB,MAAM,iCAAiC,CAAC;AAI3E,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,SAAS,EAAkC,MAAM,sBAAsB,CAAC;AAEjF,OAAO,EACU,YAAY,EAAgB,oBAAoB,EAE7D,WAAW,EACd,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACH,sBAAsB,EAGzB,MAAM,iDAAiD,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAsB,MAAM,iDAAiD,CAAC;AAG9G,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAQ5E;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAmB;IAIxB,SAAS,CAAC,QAAQ,EAAE,kBAAkB;IAH1C,SAAS,CAAC,EAAE,EAAE,MAAM,CAAmC;gBAGzC,QAAQ,EAAE,kBAAkB;IAK1C;;;;;;;;;;;;OAYG;IACG,IAAI,CAAC,EACP,IAAI,EACJ,UAAU,EAAE,WAAW,EACvB,MAAM,EAAE,OAAO,EACf,SAAS,EACT,YAAY,EACZ,gBAA0B,EAC1B,kBAAyB,GAC5B,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;cAwGtB,kBAAkB,CAAC,EAC/B,MAAM,EACN,SAAS,EACT,SAAS,GACZ,EAAE;QACC,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,gBAAgB,CAAC;QAC5B,SAAS,EAAE,aAAa,CAAC;KAC5B,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA4B7B;;;;;;;;;;;;;;OAcG;cACa,eAAe,CAAC,EAC5B,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,eAAe,EACf,QAAQ,EACR,UAAU,EACV,SAAS,EACT,SAAS,EACZ,EAAE;QACC,YAAY,EAAE,YAAY,CAAC;QAC3B,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;QACvC,IAAI,EAAE,eAAe,CAAC;QACtB,eAAe,CAAC,EAAE,gBAAgB,CAAC;QAEnC,QAAQ,EAAE,cAAc,CAAC,uBAAuB,CAAC,CAAC;QAClD,UAAU,EAAE,aAAa,CAAC;QAC1B,SAAS,EAAE,aAAa,CAAC;QACzB,SAAS,EAAE,gBAAgB,CAAA;KAC9B,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAmJvB;;;OAGG;IACU,kBAAkB,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,YAAY,EACZ,QAAQ,GACX,EAAE;QACC,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;cA6B7B,gBAAgB,CAAC,EAC7B,YAAY,EACZ,KAAK,GACR,EAAE;QACC,YAAY,EAAE,QAAQ,EAAE,CAAC;QACzB,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC;QACR,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,eAAe,EAAE;YAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;SAAE,CAAC;QAC/C,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;KAC1C,CAAC;IA2BF;;;;;;;;OAQG;cACa,eAAe,CAAC,EAC5B,MAAM,EACN,eAAe,EACf,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,gBAAgB,GACnB,EAAE;QACC,MAAM,EAAE,MAAM,CAAC;QACf,eAAe,CAAC,EAAE,gBAAgB,CAAC;QACnC,UAAU,EAAE,aAAa,CAAC;QAC1B,YAAY,EAAE,QAAQ,EAAE,CAAC;QACzB,SAAS,EAAE,aAAa,CAAC;QACzB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,gBAAgB,EAAE,oBAAoB,CAAC;KAC1C,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,YAAY,CAAC;QAAC,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAA;KAAE,CAAC;IAqDhF;;;;;;;;;;;;OAYG;IACG,eAAe,CAAC,EAClB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,cAAc,EACd,SAAS,GACZ,EAAE;QACC,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;QACvC,KAAK,EAAE,aAAa,CAAC;QACrB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IA0C3G;;;;;;;;;;;OAWG;cACa,eAAe,CAAC,EAC5B,SAAS,EACT,WAAW,EACX,KAAK,EACL,SAAS,EACT,QAAQ,EACR,cAAc,GACjB,EAAE;QACC,SAAS,EAAE,YAAY,CAAC;QACxB,WAAW,EAAE,GAAG,CAAC;QACjB,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAmRvE;;;;;;;;;;;OAWG;cACa,cAAc,CAAC,EAC3B,SAAS,EACT,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACX,EAAE;QACC,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;QACvC,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IA2QvE;;;;;;;;;OASG;cACa,gBAAgB,CAAC,EAC7B,SAAS,EACT,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,GACX,EAAE;QACC,SAAS,EAAE,YAAY,CAAC;QACxB,QAAQ,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;SAAE,CAAC;QACvC,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;QAAC,qBAAqB,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;cA0Q3F,iBAAiB,CAAC,EAC9B,SAAS,EACT,KAAK,EACL,SAAS,GACZ,EAAE;QACC,SAAS,EAAE,YAAY,CAAC;QACxB,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,QAAQ,CAAC,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;cAkBvD,mBAAmB,CAAC,EAChC,SAAS,EACT,SAAS,EACT,KAAK,GACR,EAAE;QACC,SAAS,EAAE,YAAY,CAAC;QACxB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;cAiBvD,kBAAkB,CAAC,UAAU,SAAS,sBAAsB,EAAE,EAC1E,IAAI,EACJ,KAAK,EACL,SAAS,GACZ,EAAE;QACC,IAAI,EAAE,UAAU,CAAC;QACjB,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;KAC/B,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAyBjC;;OAEG;cACa,mBAAmB,CAAC,EAChC,aAAa,EACb,SAAS,EACT,QAAQ,EACR,KAAK,EACL,SAAS,EACT,gBAAgB,GACnB,EAAE;QACC,aAAa,CAAC,EAAE,YAAY,CAAC;QAC7B,SAAS,EAAE,QAAQ,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;KAC3C,GAAG,OAAO,CAAC,YAAY,CAAC;cA2GT,2BAA2B,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAC;QAAC,KAAK,EAAE,aAAa,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,WAAW,EAAE,GAAG,CAAA;KAAE,CAAC;IA8BzJ,SAAS,CAAC,0BAA0B,CAAC,SAAS,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,EAAE,CAAA;KAAE,GAAG,MAAM,EAAE;CA+D3F"}
1
+ {"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}