@ibgib/core-gib 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/sync/sync-innerspace-constants.respec.d.mts +8 -0
  2. package/dist/sync/sync-innerspace-constants.respec.d.mts.map +1 -0
  3. package/dist/sync/sync-innerspace-constants.respec.mjs +116 -0
  4. package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -0
  5. package/dist/sync/sync-innerspace-deep-updates.respec.mjs +2 -2
  6. package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
  7. package/dist/sync/sync-innerspace-dest-ahead.respec.mjs +3 -3
  8. package/dist/sync/sync-innerspace-dest-ahead.respec.mjs.map +1 -1
  9. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs +2 -2
  10. package/dist/sync/sync-innerspace-multiple-timelines.respec.mjs.map +1 -1
  11. package/dist/sync/sync-innerspace-partial-update.respec.d.mts +7 -0
  12. package/dist/sync/sync-innerspace-partial-update.respec.d.mts.map +1 -0
  13. package/dist/sync/sync-innerspace-partial-update.respec.mjs +116 -0
  14. package/dist/sync/sync-innerspace-partial-update.respec.mjs.map +1 -0
  15. package/dist/sync/sync-innerspace.respec.mjs +5 -5
  16. package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
  17. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  18. package/dist/sync/sync-saga-coordinator.mjs +159 -8
  19. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  20. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts +7 -0
  21. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/sync/sync-innerspace-constants.respec.mts +133 -0
  24. package/src/sync/sync-innerspace-deep-updates.respec.mts +1 -1
  25. package/src/sync/sync-innerspace-dest-ahead.respec.mts +2 -2
  26. package/src/sync/sync-innerspace-multiple-timelines.respec.mts +1 -1
  27. package/src/sync/sync-innerspace-partial-update.respec.mts +150 -0
  28. package/src/sync/sync-innerspace.respec.mts +4 -4
  29. package/src/sync/sync-saga-coordinator.mts +173 -9
  30. package/src/sync/sync-saga-message/sync-saga-message-types.mts +5 -0
  31. package/tmp.md +426 -375
