@ibgib/core-gib 0.1.45 → 0.1.48
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/common/other/ibgib-helper.d.mts +12 -0
- package/dist/common/other/ibgib-helper.d.mts.map +1 -1
- package/dist/common/other/ibgib-helper.mjs +39 -0
- package/dist/common/other/ibgib-helper.mjs.map +1 -1
- package/dist/keystone/kdf/kdf-helpers.mjs +2 -2
- package/dist/keystone/kdf/kdf-helpers.mjs.map +1 -1
- package/dist/keystone/keystone-config-builder.d.mts +2 -1
- package/dist/keystone/keystone-config-builder.d.mts.map +1 -1
- package/dist/keystone/keystone-config-builder.mjs +8 -2
- package/dist/keystone/keystone-config-builder.mjs.map +1 -1
- package/dist/keystone/keystone-constants.d.mts +33 -3
- package/dist/keystone/keystone-constants.d.mts.map +1 -1
- package/dist/keystone/keystone-constants.mjs +31 -1
- package/dist/keystone/keystone-constants.mjs.map +1 -1
- package/dist/keystone/keystone-helpers.d.mts +16 -1
- package/dist/keystone/keystone-helpers.d.mts.map +1 -1
- package/dist/keystone/keystone-helpers.mjs +227 -8
- package/dist/keystone/keystone-helpers.mjs.map +1 -1
- package/dist/keystone/keystone-service-v1.d.mts +4 -1
- package/dist/keystone/keystone-service-v1.d.mts.map +1 -1
- package/dist/keystone/keystone-service-v1.mjs +6 -1
- package/dist/keystone/keystone-service-v1.mjs.map +1 -1
- package/dist/keystone/keystone-service-v1.respec.mjs +26 -26
- package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
- package/dist/keystone/keystone-types.d.mts +26 -5
- package/dist/keystone/keystone-types.d.mts.map +1 -1
- package/dist/keystone/keystone-types.mjs.map +1 -1
- package/dist/sync/sync-conflict-adv-multitimelines.respec.mjs +1 -1
- package/dist/sync/sync-conflict-adv-multitimelines.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-basic-divergence.respec.mjs +1 -1
- package/dist/sync/sync-conflict-basic-divergence.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-basic-multitimelines.respec.mjs +1 -1
- package/dist/sync/sync-conflict-basic-multitimelines.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-text-merge.respec.mjs +1 -1
- package/dist/sync/sync-conflict-text-merge.respec.mjs.map +1 -1
- package/dist/sync/sync-constants.d.mts +47 -1
- package/dist/sync/sync-constants.d.mts.map +1 -1
- package/dist/sync/sync-constants.mjs +49 -1
- package/dist/sync/sync-constants.mjs.map +1 -1
- package/dist/sync/sync-innerspace-constants.respec.mjs +1 -1
- package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-deep-updates.respec.mjs +1 -1
- package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs +33 -19
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +1 -1
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs +1 -1
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-partial-update.respec.mjs +1 -1
- package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace.respec.mjs +1 -1
- package/dist/sync/sync-innerspace.respec.mjs.map +1 -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 +5 -0
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.d.mts +6 -1
- package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.mjs +56 -14
- package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +7 -3
- 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 +32 -3
- 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 +16 -0
- package/dist/sync/sync-saga-context/sync-saga-context-types.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.d.mts +18 -3
- package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.mjs +243 -56
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
- package/dist/sync/sync-types.d.mts +1 -1
- package/dist/sync/sync-types.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/common/other/ibgib-helper.mts +39 -0
- package/src/keystone/kdf/kdf-helpers.mts +2 -2
- package/src/keystone/keystone-config-builder.mts +13 -2
- package/src/keystone/keystone-constants.mts +33 -2
- package/src/keystone/keystone-helpers.mts +237 -8
- package/src/keystone/keystone-service-v1.mts +5 -0
- package/src/keystone/keystone-service-v1.respec.mts +25 -25
- package/src/keystone/keystone-types.mts +31 -8
- package/src/sync/sync-conflict-adv-multitimelines.respec.mts +1 -1
- package/src/sync/sync-conflict-basic-divergence.respec.mts +1 -1
- package/src/sync/sync-conflict-basic-multitimelines.respec.mts +1 -1
- package/src/sync/sync-conflict-text-merge.respec.mts +1 -1
- package/src/sync/sync-constants.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-withid.respec.mts +36 -19
- package/src/sync/sync-innerspace-dest-ahead.respec.mts +1 -1
- package/src/sync/sync-innerspace-multiple-timelines.respec.mts +1 -1
- package/src/sync/sync-innerspace-partial-update.respec.mts +1 -1
- package/src/sync/sync-innerspace.respec.mts +1 -1
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +5 -0
- package/src/sync/sync-peer/sync-peer-v1.mts +63 -15
- package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +52 -4
- package/src/sync/sync-saga-context/sync-saga-context-types.mts +17 -0
- package/src/sync/sync-saga-coordinator.mts +298 -63
- package/src/sync/sync-types.mts +1 -1
|
@@ -9,6 +9,7 @@ import { LightWitnessBase_V1 } from '../../witness/light-witness-base-v1.mjs';
|
|
|
9
9
|
import { newupSubject } from '../../common/pubsub/subject/subject-helper.mjs';
|
|
10
10
|
import { authenticateContext, authorizeContext, validateContextAndSagaFrame } from '../sync-saga-context/sync-saga-context-helpers.mjs';
|
|
11
11
|
import { getFromSpace } from '../../witness/space/space-helper.mjs';
|
|
12
|
+
import { getFullSyncSagaHistory } from '../sync-helpers.mjs';
|
|
12
13
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
13
14
|
const logalotControlDomain = false;
|
|
14
15
|
const lcControlDomain = '[ControlDomain]';
|
|
@@ -49,8 +50,8 @@ export class SyncPeer_V1 extends LightWitnessBase_V1 {
|
|
|
49
50
|
*
|
|
50
51
|
* @see {@link SyncPeerWitness.opts}
|
|
51
52
|
*/
|
|
52
|
-
async
|
|
53
|
-
const lc = `${this.lc}[${this.
|
|
53
|
+
async initializeOpts(opts) {
|
|
54
|
+
const lc = `${this.lc}[${this.initializeOpts.name}]`;
|
|
54
55
|
try {
|
|
55
56
|
if (logalot) {
|
|
56
57
|
console.log(`${lc} starting... (I: 31bd5fda37c89fa37fbaf14daf5fe726)`);
|
|
@@ -91,6 +92,41 @@ export class SyncPeer_V1 extends LightWitnessBase_V1 {
|
|
|
91
92
|
}
|
|
92
93
|
}
|
|
93
94
|
}
|
|
95
|
+
async authenticateValidateAuthorize({ context, fullSagaHistory, }) {
|
|
96
|
+
const lc = `${this.lc}[${this.authenticateValidateAuthorize.name}]`;
|
|
97
|
+
try {
|
|
98
|
+
if (logalot) {
|
|
99
|
+
console.log(`${lc} starting... (I: add238055cd84a222c5b8c89913af526)`);
|
|
100
|
+
}
|
|
101
|
+
// first authenticate, because invalid identity is a non-starter
|
|
102
|
+
const authenticationErrors = await authenticateContext({ context, fullSagaHistory });
|
|
103
|
+
if (authenticationErrors.length > 0) {
|
|
104
|
+
throw new Error(`invalid context authentication. authenticationErrors: ${authenticationErrors} (E: da89da5ee1269aeb78952d475d607526)`);
|
|
105
|
+
}
|
|
106
|
+
// next, we have a valid keystone, which should point to the
|
|
107
|
+
// context. But is that context and the saga data it contains valid?
|
|
108
|
+
// Does the keystone actually point to this context?
|
|
109
|
+
const validationErrors = await validateContextAndSagaFrame({ context, });
|
|
110
|
+
if (validationErrors.length > 0) {
|
|
111
|
+
throw new Error(`invalid context received. validationErrors: ${validationErrors} (E: 8b34c875c968af29bc433138e57a7826)`);
|
|
112
|
+
}
|
|
113
|
+
// we have a valid keystone that points to a valid context, but what
|
|
114
|
+
// exactly does the keystone authorize?
|
|
115
|
+
const authorizationErrors = await authorizeContext({ context, fullSagaHistory });
|
|
116
|
+
if (authorizationErrors.length > 0) {
|
|
117
|
+
throw new Error(`invalid context authorization. authorizationErrors: ${authorizationErrors} (E: 8ddc284a758cf10ba829334c1babb826)`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
122
|
+
throw error;
|
|
123
|
+
}
|
|
124
|
+
finally {
|
|
125
|
+
if (logalot) {
|
|
126
|
+
console.log(`${lc} complete.`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
94
130
|
/**
|
|
95
131
|
* Witness the synchronization context (Send/Receive).
|
|
96
132
|
*
|
|
@@ -147,19 +183,18 @@ export class SyncPeer_V1 extends LightWitnessBase_V1 {
|
|
|
147
183
|
// publish domain ibgibs to observable
|
|
148
184
|
// when all domain ibgibs are pulled, publish complete to the observable
|
|
149
185
|
// return resulting context ibgib (which the caller should get BEFORE the domain ibgibs observable completes)
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
if (validationErrors.length > 0) {
|
|
153
|
-
throw new Error(`invalid context received. validationErrors: ${validationErrors} (E: 8b34c875c968af29bc433138e57a7826)`);
|
|
154
|
-
}
|
|
155
|
-
const authenticationErrors = await authenticateContext({ context });
|
|
156
|
-
if (authenticationErrors.length > 0) {
|
|
157
|
-
throw new Error(`invalid context authentication. authenticationErrors: ${authenticationErrors} (E: da89da5ee1269aeb78952d475d607526)`);
|
|
158
|
-
}
|
|
159
|
-
const authorizationErrors = await authorizeContext({ context });
|
|
160
|
-
if (authorizationErrors.length > 0) {
|
|
161
|
-
throw new Error(`invalid context authorization. authorizationErrors: ${authorizationErrors} (E: 8ddc284a758cf10ba829334c1babb826)`);
|
|
186
|
+
if (!context.sagaFrame) {
|
|
187
|
+
throw new Error(`context.sagaFrame falsy. (E: a33dd88aa108e2bad9e885885731ce26)`);
|
|
162
188
|
}
|
|
189
|
+
// this is not just happening on the client, but this peer may be
|
|
190
|
+
// the one receiving the context as well.
|
|
191
|
+
const sagaHistory_beforeSend = await getFullSyncSagaHistory({
|
|
192
|
+
sagaIbGib: context.sagaFrame,
|
|
193
|
+
space: this.opts.senderSpace
|
|
194
|
+
});
|
|
195
|
+
await this.authenticateValidateAuthorize({
|
|
196
|
+
context, fullSagaHistory: sagaHistory_beforeSend,
|
|
197
|
+
});
|
|
163
198
|
// at this point, we have a valid, authenticated, authorized context
|
|
164
199
|
await this.ensureReceiverTempSpace();
|
|
165
200
|
// execute the transfer of control domain ibgibs & outgoing payload
|
|
@@ -172,6 +207,13 @@ export class SyncPeer_V1 extends LightWitnessBase_V1 {
|
|
|
172
207
|
// on the concrete implementation, if there are domain ibgibs to
|
|
173
208
|
// receive, they may still be transferring. These will be published
|
|
174
209
|
// to this.payloadIbGibsDomainReceived$
|
|
210
|
+
const sagaHistory_afterSend = await getFullSyncSagaHistory({
|
|
211
|
+
sagaIbGib: context.sagaFrame,
|
|
212
|
+
space: this.opts.senderSpace
|
|
213
|
+
});
|
|
214
|
+
await this.authenticateValidateAuthorize({
|
|
215
|
+
context, fullSagaHistory: sagaHistory_afterSend,
|
|
216
|
+
});
|
|
175
217
|
return response;
|
|
176
218
|
}
|
|
177
219
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-v1.mjs","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-v1.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,iDAAiD,CAAC;AAMlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAK5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,gDAAgD,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;AACxI,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-peer-v1.mjs","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +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
7
|
/**
|
|
7
8
|
* Constructs the standard 'ib' string for a Sync Saga Context stone.
|
|
8
9
|
*/
|
|
@@ -15,6 +16,7 @@ export declare function getSyncSagaContextIb({ data, }: {
|
|
|
15
16
|
export declare function parseSyncSagaContextIb({ ib, }: {
|
|
16
17
|
ib: Ib;
|
|
17
18
|
}): Promise<SyncSagaContextIb_V1>;
|
|
19
|
+
export declare function isSyncSagaContextIbGib(x: any): x is SyncSagaContextIbGib_V1;
|
|
18
20
|
/**
|
|
19
21
|
* Validates ONLY the {@link context} ibgib itself and saga frame/msg stone(s)
|
|
20
22
|
* ({@link SyncSagaContextIbGib_V1.sagaFrame}).
|
|
@@ -27,7 +29,7 @@ export declare function parseSyncSagaContextIb({ ib, }: {
|
|
|
27
29
|
*
|
|
28
30
|
* @returns empty array if valid, else validation errors
|
|
29
31
|
*/
|
|
30
|
-
export declare function validateContextAndSagaFrame({ context }: {
|
|
32
|
+
export declare function validateContextAndSagaFrame({ context, }: {
|
|
31
33
|
context: SyncSagaContextIbGib_V1;
|
|
32
34
|
}): Promise<string[]>;
|
|
33
35
|
/**
|
|
@@ -43,13 +45,15 @@ export declare function validateContextDomainPayloadIbGibs({ context }: {
|
|
|
43
45
|
/**
|
|
44
46
|
* move to sync-peer-helpers.mts as a pure function?
|
|
45
47
|
*/
|
|
46
|
-
export declare function authenticateContext({ context }: {
|
|
48
|
+
export declare function authenticateContext({ context, fullSagaHistory }: {
|
|
47
49
|
context: SyncSagaContextIbGib_V1;
|
|
50
|
+
fullSagaHistory: SyncSagaFrameDependencyGraph[];
|
|
48
51
|
}): Promise<string[]>;
|
|
49
52
|
/**
|
|
50
53
|
* move to sync-peer-helpers.mts as a pure function?
|
|
51
54
|
*/
|
|
52
|
-
export declare function authorizeContext({ context }: {
|
|
55
|
+
export declare function authorizeContext({ context, fullSagaHistory }: {
|
|
53
56
|
context: SyncSagaContextIbGib_V1;
|
|
57
|
+
fullSagaHistory: SyncSagaFrameDependencyGraph[];
|
|
54
58
|
}): Promise<string[]>;
|
|
55
59
|
//# 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;
|
|
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;AAS/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;AAGD;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAAC,EAC9C,OAAO,GACV,EAAE;IACC,OAAO,EAAE,uBAAuB,CAAC;CACpC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA0CpB;AAGD;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,uBAAuB,CAAA;CAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAY7H;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,EACtC,OAAO,EACP,eAAe,EAClB,EAAE;IACC,OAAO,EAAE,uBAAuB,CAAC;IACjC,eAAe,EAAE,4BAA4B,EAAE,CAAC;CACnD,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CA2BpB;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"}
|
|
@@ -6,6 +6,7 @@ import { validateIbGibIntrinsically } from '@ibgib/ts-gib/dist/V1/validate-helpe
|
|
|
6
6
|
import { GLOBAL_LOG_A_LOT } from '../../core-constants.mjs';
|
|
7
7
|
import { SYNC_SAGA_CONTEXT_ATOM } from './sync-saga-context-constants.mjs';
|
|
8
8
|
import { validateSyncSagaFrame } from '../sync-helpers.mjs';
|
|
9
|
+
import { isIbGibWithAtom } from '../../common/other/ibgib-helper.mjs';
|
|
9
10
|
const logalot = GLOBAL_LOG_A_LOT;
|
|
10
11
|
/**
|
|
11
12
|
* Constructs the standard 'ib' string for a Sync Saga Context stone.
|
|
@@ -64,6 +65,26 @@ export async function parseSyncSagaContextIb({ ib, }) {
|
|
|
64
65
|
throw error;
|
|
65
66
|
}
|
|
66
67
|
}
|
|
68
|
+
export function isSyncSagaContextIbGib(x) {
|
|
69
|
+
const lc = `[${isSyncSagaContextIbGib.name}]`;
|
|
70
|
+
try {
|
|
71
|
+
if (logalot) {
|
|
72
|
+
console.log(`${lc} starting... (I: 2bfa7f3cf5984b0c78aced881ce95226)`);
|
|
73
|
+
}
|
|
74
|
+
const hasAtom = isIbGibWithAtom(x, SYNC_SAGA_CONTEXT_ATOM);
|
|
75
|
+
// should be good enough in V1
|
|
76
|
+
return hasAtom;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
if (logalot) {
|
|
84
|
+
console.log(`${lc} complete.`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
67
88
|
/**
|
|
68
89
|
* Validates ONLY the {@link context} ibgib itself and saga frame/msg stone(s)
|
|
69
90
|
* ({@link SyncSagaContextIbGib_V1.sagaFrame}).
|
|
@@ -76,7 +97,7 @@ export async function parseSyncSagaContextIb({ ib, }) {
|
|
|
76
97
|
*
|
|
77
98
|
* @returns empty array if valid, else validation errors
|
|
78
99
|
*/
|
|
79
|
-
export async function validateContextAndSagaFrame({ context }) {
|
|
100
|
+
export async function validateContextAndSagaFrame({ context, }) {
|
|
80
101
|
const lc = `[${validateContextAndSagaFrame.name}]`;
|
|
81
102
|
try {
|
|
82
103
|
if (logalot) {
|
|
@@ -148,13 +169,21 @@ export async function validateContextDomainPayloadIbGibs({ context }) {
|
|
|
148
169
|
/**
|
|
149
170
|
* move to sync-peer-helpers.mts as a pure function?
|
|
150
171
|
*/
|
|
151
|
-
export async function authenticateContext({ context }) {
|
|
172
|
+
export async function authenticateContext({ context, fullSagaHistory }) {
|
|
152
173
|
const lc = `[${authenticateContext.name}]`;
|
|
153
174
|
try {
|
|
154
175
|
if (logalot) {
|
|
155
176
|
console.log(`${lc} starting... (I: 2677a482dfa873dcd1aa04a3031ff826)`);
|
|
156
177
|
}
|
|
157
178
|
console.error(`${lc} NAG ERROR (NOT THROWN): not implemented. // todo: authenticate (v1 must have this after we get merge logic workflow going) (E: bc3a78f2dab18ab64c36d055a4b50526)`);
|
|
179
|
+
// ensure the same identity rel8n timeline is in the first saga ibgib.
|
|
180
|
+
for (const sagaFrameDepGraph of fullSagaHistory) {
|
|
181
|
+
sagaFrameDepGraph.identities;
|
|
182
|
+
}
|
|
183
|
+
// each saga ibgib should be updated with a new identity rel8n. each
|
|
184
|
+
// rel8n should correspond to each evolution of the keystone.
|
|
185
|
+
// if (context.sagaFrame.rel8ns?.sessionKeystone)
|
|
186
|
+
// context.signedSessionKeystone
|
|
158
187
|
return [];
|
|
159
188
|
}
|
|
160
189
|
catch (error) {
|
|
@@ -170,7 +199,7 @@ export async function authenticateContext({ context }) {
|
|
|
170
199
|
/**
|
|
171
200
|
* move to sync-peer-helpers.mts as a pure function?
|
|
172
201
|
*/
|
|
173
|
-
export async function authorizeContext({ context }) {
|
|
202
|
+
export async function authorizeContext({ context, fullSagaHistory }) {
|
|
174
203
|
const lc = `[${authorizeContext.name}]`;
|
|
175
204
|
try {
|
|
176
205
|
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":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAgB,MAAM,iDAAiD,CAAC;AAKhG,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAS3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;
|
|
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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"}
|
|
@@ -91,5 +91,21 @@ export interface SyncSagaContextIbGib_V1 extends IbGib_V1<SyncSagaContextData_V1
|
|
|
91
91
|
* previous frame of the keystone.
|
|
92
92
|
*/
|
|
93
93
|
signedSessionKeystone?: KeystoneIbGib_V1;
|
|
94
|
+
/**
|
|
95
|
+
* If identity is used in the sync transaction, this should be provided. It
|
|
96
|
+
* will drive both primary identity keystone evolution (to create session
|
|
97
|
+
* keystone), as well as signing the session keystone itself.
|
|
98
|
+
*
|
|
99
|
+
* when a peer transmits the context ibgib, this does not need to be
|
|
100
|
+
* transmitted. Note, however, that if sync is occuring between two remote
|
|
101
|
+
* peers and the peer design is not a proxy-based one, then the receiver
|
|
102
|
+
* should assign this with their own provider function.
|
|
103
|
+
*
|
|
104
|
+
* @returns the identity secret when needed to sign/evolve keystone
|
|
105
|
+
*
|
|
106
|
+
* NOTE: Not 100% sure where I'm putting this so this may end up being
|
|
107
|
+
* unused and should thus be removed. Right now, I think this will work.
|
|
108
|
+
*/
|
|
109
|
+
fnIdentitySecret?: () => Promise<string>;
|
|
94
110
|
}
|
|
95
111
|
//# 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;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;;;;;;;;;;;;;;;;OAgBG;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;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;CAC5C"}
|
|
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;;;;;;;;;;;;;;;;OAgBG;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;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,gBAAgB,CAAC;IAEzC;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C"}
|
|
@@ -114,9 +114,24 @@ export declare class SyncSagaCoordinator {
|
|
|
114
114
|
identitySecret?: string;
|
|
115
115
|
metaspace: MetaspaceService;
|
|
116
116
|
}): Promise<SyncSagaContextIbGib_V1 | null>;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
/**
|
|
118
|
+
* helper that KDFs the given identitySecret, using {@link sagaId} to do so.
|
|
119
|
+
*
|
|
120
|
+
* @returns deterministically derived session secret
|
|
121
|
+
*/
|
|
122
|
+
private deriveSessionSecret;
|
|
123
|
+
private getInitialWeakTransitionSessionSecret;
|
|
124
|
+
private getTransitionKeystonePool;
|
|
125
|
+
private getDelegateKeystonePool;
|
|
126
|
+
/**
|
|
127
|
+
* creates a session identity keystone based off of the given args.
|
|
128
|
+
*
|
|
129
|
+
* Then, if the {@link primaryIdentity} keystone is provided, this also
|
|
130
|
+
* **signs** this keystone pointing to the address of the sess
|
|
131
|
+
* @param param0
|
|
132
|
+
* @returns
|
|
133
|
+
*/
|
|
134
|
+
private createSessionIdentity;
|
|
120
135
|
/**
|
|
121
136
|
* Drives the FSM loop of the Saga.
|
|
122
137
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync-saga-coordinator.d.mts","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}
|