@ibgib/core-gib 0.1.57 → 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.
- package/dist/keystone/keystone-config-builder.d.mts +12 -1
- package/dist/keystone/keystone-config-builder.d.mts.map +1 -1
- package/dist/keystone/keystone-config-builder.mjs +58 -4
- package/dist/keystone/keystone-config-builder.mjs.map +1 -1
- package/dist/keystone/keystone-constants.d.mts +40 -5
- package/dist/keystone/keystone-constants.d.mts.map +1 -1
- package/dist/keystone/keystone-constants.mjs +39 -5
- package/dist/keystone/keystone-constants.mjs.map +1 -1
- package/dist/keystone/keystone-helpers.d.mts +11 -1
- package/dist/keystone/keystone-helpers.d.mts.map +1 -1
- package/dist/keystone/keystone-helpers.mjs +37 -1
- package/dist/keystone/keystone-helpers.mjs.map +1 -1
- package/dist/keystone/keystone-policy-types.d.mts +23 -0
- package/dist/keystone/keystone-policy-types.d.mts.map +1 -0
- package/dist/keystone/keystone-policy-types.mjs +2 -0
- package/dist/keystone/keystone-policy-types.mjs.map +1 -0
- package/dist/sync/graft-info/graft-info-helpers.respec.mjs +8 -8
- package/dist/sync/graft-info/graft-info-helpers.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-adv-multitimelines.respec.mjs +22 -22
- package/dist/sync/sync-conflict-adv-multitimelines.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-basic-divergence.respec.mjs +3 -3
- package/dist/sync/sync-conflict-basic-divergence.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-basic-multitimelines.respec.mjs +6 -6
- package/dist/sync/sync-conflict-basic-multitimelines.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-text-merge.respec.mjs +26 -26
- package/dist/sync/sync-conflict-text-merge.respec.mjs.map +1 -1
- package/dist/sync/sync-helpers.d.mts +19 -0
- package/dist/sync/sync-helpers.d.mts.map +1 -1
- package/dist/sync/sync-helpers.mjs +51 -1
- package/dist/sync/sync-helpers.mjs.map +1 -1
- package/dist/sync/sync-innerspace-constants.respec.mjs +2 -2
- package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-deep-updates.respec.mjs +2 -2
- package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +4 -4
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs +2 -2
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-partial-update.respec.mjs +3 -3
- package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace.respec.mjs +4 -4
- package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts +5 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs +24 -2
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.d.mts +5 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mjs +21 -3
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.d.mts +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts +13 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs +40 -10
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-types.d.mts +81 -1
- package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.d.mts +37 -3
- package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.mjs +163 -23
- package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.d.mts +46 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.mjs +45 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.d.mts +30 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.mjs +2 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts +68 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs +324 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts +85 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs +332 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.d.mts +29 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.mjs +2 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.d.mts +44 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.mjs +303 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.mjs.map +1 -0
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +22 -5
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts.map +1 -1
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs +223 -27
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs.map +1 -1
- package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts +9 -0
- package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.d.mts +41 -2
- package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.mjs +110 -11
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
- package/dist/sync/sync-types.d.mts +24 -0
- package/dist/sync/sync-types.d.mts.map +1 -1
- package/dist/sync/sync-types.mjs +0 -1
- package/dist/sync/sync-types.mjs.map +1 -1
- package/dist/sync/sync-withid.connect.respec.d.mts +12 -0
- package/dist/sync/sync-withid.connect.respec.d.mts.map +1 -0
- package/dist/sync/sync-withid.connect.respec.mjs +205 -0
- package/dist/sync/sync-withid.connect.respec.mjs.map +1 -0
- package/dist/sync/sync-withid.establish.respec.d.mts +19 -0
- package/dist/sync/sync-withid.establish.respec.d.mts.map +1 -0
- package/dist/sync/sync-withid.establish.respec.mjs +322 -0
- package/dist/sync/sync-withid.establish.respec.mjs.map +1 -0
- package/dist/sync/sync-withid.pingpong.respec.d.mts +11 -0
- package/dist/sync/sync-withid.pingpong.respec.d.mts.map +1 -0
- package/dist/sync/sync-withid.pingpong.respec.mjs +131 -0
- package/dist/sync/sync-withid.pingpong.respec.mjs.map +1 -0
- package/dist/witness/space/inner-space/inner-space-v1.d.mts.map +1 -1
- package/dist/witness/space/inner-space/inner-space-v1.mjs +1 -1
- package/dist/witness/space/inner-space/inner-space-v1.mjs.map +1 -1
- package/package.json +4 -4
- package/src/keystone/keystone-config-builder.mts +73 -4
- package/src/keystone/keystone-constants.mts +42 -6
- package/src/keystone/keystone-helpers.mts +44 -2
- package/src/keystone/keystone-policy-types.mts +25 -0
- package/src/keystone/keystone-policy.schema.json +51 -0
- package/src/keystone/keystone-service-v1.mts +3 -3
- package/src/sync/docs/architecture.md +20 -0
- package/src/sync/docs/ping_pong_plan.md +147 -0
- package/src/sync/docs/security.md +207 -3
- package/src/sync/graft-info/graft-info-helpers.respec.mts +7 -7
- package/src/sync/sync-conflict-adv-multitimelines.respec.mts +21 -21
- package/src/sync/sync-conflict-basic-divergence.respec.mts +2 -2
- package/src/sync/sync-conflict-basic-multitimelines.respec.mts +5 -5
- package/src/sync/sync-conflict-text-merge.respec.mts +25 -25
- package/src/sync/sync-helpers.mts +51 -1
- package/src/sync/sync-innerspace-constants.respec.mts +1 -1
- package/src/sync/sync-innerspace-deep-updates.respec.mts +1 -1
- package/src/sync/sync-innerspace-dest-ahead.respec.mts +3 -3
- package/src/sync/sync-innerspace-multiple-timelines.respec.mts +1 -1
- package/src/sync/sync-innerspace-partial-update.respec.mts +2 -2
- package/src/sync/sync-innerspace.respec.mts +3 -3
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mts +26 -2
- package/src/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mts +23 -3
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.mts +1 -1
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +47 -13
- package/src/sync/sync-peer/sync-peer-types.mts +87 -1
- package/src/sync/sync-peer/sync-peer-v1.mts +171 -32
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-constants.mts +68 -0
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-types.mts +36 -0
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mts +385 -0
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mts +388 -0
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-types.mts +35 -0
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-sender/sync-peer-websocket-sender-v1.mts +345 -0
- package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +223 -34
- package/src/sync/sync-saga-context/sync-saga-context-types.mts +9 -0
- package/src/sync/sync-saga-coordinator.mts +162 -6
- package/src/sync/sync-types.mts +28 -4
- package/src/sync/sync-withid.connect.respec.mts +243 -0
- package/src/sync/sync-withid.establish.respec.mts +361 -0
- package/src/sync/sync-withid.pingpong.respec.mts +161 -0
- package/src/sync/unused-identity-backup.mts.md +1 -1
- package/src/witness/space/inner-space/inner-space-v1.mts +4 -5
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.d.mts +0 -2
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.d.mts.map +0 -1
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs +0 -310
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs.map +0 -1
- package/src/sync/sync-innerspace-dest-ahead-withid.respec.mts +0 -364
|
@@ -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;
|
|
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"}
|
|
@@ -5,6 +5,9 @@ import { SyncConflictStrategy } from "./sync-constants.mjs";
|
|
|
5
5
|
import { SyncSagaInfo } from "./sync-types.mjs";
|
|
6
6
|
import { SyncPeerWitness } from "./sync-peer/sync-peer-types.mjs";
|
|
7
7
|
import { SyncSagaContextIbGib_V1 } from "./sync-saga-context/sync-saga-context-types.mjs";
|
|
8
|
+
import { KeystoneIbGib_V1 } from "../keystone/keystone-types.mjs";
|
|
9
|
+
import { KeystonePoolConfig } from "../keystone/keystone-types.mjs";
|
|
10
|
+
import { SyncPeer_V1 } from "./sync-peer/sync-peer-v1.mjs";
|
|
8
11
|
/**
|
|
9
12
|
* Orchestrates the synchronization process between two spaces (Source and Destination).
|
|
10
13
|
*
|
|
@@ -21,6 +24,22 @@ import { SyncSagaContextIbGib_V1 } from "./sync-saga-context/sync-saga-context-t
|
|
|
21
24
|
export declare class SyncSagaCoordinator {
|
|
22
25
|
private lc;
|
|
23
26
|
constructor();
|
|
27
|
+
/**
|
|
28
|
+
* Default pool config for the session keystone's `connect` pool.
|
|
29
|
+
* Consumed exactly once per saga during `peer.connect()`.
|
|
30
|
+
* Uses `deleteAll` replenish strategy — after the handshake, the pool is gone.
|
|
31
|
+
*
|
|
32
|
+
* Override in subclasses or pass custom config via opts to change security parameters.
|
|
33
|
+
*/
|
|
34
|
+
protected defaultSessionConnectPoolConfig(): KeystonePoolConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Default pool config for the session keystone's per-turn `sync` pool.
|
|
37
|
+
* Used on each outgoing context frame (Init, Delta, Commit).
|
|
38
|
+
* Uses `topUp` replenish strategy to stay active throughout the saga.
|
|
39
|
+
*
|
|
40
|
+
* Override in subclasses or pass custom config via opts to change security parameters.
|
|
41
|
+
*/
|
|
42
|
+
protected defaultSessionSyncPoolConfig(): KeystonePoolConfig;
|
|
24
43
|
/**
|
|
25
44
|
* Executes a synchronization saga using the Symmetric Sync Protocol.
|
|
26
45
|
*
|
|
@@ -28,7 +47,7 @@ export declare class SyncSagaCoordinator {
|
|
|
28
47
|
* **Execution Context**: **Sender (Local)**.
|
|
29
48
|
* This method is the entry point for starting a sync saga.
|
|
30
49
|
*/
|
|
31
|
-
sync({ peer, domainIbGibs, conflictStrategy, metaspace, localSpace, }: {
|
|
50
|
+
sync({ peer, domainIbGibs, senderIdentity, fnSenderSecret, conflictStrategy, metaspace, localSpace, }: {
|
|
32
51
|
/**
|
|
33
52
|
* The peer we are syncing with.
|
|
34
53
|
*/
|
|
@@ -40,6 +59,22 @@ export declare class SyncSagaCoordinator {
|
|
|
40
59
|
* These should all exist in {@link localSpace}
|
|
41
60
|
*/
|
|
42
61
|
domainIbGibs: IbGib_V1[];
|
|
62
|
+
/**
|
|
63
|
+
* If present, this is the primary identity of the sender, i.e., who is
|
|
64
|
+
* initiating the sync.
|
|
65
|
+
*
|
|
66
|
+
* This should be the most recent frame (tip) of the senderIdentity's
|
|
67
|
+
* timeline.
|
|
68
|
+
*
|
|
69
|
+
* NOTE: {@link fnSenderSecret} must be truthy if this is truthy, and vice versa.
|
|
70
|
+
*/
|
|
71
|
+
senderIdentity?: KeystoneIbGib_V1;
|
|
72
|
+
/**
|
|
73
|
+
* secret corresponding to {@link senderIdentity}.
|
|
74
|
+
*
|
|
75
|
+
* NOTE: {@link senderIdentity} must be truthy if this is truthy, and vice versa.
|
|
76
|
+
*/
|
|
77
|
+
fnSenderSecret?: () => Promise<string>;
|
|
43
78
|
/**
|
|
44
79
|
* The space containing the {@link domainIbGibs} we want to sync. If
|
|
45
80
|
* sync is successful, any updates to timelines will be stored here.
|
|
@@ -68,7 +103,7 @@ export declare class SyncSagaCoordinator {
|
|
|
68
103
|
* @returns next context result if another round, else if commit returns
|
|
69
104
|
* null
|
|
70
105
|
*/
|
|
71
|
-
continueSync({ sagaContext, mySpace, myTempSpace, metaspace, }: {
|
|
106
|
+
continueSync({ sagaContext, mySpace, myTempSpace, metaspace, peer, }: {
|
|
72
107
|
sagaContext: SyncSagaContextIbGib_V1;
|
|
73
108
|
/**
|
|
74
109
|
* Local space relative to the execution context's POV
|
|
@@ -79,6 +114,10 @@ export declare class SyncSagaCoordinator {
|
|
|
79
114
|
*/
|
|
80
115
|
myTempSpace: IbGibSpaceAny;
|
|
81
116
|
metaspace: MetaspaceService;
|
|
117
|
+
/**
|
|
118
|
+
* the peer that is continuing the sync
|
|
119
|
+
*/
|
|
120
|
+
peer: SyncPeer_V1;
|
|
82
121
|
}): Promise<SyncSagaContextIbGib_V1 | null>;
|
|
83
122
|
/**
|
|
84
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":"AAaA,OAAO,EAAE,QAAQ,EAAG,MAAM,iCAAiC,CAAC;AAI5D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAEH,oBAAoB,EAEvB,MAAM,sBAAsB,CAAC;AAqB9B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAA0B,uBAAuB,EAA6B,MAAM,iDAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { getSyncSagaFrameOrigin, getFullSyncSagaHistory, getSyncIb, getTempSpace
|
|
|
12
12
|
import { getDeltaDependencyGraph, getDependencyGraph } from "../common/other/graph-helper.mjs";
|
|
13
13
|
import { getSyncSagaMessageIb } from "./sync-saga-message/sync-saga-message-helpers.mjs";
|
|
14
14
|
import { SYNC_SAGA_MSG_ATOM } from "./sync-saga-message/sync-saga-message-constants.mjs";
|
|
15
|
-
import { splitPerTjpAndOrDna, getTimelinesGroupedByTjp, isIbGib, getIbGibsFromCache_fallbackToSpaces } from "../common/other/ibgib-helper.mjs";
|
|
15
|
+
import { splitPerTjpAndOrDna, getTimelinesGroupedByTjp, isIbGib, getIbGibsFromCache_fallbackToSpaces, getTjpAddr } from "../common/other/ibgib-helper.mjs";
|
|
16
16
|
import { getSyncSagaContextIb, validateContextAndSagaFrame } from "./sync-saga-context/sync-saga-context-helpers.mjs";
|
|
17
17
|
import { newupSubject, } from "../common/pubsub/subject/subject-helper.mjs";
|
|
18
18
|
import { getSyncSagaMessageFromFrame } from "./sync-saga-message/sync-saga-message-helpers.mjs";
|
|
@@ -21,8 +21,11 @@ import { graftTimelines, } from "./graft-info/graft-info-helpers.mjs";
|
|
|
21
21
|
import { GRAFT_INFO_REL8N_NAME } from "./graft-info/graft-info-constants.mjs";
|
|
22
22
|
import { validateIbGibIntrinsically } from "@ibgib/ts-gib/dist/V1/validate-helper.mjs";
|
|
23
23
|
import { SYNC_SAGA_CONTEXT_ATOM } from "./sync-saga-context/sync-saga-context-constants.mjs";
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
import { createStandardPoolConfig } from "../keystone/keystone-config-builder.mjs";
|
|
25
|
+
import { POOL_ID_CONNECT, POOL_ID_SYNC, KEYSTONE_VERB_CONNECT, KEYSTONE_VERB_SYNC } from "../keystone/keystone-constants.mjs";
|
|
26
|
+
import { KeystoneReplenishStrategy } from "../keystone/keystone-types.mjs";
|
|
27
|
+
const logalot = GLOBAL_LOG_A_LOT || true;
|
|
28
|
+
const logalotControlDomain = true;
|
|
26
29
|
const lcControlDomain = '[ControlDomain]';
|
|
27
30
|
/**
|
|
28
31
|
* Orchestrates the synchronization process between two spaces (Source and Destination).
|
|
@@ -41,6 +44,44 @@ export class SyncSagaCoordinator {
|
|
|
41
44
|
lc = `[${SyncSagaCoordinator.name}]`;
|
|
42
45
|
constructor() {
|
|
43
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Default pool config for the session keystone's `connect` pool.
|
|
49
|
+
* Consumed exactly once per saga during `peer.connect()`.
|
|
50
|
+
* Uses `deleteAll` replenish strategy — after the handshake, the pool is gone.
|
|
51
|
+
*
|
|
52
|
+
* Override in subclasses or pass custom config via opts to change security parameters.
|
|
53
|
+
*/
|
|
54
|
+
defaultSessionConnectPoolConfig() {
|
|
55
|
+
return createStandardPoolConfig({
|
|
56
|
+
id: POOL_ID_CONNECT,
|
|
57
|
+
salt: `session-connect-${Date.now()}`,
|
|
58
|
+
verbs: [KEYSTONE_VERB_CONNECT],
|
|
59
|
+
size: 20,
|
|
60
|
+
sequential: 2,
|
|
61
|
+
random: 2,
|
|
62
|
+
targetBinding: 0,
|
|
63
|
+
replenishStrategy: KeystoneReplenishStrategy.deleteAll,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Default pool config for the session keystone's per-turn `sync` pool.
|
|
68
|
+
* Used on each outgoing context frame (Init, Delta, Commit).
|
|
69
|
+
* Uses `topUp` replenish strategy to stay active throughout the saga.
|
|
70
|
+
*
|
|
71
|
+
* Override in subclasses or pass custom config via opts to change security parameters.
|
|
72
|
+
*/
|
|
73
|
+
defaultSessionSyncPoolConfig() {
|
|
74
|
+
return createStandardPoolConfig({
|
|
75
|
+
id: POOL_ID_SYNC,
|
|
76
|
+
salt: `session-sync-${Date.now()}`,
|
|
77
|
+
verbs: [KEYSTONE_VERB_SYNC],
|
|
78
|
+
size: 200,
|
|
79
|
+
sequential: 3,
|
|
80
|
+
random: 3,
|
|
81
|
+
targetBinding: 3,
|
|
82
|
+
replenishStrategy: KeystoneReplenishStrategy.topUp,
|
|
83
|
+
});
|
|
84
|
+
}
|
|
44
85
|
/**
|
|
45
86
|
* Executes a synchronization saga using the Symmetric Sync Protocol.
|
|
46
87
|
*
|
|
@@ -48,7 +89,7 @@ export class SyncSagaCoordinator {
|
|
|
48
89
|
* **Execution Context**: **Sender (Local)**.
|
|
49
90
|
* This method is the entry point for starting a sync saga.
|
|
50
91
|
*/
|
|
51
|
-
async sync({ peer, domainIbGibs, conflictStrategy = SyncConflictStrategy.abort, metaspace, localSpace, }) {
|
|
92
|
+
async sync({ peer, domainIbGibs, senderIdentity, fnSenderSecret, conflictStrategy = SyncConflictStrategy.abort, metaspace, localSpace, }) {
|
|
52
93
|
const lc = `${this.lc}[${this.sync.name}]`;
|
|
53
94
|
if (logalot) {
|
|
54
95
|
console.log(`${lc} starting...`);
|
|
@@ -57,6 +98,14 @@ export class SyncSagaCoordinator {
|
|
|
57
98
|
debugger;
|
|
58
99
|
throw new Error(`${lc} source (or localSpace) required (E: 25df3761f7686a1099a552f83c95d326)`);
|
|
59
100
|
}
|
|
101
|
+
if (senderIdentity || fnSenderSecret) {
|
|
102
|
+
if (!senderIdentity) {
|
|
103
|
+
throw new Error(`(UNEXPECTED) senderIdentity falsy but fnSenderSecret truthy? if either is used, both must be truthy. (E: e366628a4919c7d727d2cbd8e5b75e26)`);
|
|
104
|
+
}
|
|
105
|
+
if (!fnSenderSecret) {
|
|
106
|
+
throw new Error(`(UNEXPECTED) fnSenderSecret falsy but senderIdentity truthy? if either is used, both must be truthy. (E: 7d55ce37ae482fec48e3398158161926)`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
60
109
|
// 1. SETUP SAGA METADATA
|
|
61
110
|
const sagaId = await getUUID();
|
|
62
111
|
// Setup Observable & Promise
|
|
@@ -92,6 +141,18 @@ export class SyncSagaCoordinator {
|
|
|
92
141
|
// Async execution wrapper
|
|
93
142
|
(async () => {
|
|
94
143
|
try {
|
|
144
|
+
const targetAddrs = domainIbGibs ? domainIbGibs.map(domain => getIbGibAddr({ ibGib: domain })) : undefined;
|
|
145
|
+
// Attach saga-scoped identity opts to peer now that sagaId is known.
|
|
146
|
+
peer.setOptionalOpts({
|
|
147
|
+
sagaId,
|
|
148
|
+
senderIdentity,
|
|
149
|
+
fnSenderSecret,
|
|
150
|
+
sessionConnectPoolConfig: this.defaultSessionConnectPoolConfig(),
|
|
151
|
+
sessionSyncPoolConfig: this.defaultSessionSyncPoolConfig(),
|
|
152
|
+
targetAddrs,
|
|
153
|
+
});
|
|
154
|
+
// ESTABLISH SESSION IDENTITY (pre-connect, if identity provided)
|
|
155
|
+
await peer.establishSessionIdentity();
|
|
95
156
|
// CONNECT PEER (if needed)
|
|
96
157
|
await peer.connect({ sagaId });
|
|
97
158
|
// CREATE INITIAL FRAME (Stage.init)
|
|
@@ -100,6 +161,7 @@ export class SyncSagaCoordinator {
|
|
|
100
161
|
domainIbGibs,
|
|
101
162
|
conflictStrategy,
|
|
102
163
|
metaspace, localSpace, tempSpace,
|
|
164
|
+
peer,
|
|
103
165
|
});
|
|
104
166
|
// KICK OFF THE PING-PONG SAGA LOOP (FSM)
|
|
105
167
|
await this.executeSagaLoop({
|
|
@@ -141,7 +203,7 @@ export class SyncSagaCoordinator {
|
|
|
141
203
|
* @returns next context result if another round, else if commit returns
|
|
142
204
|
* null
|
|
143
205
|
*/
|
|
144
|
-
async continueSync({ sagaContext, mySpace, myTempSpace, metaspace, }) {
|
|
206
|
+
async continueSync({ sagaContext, mySpace, myTempSpace, metaspace, peer, }) {
|
|
145
207
|
const lc = `${this.lc}[${this.continueSync.name}]`;
|
|
146
208
|
try {
|
|
147
209
|
if (logalot) {
|
|
@@ -179,6 +241,9 @@ export class SyncSagaCoordinator {
|
|
|
179
241
|
localSpace: mySpace,
|
|
180
242
|
payloadIbGibsDomain,
|
|
181
243
|
metaspace,
|
|
244
|
+
sessionIdentityAddr: sagaContext.rel8ns?.sessionIdentity?.[0],
|
|
245
|
+
peer,
|
|
246
|
+
skipSign: true,
|
|
182
247
|
});
|
|
183
248
|
const immediateValidationErrors = await validateContextAndSagaFrame({
|
|
184
249
|
context: responseCtx,
|
|
@@ -271,6 +336,8 @@ export class SyncSagaCoordinator {
|
|
|
271
336
|
payloadIbGibsDomain: nextDomainIbGibs,
|
|
272
337
|
localSpace,
|
|
273
338
|
metaspace,
|
|
339
|
+
sessionIdentityAddr: peer.currentSessionIdentityAddr,
|
|
340
|
+
peer,
|
|
274
341
|
});
|
|
275
342
|
// #region Log what we're sending
|
|
276
343
|
if (logalotControlDomain) {
|
|
@@ -405,7 +472,7 @@ export class SyncSagaCoordinator {
|
|
|
405
472
|
* the other ibgibs that are related to this context stone should already be
|
|
406
473
|
* put/registered in {@link localSpace}.
|
|
407
474
|
*/
|
|
408
|
-
async createSyncSagaContext({ sagaFrame, payloadIbGibsDomain, metaspace, localSpace, }) {
|
|
475
|
+
async createSyncSagaContext({ sagaFrame, payloadIbGibsDomain, metaspace, localSpace, sessionIdentityAddr, peer, skipSign, }) {
|
|
409
476
|
const lc = `[${this.createSyncSagaContext.name}]`;
|
|
410
477
|
try {
|
|
411
478
|
if (logalot) {
|
|
@@ -438,6 +505,20 @@ export class SyncSagaCoordinator {
|
|
|
438
505
|
const rel8ns = {
|
|
439
506
|
sagaFrame: [getIbGibAddr({ ibGib: sagaFrame })],
|
|
440
507
|
};
|
|
508
|
+
let sessionIdentity = undefined;
|
|
509
|
+
if (sessionIdentityAddr) {
|
|
510
|
+
sessionIdentityAddr =
|
|
511
|
+
await metaspace.getLatestAddr({ addr: sessionIdentityAddr, space: localSpace }) ?? sessionIdentityAddr;
|
|
512
|
+
const resGet = await getFromSpace({ addr: sessionIdentityAddr, space: localSpace });
|
|
513
|
+
if (resGet.success && resGet.ibGibs?.length === 1) {
|
|
514
|
+
sessionIdentity = resGet.ibGibs[0];
|
|
515
|
+
rel8ns.sessionIdentity = [sessionIdentityAddr];
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
debugger; // what stage of the algo is this? which side?
|
|
519
|
+
throw new Error(`Couldn't get sessionIdentityAddr (${sessionIdentityAddr}) in space: ${localSpace.ib} (E: 5c29e80d68dbd1749866c358be093826)`);
|
|
520
|
+
}
|
|
521
|
+
}
|
|
441
522
|
// Generate standard ib
|
|
442
523
|
const ib = await getSyncSagaContextIb({ data });
|
|
443
524
|
const contextIbGib = await Factory_V1.stone({
|
|
@@ -446,19 +527,29 @@ export class SyncSagaCoordinator {
|
|
|
446
527
|
data,
|
|
447
528
|
rel8ns,
|
|
448
529
|
});
|
|
449
|
-
|
|
450
|
-
|
|
530
|
+
const contextAddr = getIbGibAddr({ ibGib: contextIbGib });
|
|
531
|
+
let signedSessionIdentity = undefined;
|
|
532
|
+
if (sessionIdentity && !skipSign) {
|
|
533
|
+
// signing context persists and registers the new keystone
|
|
534
|
+
// using the peer's localMetaspace and localSpace
|
|
535
|
+
signedSessionIdentity = await peer.signContext({ contextAddr });
|
|
536
|
+
}
|
|
537
|
+
// put/register context immediately in local space (currently is a
|
|
538
|
+
// DTO) but we don't want a broadcast on the metaspace
|
|
451
539
|
await putInSpace({ ibGib: contextIbGib, space: localSpace, });
|
|
452
540
|
await registerNewIbGib({
|
|
453
541
|
ibGib: contextIbGib,
|
|
454
542
|
space: localSpace,
|
|
455
543
|
fnBroadcast: undefined,
|
|
456
544
|
});
|
|
457
|
-
// Attach actual ibgibs for transport
|
|
545
|
+
// Attach actual ibgibs for transport
|
|
458
546
|
contextIbGib.sagaFrame = sagaFrame;
|
|
459
547
|
if (payloadIbGibsDomain && payloadIbGibsDomain.length > 0) {
|
|
460
548
|
contextIbGib.payloadIbGibsDomain = payloadIbGibsDomain;
|
|
461
549
|
}
|
|
550
|
+
if (signedSessionIdentity) {
|
|
551
|
+
contextIbGib.signedSessionIdentity = signedSessionIdentity;
|
|
552
|
+
}
|
|
462
553
|
return contextIbGib;
|
|
463
554
|
}
|
|
464
555
|
catch (error) {
|
|
@@ -556,7 +647,7 @@ export class SyncSagaCoordinator {
|
|
|
556
647
|
* Generates the first frame containing the Knowledge Map of the Local Space.
|
|
557
648
|
* This is sent to the Receiver to begin Gap Analysis.
|
|
558
649
|
*/
|
|
559
|
-
async createInitFrame({ sagaId, domainIbGibs, conflictStrategy, metaspace, localSpace, tempSpace, }) {
|
|
650
|
+
async createInitFrame({ sagaId, domainIbGibs, conflictStrategy, metaspace, localSpace, tempSpace, peer, }) {
|
|
560
651
|
const lc = `${this.lc}[${this.createInitFrame.name}]`;
|
|
561
652
|
try {
|
|
562
653
|
if (logalot) {
|
|
@@ -599,6 +690,7 @@ export class SyncSagaCoordinator {
|
|
|
599
690
|
conflictStrategy,
|
|
600
691
|
metaspace,
|
|
601
692
|
localSpace,
|
|
693
|
+
sessionIdentity: peer.currentSessionIdentity,
|
|
602
694
|
});
|
|
603
695
|
if (logalot) {
|
|
604
696
|
console.log(`${lc} sagaFrame (init): ${pretty(sagaFrame)} (I: b3d6a8be69248f18713cc3073cb08626)`);
|
|
@@ -2209,7 +2301,7 @@ export class SyncSagaCoordinator {
|
|
|
2209
2301
|
/**
|
|
2210
2302
|
* Evolves the saga timeline with a new frame.
|
|
2211
2303
|
*/
|
|
2212
|
-
async evolveSyncSagaIbGib({ prevSagaIbGib, conflictStrategy, msgStones, localSpace, metaspace, }) {
|
|
2304
|
+
async evolveSyncSagaIbGib({ prevSagaIbGib, conflictStrategy, msgStones, localSpace, metaspace, sessionIdentity, }) {
|
|
2213
2305
|
const lc = `${this.lc}[${this.evolveSyncSagaIbGib.name}]`;
|
|
2214
2306
|
try {
|
|
2215
2307
|
// Validation
|
|
@@ -2276,6 +2368,13 @@ export class SyncSagaCoordinator {
|
|
|
2276
2368
|
isTjp: true,
|
|
2277
2369
|
conflictStrategy,
|
|
2278
2370
|
};
|
|
2371
|
+
if (sessionIdentity) {
|
|
2372
|
+
const sessionIdentityTjpAddr = getTjpAddr({ ibGib: sessionIdentity });
|
|
2373
|
+
if (!sessionIdentityTjpAddr) {
|
|
2374
|
+
throw new Error(`(UNEXPECTED) sessionIdentity is truthy but sessionIdentityTjpAddr falsy? (E: f52004c10288987a6886f4e8fdf90826)`);
|
|
2375
|
+
}
|
|
2376
|
+
data.sessionIdentityTjpAddr = sessionIdentityTjpAddr;
|
|
2377
|
+
}
|
|
2279
2378
|
// ib
|
|
2280
2379
|
const ib = await getSyncIb({ data });
|
|
2281
2380
|
// rel8ns
|