@ibgib/core-gib 0.1.47 → 0.1.49
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 +24 -3
- package/dist/keystone/keystone-constants.d.mts.map +1 -1
- package/dist/keystone/keystone-constants.mjs +22 -1
- package/dist/keystone/keystone-constants.mjs.map +1 -1
- package/dist/keystone/keystone-helpers.d.mts.map +1 -1
- package/dist/keystone/keystone-helpers.mjs +7 -9
- 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 +24 -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 +2 -2
- package/dist/sync/sync-conflict-adv-multitimelines.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-basic-divergence.respec.mjs +2 -2
- package/dist/sync/sync-conflict-basic-divergence.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-basic-multitimelines.respec.mjs +2 -2
- package/dist/sync/sync-conflict-basic-multitimelines.respec.mjs.map +1 -1
- package/dist/sync/sync-conflict-text-merge.respec.mjs +2 -2
- 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 +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-withid.respec.mjs +22 -8
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +2 -2
- 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 +2 -2
- package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace.respec.mjs +2 -2
- package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.d.mts +57 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mjs +310 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-types.d.mts +27 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-types.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-types.mjs +2 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-types.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts +29 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs +122 -0
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-types.d.mts +27 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-types.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-types.mjs +2 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-types.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.d.mts +24 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mjs +111 -0
- package/dist/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mjs.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http.respec.d.mts +8 -0
- package/dist/sync/sync-peer/sync-peer-http.respec.d.mts.map +1 -0
- package/dist/sync/sync-peer/sync-peer-http.respec.mjs +333 -0
- package/dist/sync/sync-peer/sync-peer-http.respec.mjs.map +1 -0
- 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 +13 -7
- 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 +5 -5
- package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.d.mts +6 -3
- package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.mjs +75 -26
- 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 +241 -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/ibgib-foundations.md +109 -89
- 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 +24 -2
- package/src/keystone/keystone-helpers.mts +5 -10
- 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 +27 -7
- package/src/sync/sync-conflict-adv-multitimelines.respec.mts +2 -2
- package/src/sync/sync-conflict-basic-divergence.respec.mts +2 -2
- package/src/sync/sync-conflict-basic-multitimelines.respec.mts +2 -2
- package/src/sync/sync-conflict-text-merge.respec.mts +2 -2
- package/src/sync/sync-constants.mts +51 -1
- package/src/sync/sync-innerspace-constants.respec.mts +2 -2
- package/src/sync/sync-innerspace-deep-updates.respec.mts +2 -2
- package/src/sync/sync-innerspace-dest-ahead-withid.respec.mts +26 -9
- package/src/sync/sync-innerspace-dest-ahead.respec.mts +2 -2
- package/src/sync/sync-innerspace-multiple-timelines.respec.mts +2 -2
- package/src/sync/sync-innerspace-partial-update.respec.mts +2 -2
- package/src/sync/sync-innerspace.respec.mts +2 -2
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mts +319 -0
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mts.metadata.md +72 -0
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-types.mts +30 -0
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mts +146 -0
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mts.metadata.md +71 -0
- package/src/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-types.mts +32 -0
- package/src/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mts +129 -0
- package/src/sync/sync-peer/sync-peer-http.respec.mts +364 -0
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-types.mts +8 -8
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +15 -7
- package/src/sync/sync-peer/sync-peer-types.mts +11 -11
- package/src/sync/sync-peer/sync-peer-v1.mts +66 -30
- 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 +296 -63
- package/src/sync/sync-types.mts +1 -1
- package/tmp-certs/server.pfx +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-peer-http-sender-v1
|
|
3
|
+
*/
|
|
4
|
+
import { extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
5
|
+
import { SyncPeer_V1 } from '../sync-peer-v1.mjs';
|
|
6
|
+
import { GLOBAL_LOG_A_LOT } from '../../../core-constants.mjs';
|
|
7
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
8
|
+
/**
|
|
9
|
+
* Http Sender Peer implementation.
|
|
10
|
+
* Sends Context to a remote server utilizing POST for uplink and SSE for downlink.
|
|
11
|
+
*/
|
|
12
|
+
export class SyncPeerHttpSender_V1 extends SyncPeer_V1 {
|
|
13
|
+
lc = `[${SyncPeerHttpSender_V1.name}]`;
|
|
14
|
+
get classname() {
|
|
15
|
+
return SyncPeerHttpSender_V1.name;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Stored reference to the SSE EventSource connection.
|
|
19
|
+
* Ensure you polyfill EventSource in Node environments if needed.
|
|
20
|
+
*/
|
|
21
|
+
eventSource;
|
|
22
|
+
constructor(initialData, initialRel8ns) {
|
|
23
|
+
super(initialData, initialRel8ns);
|
|
24
|
+
}
|
|
25
|
+
async sendContextRequest(context) {
|
|
26
|
+
const lc = `${this.lc}[${this.sendContextRequest.name}]`;
|
|
27
|
+
try {
|
|
28
|
+
if (logalot) {
|
|
29
|
+
console.log(`${lc} starting...`);
|
|
30
|
+
}
|
|
31
|
+
if (!this.data?.syncEventsRoute) {
|
|
32
|
+
throw new Error(`data.syncEventsRoute required.`);
|
|
33
|
+
}
|
|
34
|
+
if (!this.data?.syncRoute) {
|
|
35
|
+
throw new Error(`data.syncRoute required.`);
|
|
36
|
+
}
|
|
37
|
+
// 1. Establish SSE connection to `this.data.syncEventsRoute` if not already open
|
|
38
|
+
// (In a real implementation, you might initialize this elsewhere or ensure it stays reconnecting)
|
|
39
|
+
if (!this.eventSource) {
|
|
40
|
+
if (logalot) {
|
|
41
|
+
console.log(`${lc} initializing EventSource to ${this.data.syncEventsRoute}`);
|
|
42
|
+
}
|
|
43
|
+
this.eventSource = new EventSource(this.data.syncEventsRoute);
|
|
44
|
+
this.eventSource.onerror = (err) => console.error(`${lc} EventSource error:`, err);
|
|
45
|
+
}
|
|
46
|
+
return new Promise(async (resolve, reject) => {
|
|
47
|
+
// 2. Setup listeners for SSE incoming context and ibgib payloads
|
|
48
|
+
const onMessage = async (event) => {
|
|
49
|
+
try {
|
|
50
|
+
const parsedData = JSON.parse(event.data);
|
|
51
|
+
// TODO [USER]: Determine if `parsedData` is a domain payload ibGib OR the final response context.
|
|
52
|
+
// e.g.:
|
|
53
|
+
// if (parsedData.isDomainIbGib) {
|
|
54
|
+
// // Deserialize to IbGib_V1
|
|
55
|
+
// const ibGib = parsedData;
|
|
56
|
+
// await this.payloadIbGibsDomainReceived$.next(ibGib);
|
|
57
|
+
// } else if (parsedData.isResponseContext) {
|
|
58
|
+
// // Deserialize to SyncSagaContextIbGib_V1
|
|
59
|
+
// const responseContext = parsedData;
|
|
60
|
+
// this.eventSource?.removeEventListener('message', onMessage);
|
|
61
|
+
// resolve(responseContext);
|
|
62
|
+
// }
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
console.error(`${lc} failed to parse SSE message`, e);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
this.eventSource.addEventListener('message', onMessage);
|
|
69
|
+
try {
|
|
70
|
+
// 3. Serialize Context and Control IbGibs
|
|
71
|
+
// TODO [USER]: Serialize the `context` and `controlIbGibs` into your wire format
|
|
72
|
+
const payloadBody = JSON.stringify({
|
|
73
|
+
context: context,
|
|
74
|
+
// controlIbGibs: ...
|
|
75
|
+
});
|
|
76
|
+
// 4. POST the context to `this.data.syncRoute`
|
|
77
|
+
if (!this.data) {
|
|
78
|
+
throw new Error(`(UNEXPECTED) this.data falsy? (E: 8c6aa9e1aa7869465a26ee3a7d136826)`);
|
|
79
|
+
}
|
|
80
|
+
const response = await fetch(this.data.syncRoute, {
|
|
81
|
+
method: 'POST',
|
|
82
|
+
headers: {
|
|
83
|
+
'Content-Type': 'application/json',
|
|
84
|
+
// Add Authorization headers here if needed
|
|
85
|
+
},
|
|
86
|
+
body: payloadBody,
|
|
87
|
+
});
|
|
88
|
+
if (!response.ok) {
|
|
89
|
+
throw new Error(`HTTP Sync Error: ${response.status} ${await response.text()}`);
|
|
90
|
+
}
|
|
91
|
+
// 5. Wait for the SSE stream response to resolve with the responseContext
|
|
92
|
+
// The Promise will remain pending until `onMessage` identifies the final response context and calls resolve().
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
this.eventSource?.removeEventListener('message', onMessage);
|
|
96
|
+
reject(e);
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
console.error(`${lc} ${extractErrorMsg(error)}`);
|
|
102
|
+
throw error;
|
|
103
|
+
}
|
|
104
|
+
finally {
|
|
105
|
+
if (logalot) {
|
|
106
|
+
console.log(`${lc} complete.`);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=sync-peer-http-sender-v1.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-peer-http-sender-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-http-sender/sync-peer-http-sender-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-peer-http.respec
|
|
3
|
+
*
|
|
4
|
+
* Verifies SyncSagaCoordinator using a mock HTTP/SSE "thin layer".
|
|
5
|
+
* This utilizes SyncPeerHttpSender_V1 and SyncPeerHttpReceiver_V1 for network synchronization simulations.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=sync-peer-http.respec.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-peer-http.respec.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-http.respec.mts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-peer-http.respec
|
|
3
|
+
*
|
|
4
|
+
* Verifies SyncSagaCoordinator using a mock HTTP/SSE "thin layer".
|
|
5
|
+
* This utilizes SyncPeerHttpSender_V1 and SyncPeerHttpReceiver_V1 for network synchronization simulations.
|
|
6
|
+
*/
|
|
7
|
+
import * as cp from 'child_process';
|
|
8
|
+
import * as fs from 'fs';
|
|
9
|
+
import * as path from 'path';
|
|
10
|
+
import { respecfully, iReckon, ifWeMight } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
11
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
12
|
+
import { delay, extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
13
|
+
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
14
|
+
import { GLOBAL_LOG_A_LOT } from '../../core-constants.mjs';
|
|
15
|
+
import { SyncSagaCoordinator } from '../sync-saga-coordinator.mjs';
|
|
16
|
+
import { getFromSpace, putInSpace, registerNewIbGib } from '../../witness/space/space-helper.mjs';
|
|
17
|
+
import { Metaspace_Innerspace } from '../../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
18
|
+
import { InnerSpace_V1 } from '../../witness/space/inner-space/inner-space-v1.mjs';
|
|
19
|
+
import { createTimelineRootTestHelper, getTestKeystoneServiceHelper } from '../../test-helpers.mjs';
|
|
20
|
+
import { mut8Timeline, } from '../../timeline/timeline-api.mjs';
|
|
21
|
+
import { DEFAULT_INNER_SPACE_DATA_V1 } from '../../witness/space/inner-space/inner-space-types.mjs';
|
|
22
|
+
import { toDto } from '../../common/other/ibgib-helper.mjs';
|
|
23
|
+
import { getSyncSagaFrameDependencyGraph } from '../sync-helpers.mjs';
|
|
24
|
+
import { SyncPeerHttpSender_V1 } from './sync-peer-http-sender/sync-peer-http-sender-v1.mjs';
|
|
25
|
+
import { SyncPeerHttpReceiver_V1 } from './sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs';
|
|
26
|
+
import { SyncHttpNodeAdapter_V1 } from './sync-peer-http-receiver/sync-http-node-adapter.mjs';
|
|
27
|
+
const logalot = GLOBAL_LOG_A_LOT;
|
|
28
|
+
const lc = `[sync-peer-http.respec]`;
|
|
29
|
+
await respecfully(sir, `Sync HTTP Peers`, async () => {
|
|
30
|
+
let metaspace;
|
|
31
|
+
let sourceSpace;
|
|
32
|
+
let destSpace;
|
|
33
|
+
// We focus this test initially for development
|
|
34
|
+
await ifWeMight(sir, `Basic Push Sync over Mocked HTTP/SSE`, async () => {
|
|
35
|
+
// 1. Setup Spaces
|
|
36
|
+
metaspace = new Metaspace_Innerspace(undefined);
|
|
37
|
+
await metaspace.initialize({
|
|
38
|
+
getFnAlert: () => async ({ title, msg }) => { console.log(`[Alert] ${title}: ${msg}`); },
|
|
39
|
+
getFnPrompt: () => async ({ title, msg }) => { console.log(`[Prompt] ${title}: ${msg}`); return ''; },
|
|
40
|
+
getFnPromptPassword: () => async (title, msg) => { console.log(`[PromptPwd] ${title}: ${msg}`); return null; },
|
|
41
|
+
});
|
|
42
|
+
while (!metaspace.initialized) {
|
|
43
|
+
await delay(10);
|
|
44
|
+
}
|
|
45
|
+
const defaultLocalUserSpace = await metaspace.getLocalUserSpace({ lock: false });
|
|
46
|
+
if (!defaultLocalUserSpace) {
|
|
47
|
+
throw new Error(`(UNEXPECTED) defaultLocalUserSpace falsy?`);
|
|
48
|
+
}
|
|
49
|
+
await defaultLocalUserSpace.initialized;
|
|
50
|
+
sourceSpace = new InnerSpace_V1({
|
|
51
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
52
|
+
name: 'source',
|
|
53
|
+
uuid: 'source_uuid',
|
|
54
|
+
description: 'source test space',
|
|
55
|
+
});
|
|
56
|
+
await sourceSpace.initialized;
|
|
57
|
+
destSpace = new InnerSpace_V1({
|
|
58
|
+
...DEFAULT_INNER_SPACE_DATA_V1,
|
|
59
|
+
name: 'dest',
|
|
60
|
+
uuid: 'dest_uuid',
|
|
61
|
+
description: 'dest test space',
|
|
62
|
+
});
|
|
63
|
+
await destSpace.initialized;
|
|
64
|
+
// 2. Seed Source Data
|
|
65
|
+
if (logalot) {
|
|
66
|
+
console.log(`${lc} Creating data in Source...`);
|
|
67
|
+
}
|
|
68
|
+
const root = await createTimelineRootTestHelper({
|
|
69
|
+
ib: 'timeline_root',
|
|
70
|
+
data: { type: 'root', },
|
|
71
|
+
space: sourceSpace,
|
|
72
|
+
});
|
|
73
|
+
const child = await mut8Timeline({
|
|
74
|
+
timeline: root,
|
|
75
|
+
mut8Opts: {
|
|
76
|
+
dataToAddOrPatch: { type: 'child', },
|
|
77
|
+
},
|
|
78
|
+
metaspace,
|
|
79
|
+
space: sourceSpace,
|
|
80
|
+
});
|
|
81
|
+
const childAddr = getIbGibAddr({ ibGib: child });
|
|
82
|
+
// 3. Setup Coordinators & Peer
|
|
83
|
+
if (logalot) {
|
|
84
|
+
console.log(`${lc} Setting up Coordinators...`);
|
|
85
|
+
}
|
|
86
|
+
const mockKeystone = await getTestKeystoneServiceHelper();
|
|
87
|
+
const senderCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
88
|
+
const receiverCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
89
|
+
// --- Mocking the HTTP "Network" ---
|
|
90
|
+
// Instead of real fetch and EventSource, we wire the Sender's outgoing HTTP
|
|
91
|
+
// calls directly to the Receiver's incoming endpoints.
|
|
92
|
+
const receiverPeerData = { classname: SyncPeerHttpReceiver_V1.name };
|
|
93
|
+
const receiverPeer = new SyncPeerHttpReceiver_V1(receiverPeerData);
|
|
94
|
+
await receiverPeer.initialized;
|
|
95
|
+
await receiverPeer.initializeOpts({
|
|
96
|
+
localCoordinator: receiverCoordinator,
|
|
97
|
+
localMetaspace: metaspace,
|
|
98
|
+
localSpace: destSpace,
|
|
99
|
+
});
|
|
100
|
+
// We'll subclass/monkey-patch the Sender peer to use mock fetching
|
|
101
|
+
class MockSyncPeerHttpSender extends SyncPeerHttpSender_V1 {
|
|
102
|
+
async sendContextRequest(context) {
|
|
103
|
+
// Mock POST /sync/frame
|
|
104
|
+
// Real sender would serialize and POST. Here we just hand it to receiver:
|
|
105
|
+
const responsePromise = new Promise(async (resolve, reject) => {
|
|
106
|
+
try {
|
|
107
|
+
const rel8ns = context.rel8ns;
|
|
108
|
+
if (!rel8ns || (rel8ns.sagaFrame || []).length !== 1) {
|
|
109
|
+
throw new Error(`(UNEXPECTED) context.rel8ns.sagaFrame missing?`);
|
|
110
|
+
}
|
|
111
|
+
const sagaAddr = rel8ns.sagaFrame[0];
|
|
112
|
+
const getSagaRes = await getFromSpace({ addr: sagaAddr, space: sourceSpace });
|
|
113
|
+
const sagaFrame = getSagaRes.ibGibs[0];
|
|
114
|
+
const { msgStones, identities } = await getSyncSagaFrameDependencyGraph({
|
|
115
|
+
sagaIbGib: sagaFrame,
|
|
116
|
+
localSpace: sourceSpace,
|
|
117
|
+
});
|
|
118
|
+
const msg = msgStones[0];
|
|
119
|
+
const controlIbGibs = [...identities, msg, sagaFrame, context].filter(x => !!x).map(x => toDto({ ibGib: x }));
|
|
120
|
+
// The Server Adapter calls receiverPeer.handleIncomingSyncRequest
|
|
121
|
+
const responseContext = await receiverPeer.handleIncomingSyncRequest({
|
|
122
|
+
context,
|
|
123
|
+
controlIbGibs
|
|
124
|
+
});
|
|
125
|
+
if (!responseContext) {
|
|
126
|
+
resolve(undefined);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
// **Mock the Server Adapter returning data**
|
|
130
|
+
// Real server would stream the newly evolved Control Context ibgibs to SSE,
|
|
131
|
+
// followed by the response domain payload ibgibs.
|
|
132
|
+
// We must MANUALLY persist the control ibgibs to the sender space FIRST,
|
|
133
|
+
// to simulate the client downloading and validating them from the SSE connection.
|
|
134
|
+
await delay(100);
|
|
135
|
+
const responseSagaAddr = responseContext.rel8ns.sagaFrame[0];
|
|
136
|
+
const getResponseSagaRes = await getFromSpace({ addr: responseSagaAddr, space: destSpace });
|
|
137
|
+
const responseSagaFrame = getResponseSagaRes.ibGibs[0];
|
|
138
|
+
const depGraphResponse = await getSyncSagaFrameDependencyGraph({
|
|
139
|
+
sagaIbGib: responseSagaFrame,
|
|
140
|
+
localSpace: destSpace,
|
|
141
|
+
});
|
|
142
|
+
const responseControlIbGibs = [
|
|
143
|
+
...identities, // ORIGINAL identities, not the receiver's!
|
|
144
|
+
depGraphResponse.msgStones[0],
|
|
145
|
+
responseSagaFrame,
|
|
146
|
+
context
|
|
147
|
+
].filter(x => !!x).map(x => toDto({ ibGib: x }));
|
|
148
|
+
for (const ibGib of responseControlIbGibs) {
|
|
149
|
+
await putInSpace({ space: sourceSpace, ibGibs: [ibGib] });
|
|
150
|
+
await registerNewIbGib({ ibGib, space: sourceSpace, fnBroadcast: undefined });
|
|
151
|
+
}
|
|
152
|
+
await delay(5); // Simulate end of SSE task event
|
|
153
|
+
// Resolve with the responseContext
|
|
154
|
+
resolve(responseContext);
|
|
155
|
+
// THEN simulate streaming the domain payload ibgibs to the local subject
|
|
156
|
+
if (responseContext.payloadIbGibsDomain) {
|
|
157
|
+
new Promise(async (resDom) => {
|
|
158
|
+
for (const domainIbGib of responseContext.payloadIbGibsDomain) {
|
|
159
|
+
await delay(1); // emulate network gap between SSE events
|
|
160
|
+
await this.payloadIbGibsDomainReceived$.next(domainIbGib);
|
|
161
|
+
}
|
|
162
|
+
resDom();
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
catch (e) {
|
|
167
|
+
reject(e);
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
return responsePromise;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const senderPeerData = {
|
|
174
|
+
classname: SyncPeerHttpSender_V1.name,
|
|
175
|
+
syncRoute: 'http://mock/sync/frame',
|
|
176
|
+
syncEventsRoute: 'http://mock/sync/events'
|
|
177
|
+
};
|
|
178
|
+
const senderPeer = new MockSyncPeerHttpSender(senderPeerData);
|
|
179
|
+
await senderPeer.initialized;
|
|
180
|
+
// We configure localSpace and a senderTempSpace for the mock:
|
|
181
|
+
const senderTempSpace = new InnerSpace_V1({
|
|
182
|
+
...DEFAULT_INNER_SPACE_DATA_V1, name: 'sender_temp', uuid: 'sender_temp_uuid'
|
|
183
|
+
});
|
|
184
|
+
await senderTempSpace.initialized;
|
|
185
|
+
await senderPeer.initializeOpts({
|
|
186
|
+
localSpace: sourceSpace,
|
|
187
|
+
localTempSpace: senderTempSpace
|
|
188
|
+
});
|
|
189
|
+
// 4. Run Sync
|
|
190
|
+
if (logalot) {
|
|
191
|
+
console.log(`${lc} Running Sync...`);
|
|
192
|
+
}
|
|
193
|
+
try {
|
|
194
|
+
const resSync = await senderCoordinator.sync({
|
|
195
|
+
peer: senderPeer,
|
|
196
|
+
localSpace: sourceSpace,
|
|
197
|
+
metaspace: metaspace,
|
|
198
|
+
domainIbGibs: [child], // Sync the child
|
|
199
|
+
useSessionIdentity: false, // Testing logic only
|
|
200
|
+
});
|
|
201
|
+
await resSync.done;
|
|
202
|
+
iReckon(sir, true).asTo('Mocked request ran').isGonnaBeTrue();
|
|
203
|
+
// We now expect the entire saga to complete because handleIncomingSyncRequest works
|
|
204
|
+
let childInDest = await getFromSpace({ addr: childAddr, space: destSpace });
|
|
205
|
+
iReckon(sir, childInDest.success).asTo('Child is correctly pushed to destination space').isGonnaBeTrue();
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
console.error(`${lc}[senderCoordinator.sync] FULL ERROR:`, error.stack || error.message || error);
|
|
209
|
+
// Will fail initially because handleIncomingSyncRequest is not implemented
|
|
210
|
+
iReckon(sir, false).asTo(`Unexpected error: ${extractErrorMsg(error)}`).isGonnaBeTrue();
|
|
211
|
+
}
|
|
212
|
+
});
|
|
213
|
+
await respecfully(sir, `Real Sync via Local HTTP/2 Node Adapter with Self-Signed Certs`, async () => {
|
|
214
|
+
// 1. Generate Self-Signed Certs via OpenSSL or PowerShell
|
|
215
|
+
const tmpDir = path.join(process.cwd(), 'tmp-certs');
|
|
216
|
+
const keyPath = path.join(tmpDir, 'server.key');
|
|
217
|
+
const certPath = path.join(tmpDir, 'server.cert');
|
|
218
|
+
const pfxPath = path.join(tmpDir, 'server.pfx');
|
|
219
|
+
let hasTlsGenerator = false;
|
|
220
|
+
let isWin = process.platform === 'win32';
|
|
221
|
+
if (isWin) {
|
|
222
|
+
hasTlsGenerator = true;
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
try {
|
|
226
|
+
cp.execSync('openssl version', { stdio: 'ignore' });
|
|
227
|
+
hasTlsGenerator = true;
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
console.warn(`${lc} OpenSSL not found in PATH. Skipping HTTP/2 Native test.`);
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
if (hasTlsGenerator) {
|
|
234
|
+
if (!fs.existsSync(tmpDir)) {
|
|
235
|
+
fs.mkdirSync(tmpDir, { recursive: true });
|
|
236
|
+
}
|
|
237
|
+
let keyInfo;
|
|
238
|
+
let certInfo;
|
|
239
|
+
let pfxInfo;
|
|
240
|
+
if (isWin) {
|
|
241
|
+
if (!fs.existsSync(pfxPath)) {
|
|
242
|
+
if (logalot) {
|
|
243
|
+
console.log(`${lc} Generating self-signed cert via PowerShell...`);
|
|
244
|
+
}
|
|
245
|
+
const psScript = `
|
|
246
|
+
$cert = New-SelfSignedCertificate -CertStoreLocation "Cert:\\CurrentUser\\My" -Subject "localhost" -KeyExportPolicy Exportable -NotAfter (Get-Date).AddDays(1)
|
|
247
|
+
$pwd = ConvertTo-SecureString -String "testpass" -Force -AsPlainText
|
|
248
|
+
Export-PfxCertificate -Cert $cert -FilePath "${pfxPath.replace(/\\/g, '\\\\')}" -Password $pwd
|
|
249
|
+
Remove-Item -Path $cert.PSPath
|
|
250
|
+
`;
|
|
251
|
+
cp.execSync(`powershell -Command "${psScript.replace(/\n/g, '; ')}"`, { stdio: 'ignore' });
|
|
252
|
+
}
|
|
253
|
+
pfxInfo = fs.readFileSync(pfxPath);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
if (!fs.existsSync(keyPath) || !fs.existsSync(certPath)) {
|
|
257
|
+
if (logalot) {
|
|
258
|
+
console.log(`${lc} Generating self-signed cert...`);
|
|
259
|
+
}
|
|
260
|
+
cp.execSync(`openssl req -x509 -newkey rsa:2048 -nodes -keyout ${keyPath} -out ${certPath} -days 1 -subj "/CN=localhost"`, { stdio: 'ignore' });
|
|
261
|
+
}
|
|
262
|
+
keyInfo = fs.readFileSync(keyPath);
|
|
263
|
+
certInfo = fs.readFileSync(certPath);
|
|
264
|
+
}
|
|
265
|
+
// Bypass self-signed cert rejection in Node fetch
|
|
266
|
+
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
|
267
|
+
// 2. Setup Spaces
|
|
268
|
+
metaspace = new Metaspace_Innerspace(undefined);
|
|
269
|
+
await metaspace.initialize({
|
|
270
|
+
getFnAlert: () => async () => { },
|
|
271
|
+
getFnPrompt: () => async () => '',
|
|
272
|
+
getFnPromptPassword: () => async () => null,
|
|
273
|
+
});
|
|
274
|
+
while (!metaspace.initialized) {
|
|
275
|
+
await delay(10);
|
|
276
|
+
}
|
|
277
|
+
const defaultLocalUserSpace = await metaspace.getLocalUserSpace({ lock: false });
|
|
278
|
+
await defaultLocalUserSpace?.initialized;
|
|
279
|
+
sourceSpace = new InnerSpace_V1({ ...DEFAULT_INNER_SPACE_DATA_V1, name: 'source_h2', uuid: 'source_h2_uuid' });
|
|
280
|
+
await sourceSpace.initialized;
|
|
281
|
+
destSpace = new InnerSpace_V1({ ...DEFAULT_INNER_SPACE_DATA_V1, name: 'dest_h2', uuid: 'dest_h2_uuid' });
|
|
282
|
+
await destSpace.initialized;
|
|
283
|
+
// 3. Setup Node Adapter & Receiver
|
|
284
|
+
const mockKeystone = await getTestKeystoneServiceHelper();
|
|
285
|
+
const receiverCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
286
|
+
const receiverPeer = new SyncPeerHttpReceiver_V1({ classname: SyncPeerHttpReceiver_V1.name });
|
|
287
|
+
await receiverPeer.initialized;
|
|
288
|
+
await receiverPeer.initializeOpts({
|
|
289
|
+
localCoordinator: receiverCoordinator,
|
|
290
|
+
localMetaspace: metaspace,
|
|
291
|
+
localSpace: destSpace,
|
|
292
|
+
});
|
|
293
|
+
const port = 8443;
|
|
294
|
+
const adapter = new SyncHttpNodeAdapter_V1({
|
|
295
|
+
receiverPeer,
|
|
296
|
+
port,
|
|
297
|
+
key: keyInfo,
|
|
298
|
+
cert: certInfo,
|
|
299
|
+
pfx: pfxInfo,
|
|
300
|
+
passphrase: 'testpass',
|
|
301
|
+
basePath: '/sync'
|
|
302
|
+
});
|
|
303
|
+
await adapter.start();
|
|
304
|
+
// 4. Test the Adapter Connection
|
|
305
|
+
if (logalot) {
|
|
306
|
+
console.log(`${lc} Pinging the HTTP/2 Adapter via POST...`);
|
|
307
|
+
}
|
|
308
|
+
// Create a dummy context structure just to appease the parser and prove connection success
|
|
309
|
+
const testContext = { classname: 'SyncSagaContextIbGib_V1', rel8ns: {}, data: {} };
|
|
310
|
+
const payloadBody = JSON.stringify({ context: testContext, controlIbGibs: [] });
|
|
311
|
+
try {
|
|
312
|
+
const res = await fetch(`https://localhost:${port}/sync/frame`, {
|
|
313
|
+
method: 'POST',
|
|
314
|
+
headers: { 'Content-Type': 'application/json', 'x-client-id': 'test-123' },
|
|
315
|
+
body: payloadBody
|
|
316
|
+
});
|
|
317
|
+
await ifWeMight(sir, 'check http2 adapter', async () => {
|
|
318
|
+
iReckon(sir, res.ok).asTo('Successfully reached HTTP/2 Adapter via POST').isGonnaBeTrue();
|
|
319
|
+
});
|
|
320
|
+
// The receiver peer inside the adapter will throw a normal logged warning about invalid saga formats from our dummy context,
|
|
321
|
+
// but the HTTP transport should respond 200 OK, verifying the http2 server is cleanly bound!
|
|
322
|
+
}
|
|
323
|
+
catch (err) {
|
|
324
|
+
console.error(`${lc} HTTP/2 test failed:`, err);
|
|
325
|
+
iReckon(sir, false).asTo('HTTP/2 Adapter POST should not throw').isGonnaBeTrue();
|
|
326
|
+
}
|
|
327
|
+
finally {
|
|
328
|
+
await adapter.stop();
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
});
|
|
333
|
+
//# sourceMappingURL=sync-peer-http.respec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync-peer-http.respec.mjs","sourceRoot":"","sources":["../../../src/sync/sync-peer/sync-peer-http.respec.mts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-innerspace-v1.d.mts","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAG,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAA6B,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACjK,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAShE;;;GAGG;AACH,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC5E;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,iBAAiB,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,gCAAgC,CACnF,YAAW,0BAA0B;IAErC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;IAEzD,IAAa,SAAS,IAAI,MAAM,CAE/B;gBAGG,WAAW,EAAE,yBAAyB,EACtC,aAAa,CAAC,EAAE,2BAA2B;
|
|
1
|
+
{"version":3,"file":"sync-peer-innerspace-v1.d.mts","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAG,MAAM,qDAAqD,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAA6B,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AACjK,OAAO,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAShE;;;GAGG;AACH,MAAM,WAAW,gCAAiC,SAAQ,sBAAsB;IAC5E;;OAEG;IACH,mBAAmB,EAAE,mBAAmB,CAAC;IACzC;;OAEG;IACH,iBAAiB,EAAE,gBAAgB,CAAC;IACpC;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC;IAC7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,aAAa,CAAC;CACrC;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW,CAAC,gCAAgC,CACnF,YAAW,0BAA0B;IAErC,SAAS,CAAC,EAAE,EAAE,MAAM,CAAqC;IAEzD,IAAa,SAAS,IAAI,MAAM,CAE/B;gBAGG,WAAW,EAAE,yBAAyB,EACtC,aAAa,CAAC,EAAE,2BAA2B;cAK/B,uBAAuB,IAAI,OAAO,CAAC,aAAa,CAAC;cAkCjD,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,GAAG,SAAS,CAAC;CAyMrH"}
|
|
@@ -73,7 +73,8 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
73
73
|
if (!this.opts) {
|
|
74
74
|
throw new Error(`(UNEXPECTED) this.opts falsy? (E: d8b1348e3233810128999596b1fa5826)`);
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
await this.ensureReceiverTempSpace();
|
|
77
|
+
const { localSpace, localTempSpace, receiverSpace, receiverCoordinator, receiverMetaspace, receiverTempSpace } = this.opts;
|
|
77
78
|
if (logalot) {
|
|
78
79
|
console.log(`${lc} starting...Context: ${getIbGibAddr({ ibGib: context })}`);
|
|
79
80
|
}
|
|
@@ -101,8 +102,8 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
101
102
|
if (!receiverTempSpace) {
|
|
102
103
|
throw new Error(`(UNEXPECTED) receiverTempSpace falsy? (E: 3b46d838f6fc645c58b29215bfddb826)`);
|
|
103
104
|
}
|
|
104
|
-
if (!
|
|
105
|
-
throw new Error(`(UNEXPECTED)
|
|
105
|
+
if (!localTempSpace) {
|
|
106
|
+
throw new Error(`(UNEXPECTED) localTempSpace falsy? (E: b187a8f913c2295ae90d7ae2b47b6a26)`);
|
|
106
107
|
}
|
|
107
108
|
// #endregion sanity validation assertions
|
|
108
109
|
// let localSpace: IbGibSpaceAny;
|
|
@@ -122,7 +123,7 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
122
123
|
// }
|
|
123
124
|
const { sagaIbGib: _alreadyHave, msgStones, identities } = await getSyncSagaFrameDependencyGraph({
|
|
124
125
|
sagaIbGib: sagaFrame,
|
|
125
|
-
localSpace:
|
|
126
|
+
localSpace: localSpace,
|
|
126
127
|
});
|
|
127
128
|
if (msgStones.length !== 1) {
|
|
128
129
|
throw new Error(`(UNEXPECTED) msgStones.length !== 1? we're only geared for a single msg stone that is always present (not 0, not greater than 1) (E: 2d3138ed130f1aca116551889483e826)`);
|
|
@@ -173,11 +174,16 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
173
174
|
// at this time, the receiver has received the control ibgibs AND
|
|
174
175
|
// the payload ibgibs. so the receiver coordinator should be ready
|
|
175
176
|
// to do its thing.
|
|
177
|
+
const identitySecret = context.fnIdentitySecret ?
|
|
178
|
+
await context.fnIdentitySecret() :
|
|
179
|
+
undefined;
|
|
176
180
|
const responseCtx = await receiverCoordinator.continueSync({
|
|
177
181
|
sagaContext: context,
|
|
178
182
|
metaspace: receiverMetaspace,
|
|
179
183
|
mySpace: receiverSpace,
|
|
180
184
|
myTempSpace: receiverTempSpace,
|
|
185
|
+
identity: context.signedSessionKeystone,
|
|
186
|
+
identitySecret,
|
|
181
187
|
});
|
|
182
188
|
if (logalot) {
|
|
183
189
|
console.log(`${lc} receiverCoordinator.continueSync responseCtx: ${responseCtx ? pretty(responseCtx) : 'undefined'} (I: fb2831decde1f2b3589021f85ab19126)`);
|
|
@@ -211,13 +217,13 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
211
217
|
// ...put into sender's durable space
|
|
212
218
|
await putInSpace({
|
|
213
219
|
ibGibs: responsePayloadIbGibsControl,
|
|
214
|
-
space:
|
|
220
|
+
space: localSpace,
|
|
215
221
|
});
|
|
216
222
|
// register yet??
|
|
217
223
|
for (const control of responsePayloadIbGibsControl) {
|
|
218
224
|
await registerNewIbGib({
|
|
219
225
|
ibGib: control,
|
|
220
|
-
space:
|
|
226
|
+
space: localSpace,
|
|
221
227
|
fnBroadcast: undefined
|
|
222
228
|
});
|
|
223
229
|
}
|
|
@@ -238,7 +244,7 @@ export class SyncPeerInnerspace_V1 extends SyncPeer_V1 {
|
|
|
238
244
|
}
|
|
239
245
|
await putInSpace_dnasThenNonDnas({
|
|
240
246
|
ibGibs: payloadIbGibsDomain_response,
|
|
241
|
-
space:
|
|
247
|
+
space: localTempSpace,
|
|
242
248
|
});
|
|
243
249
|
for (const payloadDomain of payloadIbGibsDomain_response) {
|
|
244
250
|
await this.payloadIbGibsDomainReceived$.next(payloadDomain);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-peer-innerspace-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAU,MAAM,iDAAiD,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAMvF,OAAO,EAAE,+BAA+B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AACrG,OAAO,EAAE,KAAK,EAAE,MAAM,wCAAwC,CAAC;AAG/D,MAAM,OAAO,GAAG,gBAAgB,CAAC;AACjC,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAyB1C;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,WAA6C;IAG1E,EAAE,GAAW,IAAI,qBAAqB,CAAC,IAAI,GAAG,CAAC;IAEzD,IAAa,SAAS;QAClB,OAAO,qBAAqB,CAAC,IAAI,CAAC;IACtC,CAAC;IAED,YACI,WAAsC,EACtC,aAA2C;QAE3C,KAAK,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IACtC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-peer-innerspace-v1.mjs","sourceRoot":"","sources":["../../../../src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts"],"names":[],"mappings":"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"}
|
|
@@ -30,20 +30,20 @@ export interface SyncPeerIbGib_V1 extends IbGib_V1<SyncPeerData_V1, SyncPeerRel8
|
|
|
30
30
|
*/
|
|
31
31
|
export interface InitializeSyncPeerOpts {
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* local durable space.
|
|
34
34
|
*
|
|
35
35
|
* will store control ibgibs (context, sync saga ibgib, control msg stones)
|
|
36
|
-
* here (and in {@link
|
|
36
|
+
* here (and in {@link localTempSpace}) throughout the process for audit trail.
|
|
37
37
|
*/
|
|
38
|
-
|
|
38
|
+
localSpace: IbGibSpaceAny;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* local temporary space for the entire sync transaction.
|
|
41
41
|
*
|
|
42
42
|
* In addition to control ibgibs which are stored in both temp and durable
|
|
43
43
|
* spaces, this temp space will be where domain ibgibs are stored that are
|
|
44
44
|
* received/created throughout the transaction until commit.
|
|
45
45
|
*/
|
|
46
|
-
|
|
46
|
+
localTempSpace?: IbGibSpaceAny;
|
|
47
47
|
}
|
|
48
48
|
/**
|
|
49
49
|
* The interface for the SyncPeer witness class.
|