@ibgib/core-gib 0.1.60 → 0.1.61
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/CHANGELOG.md +3 -0
- package/dist/common/other/graph-helper.d.mts.map +1 -1
- package/dist/common/other/graph-helper.mjs +7 -6
- package/dist/common/other/graph-helper.mjs.map +1 -1
- package/dist/keystone/keystone-config-builder.d.mts +1 -2
- package/dist/keystone/keystone-config-builder.d.mts.map +1 -1
- package/dist/keystone/keystone-config-builder.mjs +4 -19
- package/dist/keystone/keystone-config-builder.mjs.map +1 -1
- package/dist/keystone/keystone-constants.d.mts +2 -0
- package/dist/keystone/keystone-constants.d.mts.map +1 -1
- package/dist/keystone/keystone-constants.mjs +2 -0
- package/dist/keystone/keystone-constants.mjs.map +1 -1
- package/dist/keystone/keystone-helpers.d.mts +5 -15
- package/dist/keystone/keystone-helpers.d.mts.map +1 -1
- package/dist/keystone/keystone-helpers.mjs +59 -73
- package/dist/keystone/keystone-helpers.mjs.map +1 -1
- package/dist/keystone/keystone-policy-types.d.mts +6 -4
- package/dist/keystone/keystone-policy-types.d.mts.map +1 -1
- package/dist/keystone/keystone-service-v1.d.mts.map +1 -1
- package/dist/keystone/keystone-service-v1.mjs +4 -8
- package/dist/keystone/keystone-service-v1.mjs.map +1 -1
- package/dist/keystone/keystone-service-v1.respec.mjs +182 -33
- package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
- package/dist/keystone/keystone-types.d.mts +4 -11
- package/dist/keystone/keystone-types.d.mts.map +1 -1
- package/dist/keystone/policy/keystone-profile-builder.d.mts +25 -0
- package/dist/keystone/policy/keystone-profile-builder.d.mts.map +1 -0
- package/dist/keystone/policy/keystone-profile-builder.mjs +117 -0
- package/dist/keystone/policy/keystone-profile-builder.mjs.map +1 -0
- package/dist/keystone/policy/profiles/profile-high.json +84 -0
- package/dist/keystone/policy/profiles/profile-low.json +84 -0
- package/dist/keystone/policy/profiles/profile-medium.json +84 -0
- package/dist/keystone/policy/profiles/profile-session.json +84 -0
- package/dist/keystone/policy/profiles/profile-test.json +84 -0
- package/dist/keystone/policy/schemas/connect-pool.high.schema.json +23 -0
- package/dist/keystone/policy/schemas/connect-pool.low.schema.json +23 -0
- package/dist/keystone/policy/schemas/connect-pool.medium.schema.json +23 -0
- package/dist/keystone/policy/schemas/keystone.high.schema.json +26 -0
- package/dist/keystone/policy/schemas/keystone.low.schema.json +26 -0
- package/dist/keystone/policy/schemas/keystone.medium.schema.json +26 -0
- package/dist/keystone/policy/schemas/manage-pool.high.schema.json +23 -0
- package/dist/keystone/policy/schemas/manage-pool.low.schema.json +23 -0
- package/dist/keystone/policy/schemas/manage-pool.medium.schema.json +23 -0
- package/dist/keystone/policy/schemas/revoke-pool.high.schema.json +23 -0
- package/dist/keystone/policy/schemas/revoke-pool.low.schema.json +23 -0
- package/dist/keystone/policy/schemas/revoke-pool.medium.schema.json +23 -0
- package/dist/keystone/policy/schemas/sign-pool.high.schema.json +23 -0
- package/dist/keystone/policy/schemas/sign-pool.low.schema.json +23 -0
- package/dist/keystone/policy/schemas/sign-pool.medium.schema.json +23 -0
- package/dist/keystone/policy/schemas/sync-pool.high.schema.json +23 -0
- package/dist/keystone/policy/schemas/sync-pool.low.schema.json +23 -0
- package/dist/keystone/policy/schemas/sync-pool.medium.schema.json +23 -0
- package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.d.mts +8 -0
- package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.mjs +582 -0
- package/dist/sync/sync-conflict-adv-multitimelines.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-conflict-basic-divergence.withid.respec.d.mts +7 -0
- package/dist/sync/sync-conflict-basic-divergence.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-conflict-basic-divergence.withid.respec.mjs +274 -0
- package/dist/sync/sync-conflict-basic-divergence.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.d.mts +8 -0
- package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.mjs +322 -0
- package/dist/sync/sync-conflict-basic-multitimelines.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-conflict-text-merge.withid.respec.d.mts +7 -0
- package/dist/sync/sync-conflict-text-merge.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-conflict-text-merge.withid.respec.mjs +307 -0
- package/dist/sync/sync-conflict-text-merge.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-innerspace-constants.withid.respec.d.mts +8 -0
- package/dist/sync/sync-innerspace-constants.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace-constants.withid.respec.mjs +233 -0
- package/dist/sync/sync-innerspace-constants.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-innerspace-deep-updates.withid.respec.d.mts +7 -0
- package/dist/sync/sync-innerspace-deep-updates.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace-deep-updates.withid.respec.mjs +233 -0
- package/dist/sync/sync-innerspace-deep-updates.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-innerspace-dest-ahead.withid.respec.d.mts +7 -0
- package/dist/sync/sync-innerspace-dest-ahead.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace-dest-ahead.withid.respec.mjs +225 -0
- package/dist/sync/sync-innerspace-dest-ahead.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.d.mts +7 -0
- package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.mjs +235 -0
- package/dist/sync/sync-innerspace-multiple-timelines.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-innerspace-partial-update.withid.respec.d.mts +7 -0
- package/dist/sync/sync-innerspace-partial-update.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace-partial-update.withid.respec.mjs +211 -0
- package/dist/sync/sync-innerspace-partial-update.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-innerspace.withid.respec.d.mts +8 -0
- package/dist/sync/sync-innerspace.withid.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace.withid.respec.mjs +260 -0
- package/dist/sync/sync-innerspace.withid.respec.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts +1 -0
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs +13 -4
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts +1 -1
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs +5 -3
- package/dist/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mjs.map +1 -1
- package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.mjs +165 -145
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
- package/dist/sync/sync-withid.pingpong.respec.mjs +8 -8
- package/dist/sync/sync-withid.pingpong.respec.mjs.map +1 -1
- package/dist/timeline/timeline-api.d.mts.map +1 -1
- package/dist/timeline/timeline-api.mjs +1 -14
- package/dist/timeline/timeline-api.mjs.map +1 -1
- package/dist/witness/space/reconciliation-space/reconciliation-space-base.d.mts.map +1 -1
- package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs +0 -40
- package/dist/witness/space/reconciliation-space/reconciliation-space-base.mjs.map +1 -1
- package/dist/witness/space/reconciliation-space/reconciliation-space-helper.d.mts.map +1 -1
- package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs +6 -6
- package/dist/witness/space/reconciliation-space/reconciliation-space-helper.mjs.map +1 -1
- package/ibgib-foundations.md +2 -1
- package/package.json +1 -1
- package/src/common/other/graph-helper.mts +7 -6
- package/src/keystone/README.md +19 -15
- package/src/keystone/docs/CRYPTANALYSIS.md +185 -0
- package/src/keystone/docs/architecture.md +24 -1
- package/src/keystone/docs/profiles.md +124 -0
- package/src/keystone/keystone-config-builder.mts +3 -21
- package/src/keystone/keystone-constants.mts +2 -0
- package/src/keystone/keystone-helpers.mts +74 -77
- package/src/keystone/keystone-policy-types.mts +6 -4
- package/src/keystone/keystone-service-v1.mts +4 -9
- package/src/keystone/keystone-service-v1.respec.mts +214 -32
- package/src/keystone/keystone-types.mts +5 -9
- package/src/keystone/policy/IMPLEMENTATION.md +60 -0
- package/src/keystone/policy/README.md +94 -0
- package/src/keystone/policy/keystone-profile-builder.mts +131 -0
- package/src/keystone/policy/profiles/profile-high.json +84 -0
- package/src/keystone/policy/profiles/profile-low.json +84 -0
- package/src/keystone/policy/profiles/profile-medium.json +84 -0
- package/src/keystone/policy/profiles/profile-session.json +84 -0
- package/src/keystone/policy/profiles/profile-test.json +84 -0
- package/src/keystone/policy/schemas/connect-pool.high.schema.json +23 -0
- package/src/keystone/policy/schemas/connect-pool.low.schema.json +23 -0
- package/src/keystone/policy/schemas/connect-pool.medium.schema.json +23 -0
- package/src/keystone/policy/schemas/keystone.high.schema.json +26 -0
- package/src/keystone/policy/schemas/keystone.low.schema.json +26 -0
- package/src/keystone/policy/schemas/keystone.medium.schema.json +26 -0
- package/src/keystone/policy/schemas/manage-pool.high.schema.json +23 -0
- package/src/keystone/policy/schemas/manage-pool.low.schema.json +23 -0
- package/src/keystone/policy/schemas/manage-pool.medium.schema.json +23 -0
- package/src/keystone/policy/schemas/revoke-pool.high.schema.json +23 -0
- package/src/keystone/policy/schemas/revoke-pool.low.schema.json +23 -0
- package/src/keystone/policy/schemas/revoke-pool.medium.schema.json +23 -0
- package/src/keystone/policy/schemas/sign-pool.high.schema.json +23 -0
- package/src/keystone/policy/schemas/sign-pool.low.schema.json +23 -0
- package/src/keystone/policy/schemas/sign-pool.medium.schema.json +23 -0
- package/src/keystone/policy/schemas/sync-pool.high.schema.json +23 -0
- package/src/keystone/policy/schemas/sync-pool.low.schema.json +23 -0
- package/src/keystone/policy/schemas/sync-pool.medium.schema.json +23 -0
- package/src/sync/docs/security.md +54 -21
- package/src/sync/sync-conflict-adv-multitimelines.withid.respec.mts +706 -0
- package/src/sync/sync-conflict-basic-divergence.withid.respec.mts +321 -0
- package/src/sync/sync-conflict-basic-multitimelines.withid.respec.mts +374 -0
- package/src/sync/sync-conflict-text-merge.withid.respec.mts +347 -0
- package/src/sync/sync-innerspace-constants.withid.respec.mts +264 -0
- package/src/sync/sync-innerspace-deep-updates.withid.respec.mts +272 -0
- package/src/sync/sync-innerspace-dest-ahead.withid.respec.mts +266 -0
- package/src/sync/sync-innerspace-multiple-timelines.respec.mts +0 -1
- package/src/sync/sync-innerspace-multiple-timelines.withid.respec.mts +273 -0
- package/src/sync/sync-innerspace-partial-update.withid.respec.mts +249 -0
- package/src/sync/sync-innerspace.withid.respec.mts +265 -0
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-peer-websocket-receiver-v1.mts +12 -4
- package/src/sync/sync-peer/sync-peer-websocket/sync-peer-websocket-receiver/sync-websocket-peer-helpers.mts +5 -3
- package/src/sync/sync-saga-coordinator.mts +159 -143
- package/src/sync/sync-withid.pingpong.respec.mts +8 -8
- package/src/timeline/timeline-api.mts +1 -15
- package/src/timeline/timeline-api.respec.mts +3 -3
- package/src/witness/space/reconciliation-space/reconciliation-space-base.mts +0 -46
- package/src/witness/space/reconciliation-space/reconciliation-space-helper.mts +6 -5
- package/tsconfig.json +6 -1
- package/src/keystone/keystone-policy.schema.json +0 -51
- package/src/witness/space/reconciliation-space/reconciliation-space-base.mts.OLD.md +0 -884
- package/src/witness/space/reconciliation-space/reconciliation-space-helper.mts.OLD.md +0 -125
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-deep-updates.withid.respec.d.mts","sourceRoot":"","sources":["../../src/sync/sync-innerspace-deep-updates.withid.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-innerspace-deep-updates.withid.respec
|
|
3
|
+
*
|
|
4
|
+
* Verifies syncing timelines with deep mutation histories (multiple updates) with Identity.
|
|
5
|
+
*/
|
|
6
|
+
import { respecfully, iReckon, ifWe } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
7
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
8
|
+
import { clone, delay } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
9
|
+
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
10
|
+
import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
|
|
11
|
+
import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
12
|
+
import { getFromSpace } from '../witness/space/space-helper.mjs';
|
|
13
|
+
import { Metaspace_Innerspace } from '../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
14
|
+
import { InnerSpace_V1 } from '../witness/space/inner-space/inner-space-v1.mjs';
|
|
15
|
+
import { createTimelineRootTestHelper } from '../test-helpers.mjs';
|
|
16
|
+
import { mut8Timeline } from '../timeline/timeline-api.mjs';
|
|
17
|
+
import { DEFAULT_INNER_SPACE_DATA_V1 } from '../witness/space/inner-space/inner-space-types.mjs';
|
|
18
|
+
import { SyncPeerInnerspace_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs';
|
|
19
|
+
import { SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs';
|
|
20
|
+
import { getDependencyGraph, graphsAreEquivalent } from '../common/other/graph-helper.mjs';
|
|
21
|
+
import { KeystoneService_V1 } from '../keystone/keystone-service-v1.mjs';
|
|
22
|
+
import { KEYSTONE_VERB_SYNC, POOL_ID_SYNC, } from '../keystone/keystone-constants.mjs';
|
|
23
|
+
import { createStandardPoolConfig } from '../keystone/keystone-config-builder.mjs';
|
|
24
|
+
import { KeystoneReplenishStrategy } from '../keystone/keystone-types.mjs';
|
|
25
|
+
const logalot = GLOBAL_LOG_A_LOT || true;
|
|
26
|
+
const lc = `[sync-innerspace-deep-updates.withid.respec]`;
|
|
27
|
+
const SENDER_SECRET = 'test-sender-secret-deep-updates-withid';
|
|
28
|
+
const SENDER_IDENTITY_SYNC_POOL_CONFIG = createStandardPoolConfig({
|
|
29
|
+
id: POOL_ID_SYNC,
|
|
30
|
+
salt: 'senderidentitysyncsaltdeepupdateswithid',
|
|
31
|
+
verbs: [KEYSTONE_VERB_SYNC],
|
|
32
|
+
size: 200,
|
|
33
|
+
sequential: 1,
|
|
34
|
+
random: 1,
|
|
35
|
+
targetBinding: 2,
|
|
36
|
+
replenishStrategy: KeystoneReplenishStrategy.topUp,
|
|
37
|
+
});
|
|
38
|
+
await respecfully(sir, `Sync InnerSpaces (Deep Updates) with Identity`, async () => {
|
|
39
|
+
let metaspace;
|
|
40
|
+
let sourceSpace;
|
|
41
|
+
let destSpace;
|
|
42
|
+
// #region Round 1 - Deep Updates Push Sync
|
|
43
|
+
await respecfully(sir, `Deep Updates (Push Source -> Dest with Identity)`, async () => {
|
|
44
|
+
// 1. Setup Spaces
|
|
45
|
+
metaspace = new Metaspace_Innerspace(undefined);
|
|
46
|
+
await metaspace.initialize({
|
|
47
|
+
getFnAlert: () => async ({ title, msg }) => { console.log(`[Alert] ${title}: ${msg}`); },
|
|
48
|
+
getFnPrompt: () => async ({ title, msg }) => { console.log(`[Prompt] ${title}: ${msg}`); return ''; },
|
|
49
|
+
getFnPromptPassword: () => async (title, msg) => { console.log(`[PromptPwd] ${title}: ${msg}`); return null; },
|
|
50
|
+
});
|
|
51
|
+
while (!metaspace.initialized) {
|
|
52
|
+
await delay(10);
|
|
53
|
+
}
|
|
54
|
+
sourceSpace = new InnerSpace_V1({
|
|
55
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
56
|
+
name: 'source',
|
|
57
|
+
uuid: 'source_uuid',
|
|
58
|
+
description: 'source test space',
|
|
59
|
+
});
|
|
60
|
+
await sourceSpace.initialized;
|
|
61
|
+
destSpace = new InnerSpace_V1({
|
|
62
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
63
|
+
name: 'dest',
|
|
64
|
+
uuid: 'dest_uuid',
|
|
65
|
+
description: 'dest test space',
|
|
66
|
+
});
|
|
67
|
+
await destSpace.initialized;
|
|
68
|
+
// 2. Setup Identities
|
|
69
|
+
const keystoneSvc = new KeystoneService_V1();
|
|
70
|
+
const r1_senderIdentity_v0_source = await keystoneSvc.genesis({
|
|
71
|
+
masterSecret: SENDER_SECRET,
|
|
72
|
+
configs: [SENDER_IDENTITY_SYNC_POOL_CONFIG],
|
|
73
|
+
metaspace,
|
|
74
|
+
space: sourceSpace,
|
|
75
|
+
});
|
|
76
|
+
// Register sender identity on destination space as well
|
|
77
|
+
await metaspace.put({ ibGib: r1_senderIdentity_v0_source, space: destSpace });
|
|
78
|
+
await metaspace.registerNewIbGib({ ibGib: r1_senderIdentity_v0_source, space: destSpace });
|
|
79
|
+
// #region r1 setup
|
|
80
|
+
// 3. Seed Source Data (Deep History)
|
|
81
|
+
console.log(`${lc} Creating deep data in Source...`);
|
|
82
|
+
// Root (V0)
|
|
83
|
+
const r1_alpha_v0_source = await createTimelineRootTestHelper({
|
|
84
|
+
ib: 'timeline_root_deep',
|
|
85
|
+
data: { type: 'root', label: 'Root' },
|
|
86
|
+
space: sourceSpace,
|
|
87
|
+
});
|
|
88
|
+
// Comment (V1)
|
|
89
|
+
const r1_alpha_v1_source = await mut8Timeline({
|
|
90
|
+
timeline: r1_alpha_v0_source,
|
|
91
|
+
mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'Hello World' } },
|
|
92
|
+
metaspace,
|
|
93
|
+
space: sourceSpace,
|
|
94
|
+
});
|
|
95
|
+
// Edit Comment (V2)
|
|
96
|
+
const r1_alpha_v2_source = await mut8Timeline({
|
|
97
|
+
timeline: r1_alpha_v1_source,
|
|
98
|
+
mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'Hello Sync' } },
|
|
99
|
+
metaspace,
|
|
100
|
+
space: sourceSpace,
|
|
101
|
+
});
|
|
102
|
+
const r1_alpha_v2_source_addr = getIbGibAddr({ ibGib: r1_alpha_v2_source });
|
|
103
|
+
// #endregion r1 setup
|
|
104
|
+
// #region r1 verify pre
|
|
105
|
+
await respecfully(sir, `r1 verify pre`, async () => {
|
|
106
|
+
await ifWe(sir, `Dest does not have any of the alpha frames initially`, async () => {
|
|
107
|
+
const getV2 = await getFromSpace({ space: destSpace, addr: r1_alpha_v2_source_addr });
|
|
108
|
+
const getV1 = await getFromSpace({ space: destSpace, addr: getIbGibAddr({ ibGib: r1_alpha_v1_source }) });
|
|
109
|
+
const getV0 = await getFromSpace({ space: destSpace, addr: getIbGibAddr({ ibGib: r1_alpha_v0_source }) });
|
|
110
|
+
iReckon(sir, getV2.success || getV1.success || getV0.success).asTo('Dest initially lacks alpha frames').isGonnaBeFalse();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
// #endregion r1 verify pre
|
|
114
|
+
// 4. Setup Coordinator & Peer
|
|
115
|
+
const senderCoordinator = new SyncSagaCoordinator();
|
|
116
|
+
const receiverCoordinator = new SyncSagaCoordinator();
|
|
117
|
+
const peer = new SyncPeerInnerspace_V1(clone(SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1));
|
|
118
|
+
await peer.initialized;
|
|
119
|
+
await peer.initializeOpts({
|
|
120
|
+
sagaId: '',
|
|
121
|
+
localMetaspace: metaspace,
|
|
122
|
+
localSpace: sourceSpace, // "Client"
|
|
123
|
+
receiverSpace: destSpace, // "Server"
|
|
124
|
+
receiverCoordinator,
|
|
125
|
+
receiverMetaspace: metaspace,
|
|
126
|
+
});
|
|
127
|
+
// #region r1 syncs
|
|
128
|
+
// 5. Run Sync (Sync the Tip V2)
|
|
129
|
+
console.log(`${lc} Running Sync...`);
|
|
130
|
+
const resSync = await senderCoordinator.sync({
|
|
131
|
+
peer: peer,
|
|
132
|
+
localSpace: sourceSpace,
|
|
133
|
+
metaspace: metaspace,
|
|
134
|
+
domainIbGibs: [r1_alpha_v2_source],
|
|
135
|
+
senderIdentity: r1_senderIdentity_v0_source,
|
|
136
|
+
fnSenderSecret: async () => SENDER_SECRET,
|
|
137
|
+
});
|
|
138
|
+
await resSync.done;
|
|
139
|
+
// #endregion r1 syncs
|
|
140
|
+
// #region r1 verify post
|
|
141
|
+
await respecfully(sir, `r1 verify post`, async () => {
|
|
142
|
+
await ifWe(sir, `verify deep timeline present and correct in Dest`, async () => {
|
|
143
|
+
// Verify Tip (V2)
|
|
144
|
+
const getV2 = await getFromSpace({ space: destSpace, addr: r1_alpha_v2_source_addr });
|
|
145
|
+
iReckon(sir, getV2.success).asTo('Tip V2 present').isGonnaBeTrue();
|
|
146
|
+
const v2IbGib = getV2.ibGibs[0];
|
|
147
|
+
iReckon(sir, v2IbGib.data.label).asTo('Label V2 match').isGonnaBe('Hello Sync');
|
|
148
|
+
// Verify Past Frame (V1)
|
|
149
|
+
const pastAddr = v2IbGib.rel8ns?.past?.at(-1);
|
|
150
|
+
iReckon(sir, !!pastAddr).asTo('Past address in V2 rel8ns is truthy').isGonnaBeTrue();
|
|
151
|
+
if (pastAddr) {
|
|
152
|
+
const getV1 = await getFromSpace({ space: destSpace, addr: pastAddr });
|
|
153
|
+
iReckon(sir, getV1.success).asTo('Past Frame (V1) present').isGonnaBeTrue();
|
|
154
|
+
iReckon(sir, getV1.ibGibs?.[0]?.data?.label).asTo('Label V1 match').isGonnaBe('Hello World');
|
|
155
|
+
}
|
|
156
|
+
// Verify Full Graph Integrity
|
|
157
|
+
const graph = await getDependencyGraph({ ibGib: v2IbGib, space: destSpace });
|
|
158
|
+
iReckon(sir, !!graph).asTo('Dependency Graph resolvable in Dest').isGonnaBeTrue();
|
|
159
|
+
if (graph) {
|
|
160
|
+
iReckon(sir, Object.keys(graph).length >= 3).asTo('Graph size >= 3').isGonnaBeTrue();
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
await ifWe(sir, 'sessionIdentity evolved the expected number of times', async () => {
|
|
164
|
+
const latestS = peer.currentSessionIdentity;
|
|
165
|
+
iReckon(sir, latestS).asTo('latest session identity exists on peer').isGonnaBeTruthy();
|
|
166
|
+
if (latestS) {
|
|
167
|
+
iReckon(sir, latestS.data?.n).asTo('session identity data.n').isGonnaBe(2);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
await ifWe(sir, 'sender durable space has I (evolved frame)', async () => {
|
|
171
|
+
const latestSenderIdentityAddr = await metaspace.getLatestAddr({
|
|
172
|
+
addr: getIbGibAddr({ ibGib: r1_senderIdentity_v0_source }),
|
|
173
|
+
space: sourceSpace,
|
|
174
|
+
});
|
|
175
|
+
iReckon(sir, latestSenderIdentityAddr).asTo('latestSenderIdentityAddr exists').isGonnaBeTruthy();
|
|
176
|
+
if (latestSenderIdentityAddr) {
|
|
177
|
+
const resGetSourceI = await getFromSpace({ space: sourceSpace, addr: latestSenderIdentityAddr });
|
|
178
|
+
iReckon(sir, resGetSourceI.success && resGetSourceI.ibGibs?.length === 1).asTo('evolved I exists in sourceSpace').isGonnaBeTrue();
|
|
179
|
+
if (resGetSourceI.success && resGetSourceI.ibGibs?.[0]) {
|
|
180
|
+
const evolvedI = resGetSourceI.ibGibs[0];
|
|
181
|
+
iReckon(sir, evolvedI.data?.n).asTo('evolved I data.n').isGonnaBe(1);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
await ifWe(sir, 'receiver durable space has I (evolved frame)', async () => {
|
|
186
|
+
const latestSenderIdentityAddr = await metaspace.getLatestAddr({
|
|
187
|
+
addr: getIbGibAddr({ ibGib: r1_senderIdentity_v0_source }),
|
|
188
|
+
space: sourceSpace,
|
|
189
|
+
});
|
|
190
|
+
iReckon(sir, latestSenderIdentityAddr).asTo('latestSenderIdentityAddr exists').isGonnaBeTruthy();
|
|
191
|
+
if (latestSenderIdentityAddr) {
|
|
192
|
+
const resGetDestI = await getFromSpace({ space: destSpace, addr: latestSenderIdentityAddr });
|
|
193
|
+
iReckon(sir, resGetDestI.success && resGetDestI.ibGibs?.length === 1).asTo('evolved I exists in destSpace').isGonnaBeTrue();
|
|
194
|
+
if (resGetDestI.success && resGetDestI.ibGibs?.[0]) {
|
|
195
|
+
const evolvedI = resGetDestI.ibGibs[0];
|
|
196
|
+
iReckon(sir, evolvedI.data?.n).asTo('evolved I data.n').isGonnaBe(1);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
await ifWe(sir, 'sender durable space has full S dep graph', async () => {
|
|
201
|
+
const latestS = peer.currentSessionIdentity;
|
|
202
|
+
iReckon(sir, latestS).asTo('latestS exists').isGonnaBeTruthy();
|
|
203
|
+
if (latestS) {
|
|
204
|
+
const depGraphS = await getDependencyGraph({ ibGib: latestS, space: sourceSpace });
|
|
205
|
+
const addrs = Object.keys(depGraphS);
|
|
206
|
+
iReckon(sir, addrs.length > 2).asTo('number of nodes in S graph > 2').isGonnaBeTrue();
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
await ifWe(sir, 'receiver durable space has full S dep graph', async () => {
|
|
210
|
+
const latestS = peer.currentSessionIdentity;
|
|
211
|
+
iReckon(sir, latestS).asTo('latestS exists').isGonnaBeTruthy();
|
|
212
|
+
if (latestS) {
|
|
213
|
+
const depGraphS = await getDependencyGraph({ ibGib: latestS, space: destSpace });
|
|
214
|
+
const addrs = Object.keys(depGraphS);
|
|
215
|
+
iReckon(sir, addrs.length > 2).asTo('number of nodes in S graph in destSpace > 2').isGonnaBeTrue();
|
|
216
|
+
}
|
|
217
|
+
});
|
|
218
|
+
await ifWe(sir, 'session keystone dependency graphs are equivalent on source and dest', async () => {
|
|
219
|
+
const latestS = peer.currentSessionIdentity;
|
|
220
|
+
iReckon(sir, latestS).asTo('latestS exists').isGonnaBeTruthy();
|
|
221
|
+
if (latestS) {
|
|
222
|
+
const depGraphSource = await getDependencyGraph({ ibGib: latestS, space: sourceSpace });
|
|
223
|
+
const depGraphDest = await getDependencyGraph({ ibGib: latestS, space: destSpace });
|
|
224
|
+
const equal = graphsAreEquivalent({ graphA: depGraphSource, graphB: depGraphDest });
|
|
225
|
+
iReckon(sir, equal).asTo('session graphs are equivalent').isGonnaBeTrue();
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
});
|
|
229
|
+
// #endregion r1 verify post
|
|
230
|
+
});
|
|
231
|
+
// #endregion Round 1 - Deep Updates Push Sync
|
|
232
|
+
});
|
|
233
|
+
//# sourceMappingURL=sync-innerspace-deep-updates.withid.respec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-deep-updates.withid.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-innerspace-deep-updates.withid.respec.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-dest-ahead.withid.respec.d.mts","sourceRoot":"","sources":["../../src/sync/sync-innerspace-dest-ahead.withid.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-innerspace-dest-ahead.withid.respec
|
|
3
|
+
*
|
|
4
|
+
* Verifies Destination Ahead (Remote Newer) Sync Scenario using InnerSpace with Identity.
|
|
5
|
+
*/
|
|
6
|
+
import { respecfully, iReckon, ifWe } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
7
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
8
|
+
import { clone, delay } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
9
|
+
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
10
|
+
import { GLOBAL_LOG_A_LOT } from '../core-constants.mjs';
|
|
11
|
+
import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
12
|
+
import { getFromSpace, putInSpace, registerNewIbGib } from '../witness/space/space-helper.mjs';
|
|
13
|
+
import { Metaspace_Innerspace } from '../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
14
|
+
import { InnerSpace_V1 } from '../witness/space/inner-space/inner-space-v1.mjs';
|
|
15
|
+
import { createTimelineRootTestHelper } from '../test-helpers.mjs';
|
|
16
|
+
import { mut8Timeline } from '../timeline/timeline-api.mjs';
|
|
17
|
+
import { DEFAULT_INNER_SPACE_DATA_V1 } from '../witness/space/inner-space/inner-space-types.mjs';
|
|
18
|
+
import { SyncPeerInnerspace_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs';
|
|
19
|
+
import { SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs';
|
|
20
|
+
import { getDependencyGraph, graphsAreEquivalent } from '../common/other/graph-helper.mjs';
|
|
21
|
+
import { KeystoneService_V1 } from '../keystone/keystone-service-v1.mjs';
|
|
22
|
+
import { KEYSTONE_VERB_SYNC, POOL_ID_SYNC, } from '../keystone/keystone-constants.mjs';
|
|
23
|
+
import { createStandardPoolConfig } from '../keystone/keystone-config-builder.mjs';
|
|
24
|
+
import { KeystoneReplenishStrategy } from '../keystone/keystone-types.mjs';
|
|
25
|
+
const logalot = GLOBAL_LOG_A_LOT || true;
|
|
26
|
+
const lc = `[sync-innerspace-dest-ahead.withid.respec]`;
|
|
27
|
+
const SENDER_SECRET = 'test-sender-secret-dest-ahead-withid';
|
|
28
|
+
const SENDER_IDENTITY_SYNC_POOL_CONFIG = createStandardPoolConfig({
|
|
29
|
+
id: POOL_ID_SYNC,
|
|
30
|
+
salt: 'senderidentitysyncsaltdestaheadwithid',
|
|
31
|
+
verbs: [KEYSTONE_VERB_SYNC],
|
|
32
|
+
size: 200,
|
|
33
|
+
sequential: 1,
|
|
34
|
+
random: 1,
|
|
35
|
+
targetBinding: 2,
|
|
36
|
+
replenishStrategy: KeystoneReplenishStrategy.topUp,
|
|
37
|
+
});
|
|
38
|
+
await respecfully(sir, `Sync InnerSpaces (Dest Ahead) with Identity`, async () => {
|
|
39
|
+
let metaspace;
|
|
40
|
+
let sourceSpace;
|
|
41
|
+
let destSpace;
|
|
42
|
+
// #region Round 1 - Dest Ahead Sync with Identity
|
|
43
|
+
await respecfully(sir, `Dest Ahead (Remote Newer with Identity)`, async () => {
|
|
44
|
+
// 1. Setup Spaces
|
|
45
|
+
metaspace = new Metaspace_Innerspace(undefined);
|
|
46
|
+
await metaspace.initialize({
|
|
47
|
+
getFnAlert: () => async ({ title, msg }) => { console.log(`[Alert] ${title}: ${msg}`); },
|
|
48
|
+
getFnPrompt: () => async ({ title, msg }) => { console.log(`[Prompt] ${title}: ${msg}`); return ''; },
|
|
49
|
+
getFnPromptPassword: () => async (title, msg) => { console.log(`[PromptPwd] ${title}: ${msg}`); return null; },
|
|
50
|
+
});
|
|
51
|
+
while (!metaspace.initialized) {
|
|
52
|
+
await delay(10);
|
|
53
|
+
}
|
|
54
|
+
sourceSpace = new InnerSpace_V1({
|
|
55
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
56
|
+
name: 'source',
|
|
57
|
+
uuid: 'source_uuid',
|
|
58
|
+
description: 'source test space',
|
|
59
|
+
});
|
|
60
|
+
await sourceSpace.initialized;
|
|
61
|
+
destSpace = new InnerSpace_V1({
|
|
62
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
63
|
+
name: 'dest',
|
|
64
|
+
uuid: 'dest_uuid',
|
|
65
|
+
description: 'dest test space',
|
|
66
|
+
});
|
|
67
|
+
await destSpace.initialized;
|
|
68
|
+
// 2. Setup Identities
|
|
69
|
+
const keystoneSvc = new KeystoneService_V1();
|
|
70
|
+
const r1_senderIdentity_v0_source = await keystoneSvc.genesis({
|
|
71
|
+
masterSecret: SENDER_SECRET,
|
|
72
|
+
configs: [SENDER_IDENTITY_SYNC_POOL_CONFIG],
|
|
73
|
+
metaspace,
|
|
74
|
+
space: sourceSpace,
|
|
75
|
+
});
|
|
76
|
+
// Register sender identity on destination space as well
|
|
77
|
+
await metaspace.put({ ibGib: r1_senderIdentity_v0_source, space: destSpace });
|
|
78
|
+
await metaspace.registerNewIbGib({ ibGib: r1_senderIdentity_v0_source, space: destSpace });
|
|
79
|
+
// #region r1 setup
|
|
80
|
+
// 3. Seed Data (Dest Ahead)
|
|
81
|
+
// Root -> V1 (Shared) -> V2 (Dest has New)
|
|
82
|
+
// Source only has V1.
|
|
83
|
+
console.log(`${lc} Seeding data for Dest Ahead scenario...`);
|
|
84
|
+
// Root (V0)
|
|
85
|
+
const r1_alpha_v0_source = await createTimelineRootTestHelper({
|
|
86
|
+
ib: 'timeline_root_dest_ahead',
|
|
87
|
+
data: { type: 'root', label: 'Root' },
|
|
88
|
+
space: sourceSpace,
|
|
89
|
+
});
|
|
90
|
+
const r1_alpha_v0_source_addr = getIbGibAddr({ ibGib: r1_alpha_v0_source });
|
|
91
|
+
// V1 (Both have it, but we create in source and copy to dest)
|
|
92
|
+
const r1_alpha_v1_source = await mut8Timeline({
|
|
93
|
+
timeline: r1_alpha_v0_source,
|
|
94
|
+
mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'V1' } },
|
|
95
|
+
metaspace,
|
|
96
|
+
space: sourceSpace,
|
|
97
|
+
});
|
|
98
|
+
const r1_alpha_v1_source_addr = getIbGibAddr({ ibGib: r1_alpha_v1_source });
|
|
99
|
+
// Transfer Root & V1 to Dest
|
|
100
|
+
const initialDepGraph = await getDependencyGraph({ ibGibs: [r1_alpha_v0_source, r1_alpha_v1_source], space: sourceSpace });
|
|
101
|
+
await putInSpace({ space: destSpace, ibGibs: Object.values(initialDepGraph) });
|
|
102
|
+
await registerNewIbGib({ space: destSpace, ibGib: r1_alpha_v0_source });
|
|
103
|
+
await registerNewIbGib({ space: destSpace, ibGib: r1_alpha_v1_source });
|
|
104
|
+
// V2 (Created in Dest ONLY)
|
|
105
|
+
const r1_alpha_v2_dest_newer = await mut8Timeline({
|
|
106
|
+
timeline: r1_alpha_v1_source,
|
|
107
|
+
mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'V2' } },
|
|
108
|
+
metaspace,
|
|
109
|
+
space: destSpace, // Mutate in Dest
|
|
110
|
+
});
|
|
111
|
+
const r1_alpha_v2_dest_newer_addr = getIbGibAddr({ ibGib: r1_alpha_v2_dest_newer });
|
|
112
|
+
// #endregion r1 setup
|
|
113
|
+
// #region r1 verify pre
|
|
114
|
+
await respecfully(sir, `r1 verify pre`, async () => {
|
|
115
|
+
await ifWe(sir, `verify setup state matches expectations`, async () => {
|
|
116
|
+
const sourceHasV0 = await getFromSpace({ space: sourceSpace, addr: r1_alpha_v0_source_addr });
|
|
117
|
+
const sourceHasV1 = await getFromSpace({ space: sourceSpace, addr: r1_alpha_v1_source_addr });
|
|
118
|
+
const sourceHasV2 = await getFromSpace({ space: sourceSpace, addr: r1_alpha_v2_dest_newer_addr });
|
|
119
|
+
const destHasV0 = await getFromSpace({ space: destSpace, addr: r1_alpha_v0_source_addr });
|
|
120
|
+
const destHasV1 = await getFromSpace({ space: destSpace, addr: r1_alpha_v1_source_addr });
|
|
121
|
+
const destHasV2 = await getFromSpace({ space: destSpace, addr: r1_alpha_v2_dest_newer_addr });
|
|
122
|
+
iReckon(sir, sourceHasV0.success).asTo('source has V0').isGonnaBeTrue();
|
|
123
|
+
iReckon(sir, sourceHasV1.success).asTo('source has V1').isGonnaBeTrue();
|
|
124
|
+
iReckon(sir, sourceHasV2.success).asTo('source does NOT have V2').isGonnaBeFalse();
|
|
125
|
+
iReckon(sir, destHasV0.success).asTo('dest has V0').isGonnaBeTrue();
|
|
126
|
+
iReckon(sir, destHasV1.success).asTo('dest has V1').isGonnaBeTrue();
|
|
127
|
+
iReckon(sir, destHasV2.success).asTo('dest has V2').isGonnaBeTrue();
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
// #endregion r1 verify pre
|
|
131
|
+
// 4. Setup Coordinator & Peer
|
|
132
|
+
const senderCoordinator = new SyncSagaCoordinator();
|
|
133
|
+
const receiverCoordinator = new SyncSagaCoordinator();
|
|
134
|
+
const peer = new SyncPeerInnerspace_V1(clone(SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1));
|
|
135
|
+
await peer.initialized;
|
|
136
|
+
await peer.initializeOpts({
|
|
137
|
+
sagaId: '',
|
|
138
|
+
localMetaspace: metaspace,
|
|
139
|
+
localSpace: sourceSpace, // "Client"
|
|
140
|
+
receiverSpace: destSpace, // "Server"
|
|
141
|
+
receiverCoordinator,
|
|
142
|
+
receiverMetaspace: metaspace,
|
|
143
|
+
});
|
|
144
|
+
// #region r1 syncs
|
|
145
|
+
// 5. Run Sync (Source Pushes V1, but Remote is Ahead with V2)
|
|
146
|
+
console.log(`${lc} Running Sync...`);
|
|
147
|
+
const resSync = await senderCoordinator.sync({
|
|
148
|
+
peer: peer,
|
|
149
|
+
localSpace: sourceSpace,
|
|
150
|
+
metaspace: metaspace,
|
|
151
|
+
domainIbGibs: [r1_alpha_v1_source],
|
|
152
|
+
senderIdentity: r1_senderIdentity_v0_source,
|
|
153
|
+
fnSenderSecret: async () => SENDER_SECRET,
|
|
154
|
+
});
|
|
155
|
+
await resSync.done;
|
|
156
|
+
// #endregion r1 syncs
|
|
157
|
+
// #region r1 verify post
|
|
158
|
+
await respecfully(sir, `r1 verify post`, async () => {
|
|
159
|
+
await ifWe(sir, `verify V2 and its history are now present on Source`, async () => {
|
|
160
|
+
const sourceHasV2 = await getFromSpace({ space: sourceSpace, addr: r1_alpha_v2_dest_newer_addr });
|
|
161
|
+
iReckon(sir, sourceHasV2.success).asTo('Source now has V2').isGonnaBeTrue();
|
|
162
|
+
if (sourceHasV2.success && sourceHasV2.ibGibs?.[0]) {
|
|
163
|
+
const v2IbGib = sourceHasV2.ibGibs[0];
|
|
164
|
+
iReckon(sir, v2IbGib.data?.label).asTo('V2 label matches').isGonnaBe('V2');
|
|
165
|
+
}
|
|
166
|
+
// Verify V2 dependency graph equivalence
|
|
167
|
+
const sourceV2Graph = await getDependencyGraph({ ibGibAddr: r1_alpha_v2_dest_newer_addr, space: sourceSpace });
|
|
168
|
+
const destV2Graph = await getDependencyGraph({ ibGibAddr: r1_alpha_v2_dest_newer_addr, space: destSpace });
|
|
169
|
+
const graphsEqual = graphsAreEquivalent({ graphA: sourceV2Graph, graphB: destV2Graph });
|
|
170
|
+
iReckon(sir, graphsEqual).asTo('V2 dependency graphs are identical on source and dest').isGonnaBeTrue();
|
|
171
|
+
});
|
|
172
|
+
await ifWe(sir, 'sessionIdentity evolved the expected number of times', async () => {
|
|
173
|
+
const latestS = peer.currentSessionIdentity;
|
|
174
|
+
iReckon(sir, latestS).asTo('latest session identity exists on peer').isGonnaBeTruthy();
|
|
175
|
+
if (latestS) {
|
|
176
|
+
// Connect handshake is no-op, init request = n=1, commit request = n=2
|
|
177
|
+
iReckon(sir, latestS.data?.n).asTo('session identity data.n').isGonnaBe(2);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
await ifWe(sir, 'sender durable space has I (evolved frame)', async () => {
|
|
181
|
+
const latestSenderIdentityAddr = await metaspace.getLatestAddr({
|
|
182
|
+
addr: getIbGibAddr({ ibGib: r1_senderIdentity_v0_source }),
|
|
183
|
+
space: sourceSpace,
|
|
184
|
+
});
|
|
185
|
+
iReckon(sir, latestSenderIdentityAddr).asTo('latestSenderIdentityAddr exists').isGonnaBeTruthy();
|
|
186
|
+
if (latestSenderIdentityAddr) {
|
|
187
|
+
const resGetSourceI = await getFromSpace({ space: sourceSpace, addr: latestSenderIdentityAddr });
|
|
188
|
+
iReckon(sir, resGetSourceI.success && resGetSourceI.ibGibs?.length === 1).asTo('evolved I exists in sourceSpace').isGonnaBeTrue();
|
|
189
|
+
if (resGetSourceI.success && resGetSourceI.ibGibs?.[0]) {
|
|
190
|
+
const evolvedI = resGetSourceI.ibGibs[0];
|
|
191
|
+
iReckon(sir, evolvedI.data?.n).asTo('evolved I data.n').isGonnaBe(1);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
await ifWe(sir, 'receiver durable space has I (evolved frame)', async () => {
|
|
196
|
+
const latestSenderIdentityAddr = await metaspace.getLatestAddr({
|
|
197
|
+
addr: getIbGibAddr({ ibGib: r1_senderIdentity_v0_source }),
|
|
198
|
+
space: sourceSpace,
|
|
199
|
+
});
|
|
200
|
+
iReckon(sir, latestSenderIdentityAddr).asTo('latestSenderIdentityAddr exists').isGonnaBeTruthy();
|
|
201
|
+
if (latestSenderIdentityAddr) {
|
|
202
|
+
const resGetDestI = await getFromSpace({ space: destSpace, addr: latestSenderIdentityAddr });
|
|
203
|
+
iReckon(sir, resGetDestI.success && resGetDestI.ibGibs?.length === 1).asTo('evolved I exists in destSpace').isGonnaBeTrue();
|
|
204
|
+
if (resGetDestI.success && resGetDestI.ibGibs?.[0]) {
|
|
205
|
+
const evolvedI = resGetDestI.ibGibs[0];
|
|
206
|
+
iReckon(sir, evolvedI.data?.n).asTo('evolved I data.n').isGonnaBe(1);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
await ifWe(sir, 'session keystone dependency graphs are equivalent on source and dest', async () => {
|
|
211
|
+
const latestS = peer.currentSessionIdentity;
|
|
212
|
+
iReckon(sir, latestS).asTo('latestS exists').isGonnaBeTruthy();
|
|
213
|
+
if (latestS) {
|
|
214
|
+
const depGraphSource = await getDependencyGraph({ ibGib: latestS, space: sourceSpace });
|
|
215
|
+
const depGraphDest = await getDependencyGraph({ ibGib: latestS, space: destSpace });
|
|
216
|
+
const equal = graphsAreEquivalent({ graphA: depGraphSource, graphB: depGraphDest });
|
|
217
|
+
iReckon(sir, equal).asTo('session graphs are equivalent').isGonnaBeTrue();
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
// #endregion r1 verify post
|
|
222
|
+
});
|
|
223
|
+
// #endregion Round 1 - Dest Ahead Sync with Identity
|
|
224
|
+
});
|
|
225
|
+
//# sourceMappingURL=sync-innerspace-dest-ahead.withid.respec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-dest-ahead.withid.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-innerspace-dest-ahead.withid.respec.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-innerspace-multiple-timelines.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-innerspace-multiple-timelines.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,WAAW,EAAa,IAAI,EAAE,OAAO,EAExC,MAAM,kDAAkD,CAAC;AAC1D,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAA2B,MAAM,iDAAiD,CAAC;AACxG,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAc,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0EAA0E,CAAC;AAChH,OAAO,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAChF,OAAO,EAAE,4BAA4B,GAAG,MAAM,qBAAqB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-innerspace-multiple-timelines.respec.mjs","sourceRoot":"","sources":["../../src/sync/sync-innerspace-multiple-timelines.respec.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-innerspace-multiple-timelines.withid.respec.d.mts","sourceRoot":"","sources":["../../src/sync/sync-innerspace-multiple-timelines.withid.respec.mts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|