@@ -305,7 +305,7 @@ export class SyncSagaCoordinator {
305
305
  const result = await this.handleSagaFrame({
306
306
  sagaIbGib: remoteFrame,
307
307
  srcGraph,
308
- space: tempSpace,
308
+ space: localSpace, // Must be localSpace (Source) to find domain data
309
309
  identity: sessionIdentity,
310
310
  metaspace
311
311
  });
@@ -481,8 +481,31 @@ export class SyncSagaCoordinator {
481
481
  if (!initData || !initData.knowledgeVector) {
482
482
  throw new Error(`${lc} Invalid init frame: missing knowledgeVector (E: ed02c869e028d2d06841b9c7f80f2826)`);
483
483
  }
484
- // Stones Analysis
485
- // TODO: Handle stones separately if needed, though they are usually dependencies of timelines.
484
+ // 2. Gap Analysis
485
+ const conflicts = [];
486
+ const conflictStrategy = initData.conflictStrategy || 'abort'; // Default to abort if not specified, or we should parameterize this
487
+ const deltaReqAddrs = [];
488
+ const pushOfferAddrs = [];
489
+ // Stones Analysis (Constants / Non-TJPs)
490
+ const stones = initData.stones || [];
491
+ if (stones.length > 0) {
492
+ if (logalot) {
493
+ console.log(`${lc} processing stones: ${stones.length}`);
494
+ }
495
+ // Check if we have these stones
496
+ const resStones = await getFromSpace({ space, addrs: stones });
497
+ const addrsNotFound = resStones.rawResultIbGib?.data?.addrsNotFound;
498
+ if (addrsNotFound && addrsNotFound.length > 0) {
499
+ if (logalot) {
500
+ console.log(`${lc} stones missing (requesting): ${addrsNotFound.length}`);
501
+ }
502
+ addrsNotFound.forEach(addr => {
503
+ if (!deltaReqAddrs.includes(addr)) {
504
+ deltaReqAddrs.push(addr);
505
+ }
506
+ });
507
+ }
508
+ }
486
509
  const remoteKV = initData.knowledgeVector;
487
510
  if (logalot) {
488
511
  console.log(`${lc} remoteKV: ${pretty(remoteKV)} (I: 9f957862356dfeae183c200854e86e26)`);
@@ -511,10 +534,6 @@ export class SyncSagaCoordinator {
511
534
  }
512
535
  }
513
536
  // 2. Gap Analysis
514
- const conflicts = [];
515
- const conflictStrategy = initData.conflictStrategy || 'abort'; // Default to abort if not specified, or we should parameterize this
516
- const deltaReqAddrs = [];
517
- const pushOfferAddrs = [];
518
537
  for (const tjp of remoteTjps) {
519
538
  const remoteAddr = remoteKV[tjp];
520
539
  const localAddr = localKV[tjp];
@@ -600,6 +619,85 @@ export class SyncSagaCoordinator {
600
619
  });
601
620
  return { frame: conflictFrame };
602
621
  }
622
+ // 2. Add Push Offers (Missing in Local)
623
+ // Check if we have them. If not, ask for them.
624
+ for (const addr of pushOfferAddrs) {
625
+ const hasIt = await getFromSpace({ addr, space });
626
+ if (!hasIt.success || !hasIt.ibGibs || hasIt.ibGibs.length === 0) {
627
+ // If we don't have it, we put it in `deltaReqAddrs` of the Ack.
628
+ deltaReqAddrs.push(addr);
629
+ }
630
+ }
631
+ // 3. Build Knowledge Vector (Full History for known timelines)
632
+ // [NEW] Smart Diff
633
+ // We iterate over all relevant addresses (deltas we are requesting OR push offers we might have newer versions of).
634
+ // Since we are "reacting" to Init, we primarily want to tell the Sender what we DO have for the things they talked about.
635
+ const knowledgeVector = {};
636
+ const relevantAddrs = new Set([...pushOfferAddrs, ...deltaReqAddrs]);
637
+ // [Smart Diff] Populate knowledge from timelines identified by Sender
638
+ for (const tjp of remoteTjps) {
639
+ const localAddr = localKV[tjp];
640
+ if (localAddr) {
641
+ const res = await getFromSpace({ addr: localAddr, space });
642
+ if (res.success && res.ibGibs?.[0]) {
643
+ const ibGib = res.ibGibs[0];
644
+ const realTjp = ibGib.rel8ns?.tjp?.[0] || getIbGibAddr({ ibGib }); // Should match `tjp` if normalized
645
+ if (!knowledgeVector[realTjp]) {
646
+ const past = ibGib.rel8ns?.past || [];
647
+ knowledgeVector[realTjp] = [getIbGibAddr({ ibGib }), ...past];
648
+ }
649
+ }
650
+ }
651
+ }
652
+ // [Smart Diff] Also check individual requested addresses (Fall back for constants/unknown TJPs)
653
+ for (const addr of relevantAddrs) {
654
+ // Only process if not already covered by TJP logic above
655
+ // We can't really know if it's covered easily without resolving.
656
+ // But if we don't have it (requesting), we won't find it here anyway.
657
+ // If we DO have it (push offer), we might find it.
658
+ const res = await getFromSpace({ addr, space });
659
+ if (res.success && res.ibGibs?.[0]) {
660
+ const ibGib = res.ibGibs[0];
661
+ const tjpAddr = ibGib.rel8ns?.tjp?.[0] || getIbGibAddr({ ibGib });
662
+ if (!knowledgeVector[tjpAddr]) {
663
+ const past = ibGib.rel8ns?.past || [];
664
+ knowledgeVector[tjpAddr] = [getIbGibAddr({ ibGib }), ...past];
665
+ }
666
+ }
667
+ else {
668
+ // We don't have `addr`.
669
+ }
670
+ }
671
+ // Also populate from `knowledgeVector` in Init if we want bidirectional?
672
+ // No, `Init` doesn't have `knowledgeVector` in `SyncSagaMessageInitData` yet (it has `SyncInitData` generic props).
673
+ // Let's assume standard flow:
674
+ // 1. Sender says "I have X"
675
+ // 2. Receiver says "I don't have X. But if I did have Y (ancestor), I'd tell you."
676
+ // Problem: Receiver doesn't know X is related to Y without X.
677
+ // SOLUTION:
678
+ // The *Sender* must include TJP/Past info in `Init`? Or `pushOfferAddrs` should be richer?
679
+ // OR: Receiver does a check.
680
+ // Wait, if Sender sends V2, it's just an address.
681
+ // If Receiver doesn't have it, it's opaque.
682
+ // REVISIT "Constant / No TJP" logic:
683
+ // IF we are testing "Sender Newer", meaning Sender has V2, Receiver has V1.
684
+ // Sender calls `sync([V2])`. Init Frame contains `stones: [V2_Address]`.
685
+ // Receiver checks V2_Address. Not found.
686
+ // Receiver requests V2.
687
+ // Receiver sends Ack(DeltaReq: [V2], Knowledge: {}).
688
+ // Sender receives Ack. Sender sends V2 *AND* its deps (V1, Root).
689
+ // Receiver has V1. Sender sends V1 anyway.
690
+ // This is "Naive Deep Sync".
691
+ // TO ACHIEVE "Smart Diff":
692
+ // Receiver needs to know "Oh, V2 is a timeline tip of TJP_A".
693
+ // If Sender doesn't send TJP info, Receiver is blind.
694
+ // Proposed Fix (Short Term):
695
+ // `SyncInitData` should include TJP mappings or we rely on `knowledgeVector` in `Init`?
696
+ // `SyncSagaMessageInitData_V1` extends `SyncInitData`.
697
+ // `SyncInitData` has `knowledgeVector`.
698
+ // If Sender populates `knowledgeVector` in `Init`, Receiver can use keys (TJPs) to look up its own state!
699
+ // Let's implement Sender populating `Init.knowledgeVector`.
700
+ // But `SyncSagaCoordinator.startSaga` creates Init.
603
701
  // 3. Create Ack Frame
604
702
  const sagaId = sagaIbGib.data.uuid;
605
703
  // Create Payload Stone
@@ -608,6 +706,7 @@ export class SyncSagaCoordinator {
608
706
  stage: SyncStage.ack,
609
707
  deltaReqAddrs,
610
708
  pushOfferAddrs,
709
+ knowledgeVector,
611
710
  };
612
711
  const ackStone = await this.createSyncMsgStone({
613
712
  data: ackData,
@@ -666,7 +765,16 @@ export class SyncSagaCoordinator {
666
765
  }
667
766
  }
668
767
  // 2. Process Delta Requests (Push Payload)
768
+ // [NEW] Smart Diff: Use knowledgeVector to skip dependencies
769
+ const skipAddrs = new Set();
770
+ if (ackData.knowledgeVector) {
771
+ Object.values(ackData.knowledgeVector).forEach(addrs => {
772
+ addrs.forEach(a => skipAddrs.add(a));
773
+ });
774
+ }
669
775
  const payloadIbGibs = [];
776
+ // Gather all tips to sync first
777
+ const tipsToSync = [];
670
778
  for (const addr of deltaReqAddrs) {
671
779
  let ibGib = srcGraph[addr];
672
780
  if (!ibGib) {
@@ -676,12 +784,55 @@ export class SyncSagaCoordinator {
676
784
  }
677
785
  }
678
786
  if (ibGib) {
679
- payloadIbGibs.push(ibGib);
787
+ tipsToSync.push(ibGib);
680
788
  }
681
789
  else {
682
790
  throw new Error(`${lc} Requested addr not found: ${addr} (E: d41d59cff4a887f6414c3e92eabd8e26)`);
683
791
  }
684
792
  }
793
+ // Calculate Dependency Graph for ALL tips, effectively utilizing common history
794
+ // Pass skipAddrs to `getDependencyGraph` or gather manually.
795
+ // `getDependencyGraph` takes a single ibGib.
796
+ // We can optimize by doing it for each tip and unioning the result?
797
+ // Or `graph-helper` could support `ibGibs: []`. It currently takes `ibGib`.
798
+ // We will loop.
799
+ const allDepsSet = new Set();
800
+ for (const tip of tipsToSync) {
801
+ // Always include the tip itself
802
+ const tipAddr = getIbGibAddr({ ibGib: tip });
803
+ // Only process if not skipped (though deltaReq implies they barely just asked for it)
804
+ // But detailed deps might be skipped.
805
+ // Get Graph with Skips
806
+ // Logic: "Give me everything related to Tip, EXCEPT X, Y, Z"
807
+ const deps = await getDependencyGraph({
808
+ ibGib: tip,
809
+ space,
810
+ skipAddrs: Array.from(skipAddrs)
811
+ });
812
+ // [FIX] Ensure Tip is included if not in deps (e.g. constant with no rel8ns)
813
+ let tipIncluded = false;
814
+ if (deps) {
815
+ Object.values(deps).forEach(d => {
816
+ const dAddr = getIbGibAddr({ ibGib: d });
817
+ if (!allDepsSet.has(dAddr)) {
818
+ allDepsSet.add(dAddr);
819
+ payloadIbGibs.push(d);
820
+ }
821
+ if (dAddr === tipAddr) {
822
+ tipIncluded = true;
823
+ }
824
+ });
825
+ }
826
+ if (!tipIncluded && !skipAddrs.has(tipAddr)) {
827
+ if (logalot) {
828
+ console.log(`${lc} Tip not in deps, adding explicitly: ${tipAddr}`);
829
+ }
830
+ if (!allDepsSet.has(tipAddr)) {
831
+ allDepsSet.add(tipAddr);
832
+ payloadIbGibs.push(tip);
833
+ }
834
+ }
835
+ }
685
836
  // 3. Create Delta Frame
686
837
  const sagaId = ackData.sagaId;
687
838
  const deltaData = {
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-coordinator.mjs","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync-saga-coordinator.mjs","sourceRoot":"","sources":["../../src/sync/sync-saga-coordinator.mts"],"names":[],"mappings":"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"}
@@ -29,6 +29,13 @@ export interface SyncSagaMessageAckData_V1 extends SyncSagaMessageData_V1 {
29
29
  stage: typeof SyncStage.ack;
30
30
  deltaReqAddrs: string[];
31
31
  pushOfferAddrs: string[];
32
+ /**
33
+ * Map of group keys (TJP or Constant Addr) to list of known addresses (Full History).
34
+ * Used by Sender to calculate differential payloads.
35
+ */
36
+ knowledgeVector?: {
37
+ [groupKey: string]: string[];
38
+ };
32
39
  }
33
40
  export interface SyncSagaMessageDeltaData_V1 extends SyncSagaMessageData_V1, SyncDeltaData {
34
41
  stage: typeof SyncStage.delta;
@@ -1 +1 @@
1
- {"version":3,"file":"sync-saga-message-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-saga-message/sync-saga-message-types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAY,oBAAoB,EAAE,YAAY,EAAmB,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjI,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,kBAAkB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,cAAc;CAG/D;AAED,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;CAAI;AAM/G,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,EAAE,YAAY;IACpF,KAAK,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACrE,KAAK,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB,EAAE,aAAa;IACtF,KAAK,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB,EAAE,cAAc;IACxF,KAAK,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;IAC1E,KAAK,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP"}
1
+ {"version":3,"file":"sync-saga-message-types.d.mts","sourceRoot":"","sources":["../../../src/sync/sync-saga-message/sync-saga-message-types.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAY,oBAAoB,EAAE,YAAY,EAAmB,aAAa,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACjI,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,OAAO,kBAAkB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAuB,SAAQ,YAAY;IACxD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,cAAc;CAG/D;AAED,MAAM,WAAW,uBAAwB,SAAQ,QAAQ,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;CAAI;AAM/G,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,EAAE,YAAY;IACpF,KAAK,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC;IAC7B,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,sBAAsB;IACrE,KAAK,EAAE,OAAO,SAAS,CAAC,GAAG,CAAC;IAC5B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,eAAe,CAAC,EAAE;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,CAAC;CACtD;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB,EAAE,aAAa;IACtF,KAAK,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,4BAA6B,SAAQ,sBAAsB,EAAE,cAAc;IACxF,KAAK,EAAE,OAAO,SAAS,CAAC,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,8BAA+B,SAAQ,sBAAsB;IAC1E,KAAK,EAAE,OAAO,SAAS,CAAC,QAAQ,CAAC;IACjC,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,EAAE,CAAC;CACP"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibgib/core-gib",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "description": "ibgib core functionality, including base architecture for witnesses, spaces, apps, robbots, etc., as well as shared utility functions. Node v19+ needed for heavily-used isomorphic webcrypto hashing consumed in both node and browsers.",
5
5
  "funding": {
6
6
  "type": "individual",
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @module sync-innerspace-constants.respec
3
+ *
4
+ * Verifies syncing "Constants" (ibGibs without timelines/TJPs).
5
+ * Also verifies Smart Diff behavior (Constants shouldn't be re-sent).
6
+ */
7
+
8
+ import {
9
+ respecfully, ifWeMight, iReckon, ifWe
10
+ } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
11
+ const maam = `[${import.meta.url}]`, sir = maam;
12
+ import { delay } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
13
+ import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
14
+ import { Factory_V1 } from '@ibgib/ts-gib/dist/V1/index.mjs';
15
+
16
+ import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
17
+ import { putInSpace, getFromSpace } from '../witness/space/space-helper.mjs';
18
+ import { Metaspace_Innerspace } from '../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
19
+ import { SyncPeerInnerspace_V1 } from './sync-peer/sync-peer-innerspace-v1.mjs';
20
+ import { InnerSpace_V1 } from '../witness/space/inner-space/inner-space-v1.mjs';
21
+ import { DEFAULT_INNER_SPACE_DATA_V1 } from '../witness/space/inner-space/inner-space-types.mjs';
22
+ import { getTestKeystoneServiceHelper } from '../agent-helpers.mjs';
23
+
24
+ const lc = `[sync-innerspace-constants.respec]`;
25
+
26
+ await respecfully(sir, `Sync Constants (No TJP)`, async () => {
27
+
28
+ await ifWeMight(sir, `Verify Constants Sync`, async () => {
29
+ // 1. Setup Spaces
30
+ const metaspace = new Metaspace_Innerspace(undefined);
31
+ await metaspace.initialize({
32
+ getFnAlert: () => async ({ title, msg }) => { },
33
+ getFnPrompt: () => async ({ title, msg }) => { return ''; },
34
+ getFnPromptPassword: () => async (title, msg) => { return null; },
35
+ });
36
+ while (!metaspace.initialized) { await delay(10); }
37
+
38
+ const sourceSpace = new InnerSpace_V1({
39
+ ...DEFAULT_INNER_SPACE_DATA_V1,
40
+ name: 'source',
41
+ uuid: 'source_uuid',
42
+ description: 'source test space',
43
+ });
44
+ await sourceSpace.initialized;
45
+
46
+ const destSpace = new InnerSpace_V1({
47
+ ...DEFAULT_INNER_SPACE_DATA_V1,
48
+ name: 'dest',
49
+ uuid: 'dest_uuid',
50
+ description: 'dest test space',
51
+ });
52
+ await destSpace.initialized;
53
+
54
+ // 2. Create Constant (C1) in Source
55
+ // Factory_V1.constant returns Promise<IbGib_V1>, not { newIbGib: ... }
56
+ const c1 = await Factory_V1.constant({
57
+ ib: 'constant_c1',
58
+ parentPrimitiveIb: 'root',
59
+ data: { some: 'data' },
60
+ });
61
+ const addrC1 = getIbGibAddr({ ibGib: c1 });
62
+ await putInSpace({ space: sourceSpace, ibGibs: [c1] });
63
+
64
+ const checkDest1 = await getFromSpace({ space: destSpace, addr: addrC1 });
65
+ iReckon(sir, checkDest1.success).asTo('Dest initially does not have C1').isGonnaBeFalse();
66
+
67
+ // 3. Setup Coordinator
68
+ const mockKeystone = await getTestKeystoneServiceHelper();
69
+ const senderCoordinator = new SyncSagaCoordinator(mockKeystone);
70
+ const receiverCoordinator = new SyncSagaCoordinator(mockKeystone);
71
+
72
+ const peer = new SyncPeerInnerspace_V1({
73
+ senderSpace: sourceSpace,
74
+ receiverSpace: destSpace,
75
+ receiverCoordinator: receiverCoordinator,
76
+ receiverMetaspace: metaspace,
77
+ });
78
+
79
+ // 4. Sync C1 (First Pass)
80
+ let resSync = await senderCoordinator.sync({
81
+ peer: peer,
82
+ localSpace: sourceSpace,
83
+ metaspace: metaspace,
84
+ domainIbGibs: [c1],
85
+ useSessionIdentity: false,
86
+ });
87
+ await resSync.done;
88
+ iReckon(sir, true).asTo('Sync execution 1 completes').isGonnaBeTrue();
89
+
90
+ // Verify C1 in Dest
91
+ const getC1Dest = await getFromSpace({ space: destSpace, addr: addrC1 });
92
+ iReckon(sir, getC1Dest.success && !!getC1Dest.ibGibs![0]).asTo('Dest has C1 after sync').isGonnaBeTrue();
93
+
94
+ // 5. Sync C1 (Second Pass - Idempotency / Smart Diff)
95
+ // Should NOT send payload again.
96
+ resSync = await senderCoordinator.sync({
97
+ peer: peer,
98
+ localSpace: sourceSpace,
99
+ metaspace: metaspace,
100
+ domainIbGibs: [c1],
101
+ useSessionIdentity: false,
102
+ });
103
+ await resSync.done;
104
+ iReckon(sir, true).asTo('Sync execution 2 (idempotent) completes').isGonnaBeTrue();
105
+
106
+ // 6. Create "Constant with Dependency" (C2 -> C1)
107
+ const c2 = await Factory_V1.constant({
108
+ ib: 'constant_c2',
109
+ parentPrimitiveIb: 'root',
110
+ rel8ns: {
111
+ link: [addrC1], // C2 links to C1
112
+ },
113
+ });
114
+ const addrC2 = getIbGibAddr({ ibGib: c2 });
115
+ await putInSpace({ space: sourceSpace, ibGibs: [c2] });
116
+
117
+ // Sync C2
118
+ resSync = await senderCoordinator.sync({
119
+ peer: peer,
120
+ localSpace: sourceSpace,
121
+ metaspace: metaspace,
122
+ domainIbGibs: [c2],
123
+ useSessionIdentity: false,
124
+ });
125
+ await resSync.done;
126
+ iReckon(sir, true).asTo('Sync C2 completes').isGonnaBeTrue();
127
+
128
+ // Verify C2 in Dest
129
+ const getC2Dest = await getFromSpace({ space: destSpace, addr: addrC2 });
130
+ iReckon(sir, getC2Dest.success).asTo('Dest has C2').isGonnaBeTrue();
131
+
132
+ });
133
+ });
@@ -126,7 +126,7 @@ await respecfully(sir, `Sync InnerSpaces (Deep Updates)`, async () => {
126
126
  // 5. Verify Dest
127
127
  console.log(`${lc} Verifying Destination...`);
128
128
 
129
- await ifWeMight(sir, `verify deep timeline present`, async () => {
129
+ await ifWe(sir, `verify deep timeline present`, async () => {
130
130
  // Verify Tip (V2)
131
131
  const getV2 = await getFromSpace({ space: destSpace, addr: addrV2 });
132
132
  iReckon(sir, getV2.success).asTo('Tip V2 present').isGonnaBeTrue();
@@ -98,7 +98,7 @@ await respecfully(sir, `Sync InnerSpaces (Dest Ahead)`, async () => {
98
98
  });
99
99
  const addrV2 = getIbGibAddr({ ibGib: v2 });
100
100
 
101
- await ifWeMight(sir, 'verify setup', async () => {
101
+ await ifWe(sir, 'verify setup', async () => {
102
102
  // Ensure V2 is ONLY in Dest (it is, per `space: destSpace`)
103
103
  // Ensure Source does NOT have V2
104
104
  const checkV2InSource = await getFromSpace({ space: sourceSpace, addr: addrV2 });
@@ -132,7 +132,7 @@ await respecfully(sir, `Sync InnerSpaces (Dest Ahead)`, async () => {
132
132
  // 5. Verify Dest (Should still have V2 as latest)
133
133
  console.log(`${lc} Verifying Destination...`);
134
134
 
135
- await ifWeMight(sir, `verify dest stays ahead`, async () => {
135
+ await ifWe(sir, `verify dest stays ahead`, async () => {
136
136
  // Verify Tip (V2)
137
137
  const getV2 = await getFromSpace({ space: destSpace, addr: addrV2 });
138
138
  iReckon(sir, getV2.success).asTo('V2 still present in Dest').isGonnaBeTrue();
@@ -127,7 +127,7 @@ await respecfully(sir, `Sync InnerSpaces (Multiple Timelines)`, async () => {
127
127
  // 5. Verify Dest
128
128
  console.log(`${lc} Verifying Destination...`);
129
129
 
130
- await ifWeMight(sir, `verify timelines present`, async () => {
130
+ await ifWe(sir, `verify timelines present`, async () => {
131
131
  // Verify A
132
132
  const getA = await getFromSpace({ space: destSpace, addr: addrA });
133
133
  iReckon(sir, getA.success).asTo('Timeline A present').isGonnaBeTrue();