@ibgib/core-gib 0.1.9 → 0.1.11
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/agent-helpers.d.mts +36 -0
- package/dist/agent-helpers.d.mts.map +1 -0
- package/dist/agent-helpers.mjs +133 -0
- package/dist/agent-helpers.mjs.map +1 -0
- package/dist/keystone/keystone-config-builder.respec.mjs +4 -4
- package/dist/keystone/keystone-config-builder.respec.mjs.map +1 -1
- package/dist/keystone/keystone-service-v1.respec.mjs +65 -62
- package/dist/keystone/keystone-service-v1.respec.mjs.map +1 -1
- package/dist/sync/sync-constants.d.mts +17 -0
- package/dist/sync/sync-constants.d.mts.map +1 -0
- package/dist/sync/sync-constants.mjs +16 -0
- package/dist/sync/sync-constants.mjs.map +1 -0
- package/dist/sync/sync-helpers.d.mts +15 -0
- package/dist/sync/sync-helpers.d.mts.map +1 -0
- package/dist/sync/sync-helpers.mjs +46 -0
- package/dist/sync/sync-helpers.mjs.map +1 -0
- package/dist/sync/sync-innerspace.respec.d.mts +8 -0
- package/dist/sync/sync-innerspace.respec.d.mts.map +1 -0
- package/dist/sync/sync-innerspace.respec.mjs +120 -0
- package/dist/sync/sync-innerspace.respec.mjs.map +1 -0
- package/dist/sync/sync-local-spaces.respec.d.mts +2 -0
- package/dist/sync/sync-local-spaces.respec.d.mts.map +1 -0
- package/dist/sync/sync-local-spaces.respec.mjs +159 -0
- package/dist/sync/sync-local-spaces.respec.mjs.map +1 -0
- package/dist/sync/sync-saga-coordinator.d.mts +118 -0
- package/dist/sync/sync-saga-coordinator.d.mts.map +1 -0
- package/dist/sync/sync-saga-coordinator.mjs +399 -0
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -0
- package/dist/sync/sync-saga-coordinator.respec.d.mts +2 -0
- package/dist/sync/sync-saga-coordinator.respec.d.mts.map +1 -0
- package/dist/sync/sync-saga-coordinator.respec.mjs +40 -0
- package/dist/sync/sync-saga-coordinator.respec.mjs.map +1 -0
- package/dist/sync/sync-types.d.mts +103 -0
- package/dist/sync/sync-types.d.mts.map +1 -0
- package/dist/sync/sync-types.mjs +2 -0
- package/dist/sync/sync-types.mjs.map +1 -0
- package/dist/test/mock-space.d.mts +39 -0
- package/dist/test/mock-space.d.mts.map +1 -0
- package/dist/test/mock-space.mjs +79 -0
- package/dist/test/mock-space.mjs.map +1 -0
- package/dist/timeline/timeline-api.respec.d.mts +7 -0
- package/dist/timeline/timeline-api.respec.d.mts.map +1 -0
- package/dist/timeline/timeline-api.respec.mjs +183 -0
- package/dist/timeline/timeline-api.respec.mjs.map +1 -0
- package/dist/witness/space/inner-space/inner-space-v1.respec.mjs +163 -201
- package/dist/witness/space/inner-space/inner-space-v1.respec.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-base.d.mts.map +1 -1
- package/dist/witness/space/metaspace/metaspace-base.mjs +33 -5
- package/dist/witness/space/metaspace/metaspace-base.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.d.mts.map +1 -1
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mjs +3 -2
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.respec.d.mts +7 -0
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.respec.d.mts.map +1 -0
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.respec.mjs +67 -0
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.respec.mjs.map +1 -0
- package/dist/witness/space/space-helper.d.mts.map +1 -1
- package/dist/witness/space/space-helper.mjs +43 -4
- package/dist/witness/space/space-helper.mjs.map +1 -1
- package/dist/witness/space/space-helper.respec.d.mts +2 -0
- package/dist/witness/space/space-helper.respec.d.mts.map +1 -0
- package/dist/witness/space/space-helper.respec.mjs +30 -0
- package/dist/witness/space/space-helper.respec.mjs.map +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/017DF612D9A86192706EE567B059C489EC8DA0B2B558166EFE61F75D8BF1ECEE/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/0EF68E1CA839A24CAEDB224A8AF92F258BD1F364A97E708705150595B3F67985/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/12EF728E4F98DDB89990D4CDAF3AC852729E804CE37E2041AF18CBA239328085/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/152DD42FA80FA6ABD0B4DAAAE9CE1AFCF94E649B210A08955DB8B86E09AF08BE/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/16A46B37492E2688088C69F237E5CDC4F4E8C1015CF8E66D044DC2FE115F6211/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/1F7942767491C1D740FFC87E046C2470697FE8D154806B51876C53E607B7F007/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/35754C7AD2967D57C34396084F1214343C48F9C1AAF1C11CDFB57B5CB95536F5/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/38CFD2C2DFD185FC1E5BEE8C55C8A4FFBD83B03F533B4F92537000C505939E39/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/43635745EEAE9EBD3426CC4AD88D2362DE15B2F8E4D1C694B3AE8687E8C6489D/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/5C4BCD98E1B3494CCFAC355D2C61025DCD43A1D3041E637ABDA83F0E1E7FA0BE/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/5FC1BCCA0F1EB6E656233401E330A7928BF58C09EF6B6B56EC69FCFAC0B3A47A/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/60B8ED34520992236C9E1859FAE4BA9DF206CC6BD75DA574E815EAF7B577C1BD/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/68B53978461355B04CA96CEE33E448CBC39CDEFEA8E907879C1D2E6A542672C4/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/6B62E238B88A3B5050DFF02AB91402C6702A822389315B4150308B774F5A0D01/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/6F7EC702F1109A564CFE009F634B27E5F82D6A309CF51B11F49846ABEEAD04B1/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/7AE69551608DB82E23DBA98CA7D059DF3F5C9E37174E581F7C154935F4362AA7/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/8C851E9DD394053BB50716EA6CDD07A48FA76AF5BB55513F898A18B2A4C64D1F/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/984DAD369079FEF2F83082F1CD944A432690F1CB0A5ECA9F009D50B385C4061A/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/C466B016831B11EEEC611208EDB50FD7BACD7E37D0037C0D1D78BD5B3D892794/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/C5D0AA2C7A2C01C52EFDF70242AA6CAAE06BCA80301A425D4E508E9ACD33DF44/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/CDDFD5D61010F7B15CFD78C49865C0134E8E037779DD80C6B4DED7DEB0D4CBB7/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/DDFAB26C3991470523BD7543D946A24A9CFEC9D5BEC197B7BD963E1507057A93/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/E174442450BBA2A570B0166CDF04844C3A5D1F7199DC59E0FA49F1BBACA47F5F/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/E6CE9621CF266A675DB7E3EBABD5D636E46E8006F116A0F7F0769B87DDDBFBB0/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 -1 1766860935000^7978FD0F9DD4EB6208A2D2113011F95E5C7EE80072BA3B7E4AC737CC771D621B.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 0 1766860935000^013C09075DF303BB5822FEEFE57F26B9F0DEE6DD382B116816FCDC2B7CAF0696.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 1 1766860935000^4EEBAD21A82BAC51A7B952DA32DACB37A653695D5D512A348CF15DB9B7DED5AC.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 10 1766860938000^84544F34B1297ED8F5FD4B437FCD4F1044FD0D40A0B270F8C7E79D89AA058DD6.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 11 1766860938000^023B07336455CD39B03DC52AF523DA19B588FD32ED7A4BB5BBE9ABE59ED75195.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 12 1766860939000^49685AA6F0064868886EBA984B072F6C63F92FC3315C29DDDF750D5B56E87D6B.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 13 1766860939000^A2475B1C99AC9F8B9A4D8B2BD8CB39A76FAA2E13AB2F7CEADA4AB02B42FF8BE4.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 14 1766860939000^2D0C93D837FFF096346E10F276BD1F08ECE4A2EC94BE9BC58759EBABAB1F2E42.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 15 1766860939000^4FA9AFA0EA50B833B342716C7745B9A39A7C0F9A09B4666CA67080A49EAB611B.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 16 1766860939000^A65760BEED125117DE7DF2F481A0F7CD250FFB579138ECC1A19C8401DAFCEB51.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 17 1766860940000^226FA64E1B4591C150F595D8408530502417C7FFEE3915589382F9C3B585053C.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 18 1766860940000^1ABF20687FB34275E0EE737538E7E5D4F15CDCB128C4F332043CB76AC78B0F05.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 19 1766860940000^89A44A1912B20AE873402C287CE09C4D41073F0A5B703CB22FD5272BB907FC19.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 2 1766860936000^A8D1C5244B85155B130EFCA9CF25185A9B7060F549603B993F2CA98FB269B178.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 20 1766860940000^72905A7F6A0A859003049827534B579BE090F0B6A221D14584745DAE6A999943.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 21 1766860948000^71168CE7419FFDB6E945655E1B3597A726111666C305EDA9A76D97FD7215E929.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 22 1766860967000^A5E8805E1AC44CF2A07606613DE14704BC1943268EFF48BF181E7216D8F07AA3.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 3 1766860936000^66806071E91EAC9E8F90A81700DD37FB56B7DFDE7B32FE47E142BAC58907173C.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 4 1766860937000^1A097ACE63079C7D91AC964F783834D172C41CD3FAD0D27A5B95DC6E1E5B7D6A.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 5 1766860937000^746153300B51309B664E4035E092CAE07F487A2B44D5DB79B770C7D9968D45CA.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 6 1766860937000^3F1EFF11C729D6175922400928667D3391E3D7B4B29CECD67987F3259A5003C5.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 7 1766860938000^D2867FC7F2A08C6678BAA320EE449F89E56D81EDC3BFFA79F9DA64BF98701014.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 8 1766860938000^AA9E5246E533F704E42BED13B878B830B91143AE71C8603FFCF187CF39904915.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 9 1766860938000^E4B12653516EB8690ED18ECFF3EA7AB5EA3FF70881D730F5859F193F5872DF15.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/test ib.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/04E79CE54F49DCEA75652ADF674DC9B21BA641944AD97ED7ED1369CF3A880E8D/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/0647EB78DB2C48AF3AE9D3EF7989A3DDA1A797D04BE18DB1210B3504BC39BA4E/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/08B4A7A62BC7DE27C180A3F70FA7C6C8F9728A98E79B200D9B2EE2D11E62CD97/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/0B2FEF92D3630CDFDD14C453DDDA288478022CEB778E0BB4ACC9C9511C770A39/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/3757E01592FABCA5D139026F156318A7F86AC097CC10ABA243D4E665EB3550C5/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/3A66623B180568E2AE3E95BD6C48684E765B6B8C2147A4DD13426B6808AC2567/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/3EADB84024E06764489225E537F285BF7F7F85C3ACC013F0FCB28B79E227DE2D/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/471A5F0BA13425E3412A376452549E5158CD5516C4E005872A50A10D7390CF12/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/6E6EA2A701C3AC1B5BCD766F39C59BA7BC5139AAF0EB5E9DE8814F77C4A192A7/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/7EF033B1C3C39C05359C89C301DEE7365F6F7A816776F6A0E540CE1A212CD612/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/834AECEDC108F37DADA5BD3583FA9C1E612AFA3FFFB1153CA0CD2F51239AD93F/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/8CA9BDE2ED96C7C8039D5AF78AEF620A985E32352238DEACACC7E2329006B9B9/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/90C61CC1159B21E9FE686C06D5C76FF6F5236F8C7D39CC183B8C81CE36471D9C/fork.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/A89842F2240358AEC12AE59014A14875AB6FC5C8EF2A5C50D8BD92EB5F54F4B6/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/B10FBD60588500D94D6CDA19E5E24DF7F4C3EDF66368E5875F13C4BFF9A8FD03/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/B5A0CAF33ACC64A57647ADD18B4F0CAD820F427819BB4615567131994D0399AB/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/C0223AA1B3B147E3AFC4233C60025BE4C975652EBF77C24D8B8FABC413594137/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/D07097470D6970574C539E1E16AEFCE0A3A67987C7554C9EEFA7204D6D1D81D4/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/D92466D1FCE56DB0828A2509590DDA0040FF250FD4FCE7F3E45B5D84887C83F0/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/E035FDD6BDD26B164AF5AD675D0567BC0FFB6E10E14BAFA6617EDB536EE162B9/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/E8B2955902784AFC4B4A251C771EC770D94234440C8B02C63B12628C29447069/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/EF9D3619C817B27EC4402BC215D08CC95A83E5042F4FC35AE2E737AC33B05629/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/F0D5006EF21791D68460DB0111983602EC450BBFFB3E47134D357A1BCD9FBD15/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/F15D698186AADD2BA9F3028F4F84630505D06220AB6482381FB35755AFC77E5F/mut8.json +1 -0
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/F1913D9CF3C4F2CDE56C39EA86F8EB9A65D8FA22750DACD2B496EF27D88DE260/mut8.json +1 -0
- package/package.json +2 -2
- package/src/agent-helpers.mts +159 -0
- package/src/keystone/keystone-config-builder.respec.mts +3 -3
- package/src/keystone/keystone-service-v1.respec.mts +66 -60
- package/src/sync/sync-constants.mts +24 -0
- package/src/sync/sync-helpers.mts +59 -0
- package/src/sync/sync-innerspace.respec.mts +144 -0
- package/src/sync/sync-local-spaces.respec.mts +200 -0
- package/src/sync/sync-saga-coordinator.mts +477 -0
- package/src/sync/sync-saga-coordinator.respec.mts +52 -0
- package/src/sync/sync-types.mts +120 -0
- package/src/test/mock-space.mts +85 -0
- package/src/timeline/timeline-api.respec.mts +237 -0
- package/src/witness/space/inner-space/inner-space-v1.respec.mts +181 -228
- package/src/witness/space/metaspace/metaspace-base.mts +31 -5
- package/src/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.mts +4 -2
- package/src/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.respec.mts +90 -0
- package/src/witness/space/space-helper.mts +42 -4
- package/src/witness/space/space-helper.respec.mts +42 -0
- package/tmp.md +11 -0
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module sync-innerspace.respec
|
|
3
|
+
*
|
|
4
|
+
* Verifies SyncSagaCoordinator using InnerSpace (in-memory/local) spaces.
|
|
5
|
+
* This avoids disk I/O issues and focuses on the synchronization logic.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import {
|
|
9
|
+
respecfully, lastOfAll, ifWe, iReckon,
|
|
10
|
+
ifWeMight
|
|
11
|
+
} from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
12
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
13
|
+
|
|
14
|
+
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
15
|
+
import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
16
|
+
import { putInSpace, getFromSpace } 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 { createStoneHelper, createTimelineRootHelper, getTestKeystoneServiceHelper } from '../agent-helpers.mjs';
|
|
20
|
+
import { mut8Timeline, appendToTimeline } from '../timeline/timeline-api.mjs';
|
|
21
|
+
|
|
22
|
+
const logalot = true;
|
|
23
|
+
const lc = `[sync-innerspace.respec]`;
|
|
24
|
+
|
|
25
|
+
await respecfully(sir, `Sync InnerSpaces`, async () => {
|
|
26
|
+
|
|
27
|
+
let metaspace: Metaspace_Innerspace;
|
|
28
|
+
let sourceSpace: InnerSpace_V1;
|
|
29
|
+
let destSpace: InnerSpace_V1;
|
|
30
|
+
|
|
31
|
+
// Setup before each test? Or once?
|
|
32
|
+
// For now, let's just do it inside the test block to be safe/simple.
|
|
33
|
+
|
|
34
|
+
await ifWe(sir, `Basic Push Sync (Source -> Dest)`, async () => {
|
|
35
|
+
// await ifWeMight(sir, `Basic Push Sync (Source -> Dest)`, async () => {
|
|
36
|
+
// 1. Setup Spaces
|
|
37
|
+
metaspace = new Metaspace_Innerspace(undefined);
|
|
38
|
+
await metaspace.initialize({
|
|
39
|
+
getFnAlert: () => async ({ title, msg }) => { console.log(`[Alert] ${title}: ${msg}`); },
|
|
40
|
+
getFnPrompt: () => async ({ title, msg }) => { console.log(`[Prompt] ${title}: ${msg}`); return ''; },
|
|
41
|
+
getFnPromptPassword: () => async (title, msg) => { console.log(`[PromptPwd] ${title}: ${msg}`); return null; },
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
// Create two distinct inner spaces manually or via metaspace if supported
|
|
45
|
+
// Metaspace_Innerspace typically manages one local user space, but we can instantiate InnerSpace_V1 directly.
|
|
46
|
+
sourceSpace = new InnerSpace_V1({ name: 'source', uuid: 'source_uuid' } as any);
|
|
47
|
+
await (sourceSpace as any).initialize();
|
|
48
|
+
|
|
49
|
+
destSpace = new InnerSpace_V1({ name: 'dest', uuid: 'dest_uuid' } as any);
|
|
50
|
+
await (destSpace as any).initialize();
|
|
51
|
+
|
|
52
|
+
// 2. Seed Source Data
|
|
53
|
+
|
|
54
|
+
// 2.1 Create a "Stone"
|
|
55
|
+
console.log(`${lc} Creating Stone...`);
|
|
56
|
+
const stone = await createStoneHelper({
|
|
57
|
+
ib: 'stone_data',
|
|
58
|
+
data: { some: 'data' },
|
|
59
|
+
});
|
|
60
|
+
const stoneAddr = getIbGibAddr({ ibGib: stone });
|
|
61
|
+
await putInSpace({ space: sourceSpace, ibGibs: [stone] });
|
|
62
|
+
|
|
63
|
+
// 2.2 Create a "Living" Timeline (Root)
|
|
64
|
+
console.log(`${lc} Creating Timeline Root...`);
|
|
65
|
+
const root = await createTimelineRootHelper({
|
|
66
|
+
ib: 'timeline_root',
|
|
67
|
+
data: { type: 'root', n: 0 },
|
|
68
|
+
space: sourceSpace,
|
|
69
|
+
});
|
|
70
|
+
const rootAddr = getIbGibAddr({ ibGib: root });
|
|
71
|
+
|
|
72
|
+
// 2.3 Evolve Timeline (Root -> Child)
|
|
73
|
+
// using mut8Timeline to simulate evolution
|
|
74
|
+
console.log(`${lc} Evolving Timeline...`);
|
|
75
|
+
const child = await mut8Timeline({
|
|
76
|
+
timeline: root,
|
|
77
|
+
mut8Opts: {
|
|
78
|
+
dataToAddOrPatch: { type: 'child', n: 1 }
|
|
79
|
+
},
|
|
80
|
+
metaspace,
|
|
81
|
+
space: sourceSpace,
|
|
82
|
+
// We use skipLock=true for simplicity in single-threaded test setup if locking is complex,
|
|
83
|
+
// but timeline-api handles locking. Let's try default first.
|
|
84
|
+
// Actually InnerSpace locking might be no-op or simple.
|
|
85
|
+
});
|
|
86
|
+
const childAddr = getIbGibAddr({ ibGib: child });
|
|
87
|
+
|
|
88
|
+
// 2.4 Rel8 Child to Stone (Dependency)
|
|
89
|
+
console.log(`${lc} Linking Child to Stone...`);
|
|
90
|
+
const childWithRel = await appendToTimeline({
|
|
91
|
+
timeline: child,
|
|
92
|
+
rel8nInfos: [{
|
|
93
|
+
rel8nName: 'linked_stone',
|
|
94
|
+
ibGibs: [stone]
|
|
95
|
+
}],
|
|
96
|
+
metaspace,
|
|
97
|
+
space: sourceSpace,
|
|
98
|
+
});
|
|
99
|
+
const childWithRelAddr = getIbGibAddr({ ibGib: childWithRel });
|
|
100
|
+
|
|
101
|
+
// 3. Setup Sync Coordinator
|
|
102
|
+
console.log(`${lc} Setting up Coordinator...`);
|
|
103
|
+
const mockKeystone = await getTestKeystoneServiceHelper();
|
|
104
|
+
const identity = await (mockKeystone as any).getIdentity();
|
|
105
|
+
const coordinator = new SyncSagaCoordinator(mockKeystone);
|
|
106
|
+
|
|
107
|
+
// 4. Run Sync
|
|
108
|
+
console.log(`${lc} Running Sync...`);
|
|
109
|
+
const syncRes = await coordinator.sync({
|
|
110
|
+
source: sourceSpace,
|
|
111
|
+
dest: destSpace,
|
|
112
|
+
domainIbGibs: [childWithRel], // Sync starting from the tip
|
|
113
|
+
identity
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
// 5. Verify Dest
|
|
117
|
+
console.log(`${lc} Verifying Destination...`);
|
|
118
|
+
|
|
119
|
+
// Check Stone
|
|
120
|
+
const getStone = await getFromSpace({ space: destSpace, addr: stoneAddr });
|
|
121
|
+
iReckon(sir, getStone.success).asTo('getStone.success').isGonnaBeTrue();
|
|
122
|
+
iReckon(sir, getStone.ibGibs?.[0]).asTo('stone in dest').isGonnaBeTruthy();
|
|
123
|
+
console.log(`${lc} Verified Stone synced.`);
|
|
124
|
+
|
|
125
|
+
// Check Root (Dependency of Child)
|
|
126
|
+
const getRoot = await getFromSpace({ space: destSpace, addr: rootAddr });
|
|
127
|
+
iReckon(sir, getRoot.success).asTo('getRoot.success').isGonnaBeTrue();
|
|
128
|
+
iReckon(sir, getRoot.ibGibs?.[0]).asTo('root in dest').isGonnaBeTruthy();
|
|
129
|
+
console.log(`${lc} Verified Root synced.`);
|
|
130
|
+
|
|
131
|
+
// Check Child (Dependency of ChildWithRel)
|
|
132
|
+
const getChild = await getFromSpace({ space: destSpace, addr: childAddr });
|
|
133
|
+
iReckon(sir, getChild.success).asTo('getChild.success').isGonnaBeTrue();
|
|
134
|
+
iReckon(sir, getChild.ibGibs?.[0]).asTo('child in dest').isGonnaBeTruthy();
|
|
135
|
+
console.log(`${lc} Verified Child synced.`);
|
|
136
|
+
|
|
137
|
+
// Check ChildWithRel (The Tip)
|
|
138
|
+
const getChildWithRel = await getFromSpace({ space: destSpace, addr: childWithRelAddr });
|
|
139
|
+
iReckon(sir, getChildWithRel.success).asTo('getChildWithRel.success').isGonnaBeTrue();
|
|
140
|
+
iReckon(sir, getChildWithRel.ibGibs?.[0]).asTo('childWithRel in dest').isGonnaBeTruthy();
|
|
141
|
+
console.log(`${lc} Verified Timeline Tip synced.`);
|
|
142
|
+
|
|
143
|
+
});
|
|
144
|
+
});
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { rm } from 'node:fs/promises';
|
|
2
|
+
import { default as pathUtils } from 'path';
|
|
3
|
+
|
|
4
|
+
import {
|
|
5
|
+
respecfully, lastOfAll
|
|
6
|
+
} from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
7
|
+
const maam = `[${import.meta.url}]`, sir = maam;
|
|
8
|
+
|
|
9
|
+
import { Factory_V1 } from '@ibgib/ts-gib/dist/V1/factory.mjs';
|
|
10
|
+
import { rel8 } from '@ibgib/ts-gib/dist/V1/transforms/rel8.mjs';
|
|
11
|
+
import { getIbGibAddr, } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
12
|
+
import { IBGIB_ENCODING } from '../witness/space/filesystem-space/filesystem-constants.mjs';
|
|
13
|
+
import { NodeFilesystemSpace_V1 } from '../witness/space/filesystem-space/node-filesystem-space/node-filesystem-space-v1.mjs';
|
|
14
|
+
import { NodeFilesystemSpaceData_V1 } from '../witness/space/filesystem-space/node-filesystem-space/node-filesystem-space-types.mjs';
|
|
15
|
+
import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
16
|
+
import { SyncStage } from './sync-constants.mjs';
|
|
17
|
+
import { getTimestampInTicks, getUUID } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
18
|
+
import { GIB, IBGIB_DELIMITER } from '@ibgib/ts-gib/dist/V1/constants.mjs';
|
|
19
|
+
import { putInSpace, getFromSpace } from '../witness/space/space-helper.mjs';
|
|
20
|
+
import { KeystoneService_V1 } from '../keystone/keystone-service-v1.mjs';
|
|
21
|
+
import { KeystoneIbGib_V1 } from '../keystone/keystone-types.mjs';
|
|
22
|
+
import { mut8 } from '@ibgib/ts-gib/dist/V1/transforms/mut8.mjs';
|
|
23
|
+
|
|
24
|
+
const logalot = true;
|
|
25
|
+
const lc = `[sync-local-spaces.respec]`;
|
|
26
|
+
|
|
27
|
+
// Helper to create a temp space
|
|
28
|
+
const createTempSpace = async ({
|
|
29
|
+
baseDir,
|
|
30
|
+
name
|
|
31
|
+
}: {
|
|
32
|
+
baseDir: string,
|
|
33
|
+
name: string
|
|
34
|
+
}): Promise<NodeFilesystemSpace_V1> => {
|
|
35
|
+
const uuid = await getUUID();
|
|
36
|
+
const initialData: NodeFilesystemSpaceData_V1 = {
|
|
37
|
+
version: '1',
|
|
38
|
+
classname: NodeFilesystemSpace_V1.name,
|
|
39
|
+
uuid,
|
|
40
|
+
name,
|
|
41
|
+
description: `Temp space for ${name}`,
|
|
42
|
+
baseDir,
|
|
43
|
+
baseSubPath: 'ibgib', // keep short to avoid long path issues
|
|
44
|
+
spaceSubPath: name,
|
|
45
|
+
ibgibsSubPath: 'ibgibs',
|
|
46
|
+
metaSubPath: 'meta',
|
|
47
|
+
binSubPath: 'bin',
|
|
48
|
+
dnaSubPath: 'dna',
|
|
49
|
+
encoding: IBGIB_ENCODING,
|
|
50
|
+
mitigateLongPaths: true,
|
|
51
|
+
// other defaults
|
|
52
|
+
catchAllErrors: false,
|
|
53
|
+
trace: false,
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
// mimic constructor logic if needed, or just new it up
|
|
57
|
+
const space = new NodeFilesystemSpace_V1(initialData);
|
|
58
|
+
// Explicitly initialize if needed (based on findings, constructor calls super which calls initialize?
|
|
59
|
+
// Actually source had it commented out in ctor. Let's call it via a witness "put" which should verify initialization)
|
|
60
|
+
return space;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
// class MockKeystoneService implements KeystoneService_V1 {
|
|
64
|
+
// async getIdentity(): Promise<KeystoneIbGib_V1> {
|
|
65
|
+
// // Return a dummy identity
|
|
66
|
+
// const res = await Factory_V1.firstGen({
|
|
67
|
+
// ib: 'identity',
|
|
68
|
+
// data: { uuid: await getUUID() },
|
|
69
|
+
// dna: true,
|
|
70
|
+
// });
|
|
71
|
+
// return res.newIbGib as KeystoneIbGib_V1;
|
|
72
|
+
// }
|
|
73
|
+
// // Implement other methods as no-ops or simple mocks
|
|
74
|
+
// async sign(ibGib: any): Promise<any> { return ibGib; }
|
|
75
|
+
// async verify(ibGib: any): Promise<boolean> { return true; }
|
|
76
|
+
// // Add other required properties/methods of KeystoneService_V1 if any (checking interface might be needed)
|
|
77
|
+
// // Assuming for now these are the core ones used by Coordinator.
|
|
78
|
+
// // If strict interface, might need more.
|
|
79
|
+
// }
|
|
80
|
+
|
|
81
|
+
await respecfully(sir, `Sync Local Spaces`, async () => {
|
|
82
|
+
|
|
83
|
+
const TEST_ROOT = pathUtils.join(process.cwd(), 'tmp_sync_test_' + await getUUID());
|
|
84
|
+
|
|
85
|
+
lastOfAll(sir, async () => {
|
|
86
|
+
if (!logalot) {
|
|
87
|
+
await rm(TEST_ROOT, { recursive: true, force: true });
|
|
88
|
+
} else {
|
|
89
|
+
console.log(`${lc} Leaving TEST_ROOT for inspection: ${TEST_ROOT}`);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
await respecfully(sir, `Basic Push Sync (Source -> Dest)`, async () => {
|
|
94
|
+
// // 1. Setup Spaces
|
|
95
|
+
// const srcDir = pathUtils.join(TEST_ROOT, 'source');
|
|
96
|
+
// const destDir = pathUtils.join(TEST_ROOT, 'dest');
|
|
97
|
+
|
|
98
|
+
// const sourceSpace = await createTempSpace({ baseDir: srcDir, name: 'source' });
|
|
99
|
+
// const destSpace = await createTempSpace({ baseDir: destDir, name: 'dest' });
|
|
100
|
+
|
|
101
|
+
// // 2. Seed Source Data
|
|
102
|
+
// // 2.1 Create a "Stone" (Primitive-like or just immutable data)
|
|
103
|
+
// const stoneRes = await Factory_V1.firstGen({
|
|
104
|
+
// ib: 'stone_data',
|
|
105
|
+
// data: { some: 'data', timestamp: getTimestampInTicks() },
|
|
106
|
+
// dna: false,
|
|
107
|
+
// });
|
|
108
|
+
// const stone = stoneRes.newIbGib;
|
|
109
|
+
// const stoneAddr = getIbGibAddr({ ibGib: stone });
|
|
110
|
+
|
|
111
|
+
// // 2.2 Create a "Living" Timeline (Root -> Child)
|
|
112
|
+
// const rootRes = await Factory_V1.firstGen({
|
|
113
|
+
// ib: 'timeline_root',
|
|
114
|
+
// data: { type: 'root' },
|
|
115
|
+
// dna: true,
|
|
116
|
+
// });
|
|
117
|
+
// const root = rootRes.newIbGib;
|
|
118
|
+
// const rootAddr = getIbGibAddr({ ibGib: root });
|
|
119
|
+
|
|
120
|
+
// const childRes = await mut8({
|
|
121
|
+
// type: 'fork',
|
|
122
|
+
// src: root,
|
|
123
|
+
// dna: true,
|
|
124
|
+
// data: { type: 'child', n: 1 }
|
|
125
|
+
// });
|
|
126
|
+
// const child = childRes.newIbGib;
|
|
127
|
+
// const childAddr = getIbGibAddr({ ibGib: child });
|
|
128
|
+
|
|
129
|
+
// // Put into Source
|
|
130
|
+
// await putInSpace({
|
|
131
|
+
// space: sourceSpace,
|
|
132
|
+
// ibGibs: [stone, root, child]
|
|
133
|
+
// });
|
|
134
|
+
|
|
135
|
+
// // 3. Setup Sync Coordinator
|
|
136
|
+
// const mockKeystone = new MockKeystoneService() as unknown as KeystoneService_V1;
|
|
137
|
+
// const identity = await mockKeystone.getIdentity();
|
|
138
|
+
// const coordinator = new SyncSagaCoordinator(mockKeystone);
|
|
139
|
+
|
|
140
|
+
// // Define domain (roots to sync)
|
|
141
|
+
// const domainIbGibs = [root]; // We only explicitly track the "Living" root. Stone is standalone?
|
|
142
|
+
// // Actually for the test let's explicitly include both or rely on dependency graph.
|
|
143
|
+
// // If 'stone' is not related to 'root', it won't be picked up unless we add it to domain.
|
|
144
|
+
// // Let's Rel8 the stone to the child to test dependency traversal.
|
|
145
|
+
|
|
146
|
+
// const childWithRelRes = await rel8({
|
|
147
|
+
// src: child,
|
|
148
|
+
// rel8nsToAddByAddr: { 'linked_stone': [stoneAddr] },
|
|
149
|
+
// dna: true,
|
|
150
|
+
// });
|
|
151
|
+
// const childWithRel = childWithRelRes.newIbGib;
|
|
152
|
+
// const childWithRelAddr = getIbGibAddr({ ibGib: childWithRel });
|
|
153
|
+
|
|
154
|
+
// // Update Source with linked child
|
|
155
|
+
// await putInSpace({
|
|
156
|
+
// space: sourceSpace,
|
|
157
|
+
// ibGibs: [childWithRel]
|
|
158
|
+
// });
|
|
159
|
+
|
|
160
|
+
// // 4. Run Sync
|
|
161
|
+
// const syncRes = await coordinator.sync({
|
|
162
|
+
// source: sourceSpace,
|
|
163
|
+
// dest: destSpace,
|
|
164
|
+
// domainIbGibs: [childWithRel], // Sync starting from the tip
|
|
165
|
+
// identity
|
|
166
|
+
// });
|
|
167
|
+
|
|
168
|
+
// // 5. Verify Dest
|
|
169
|
+
// // Check Stone
|
|
170
|
+
// const getStone = await getFromSpace({
|
|
171
|
+
// space: destSpace,
|
|
172
|
+
// addr: stoneAddr
|
|
173
|
+
// });
|
|
174
|
+
// if (!getStone.success || !getStone.ibGibs?.[0]) {
|
|
175
|
+
// throw new Error(`Dest failed to get Stone: ${stoneAddr}`);
|
|
176
|
+
// }
|
|
177
|
+
// console.log(`${lc} Verified Stone synced.`);
|
|
178
|
+
|
|
179
|
+
// // Check ChildWithRel (Tip)
|
|
180
|
+
// const getChild = await getFromSpace({
|
|
181
|
+
// space: destSpace,
|
|
182
|
+
// addr: childWithRelAddr
|
|
183
|
+
// });
|
|
184
|
+
// if (!getChild.success || !getChild.ibGibs?.[0]) {
|
|
185
|
+
// throw new Error(`Dest failed to get ChildWithRel: ${childWithRelAddr}`);
|
|
186
|
+
// }
|
|
187
|
+
// console.log(`${lc} Verified Timeline Tip synced.`);
|
|
188
|
+
|
|
189
|
+
// // Check Root (Dependency)
|
|
190
|
+
// const getRoot = await getFromSpace({
|
|
191
|
+
// space: destSpace,
|
|
192
|
+
// addr: rootAddr
|
|
193
|
+
// });
|
|
194
|
+
// if (!getRoot.success || !getRoot.ibGibs?.[0]) {
|
|
195
|
+
// throw new Error(`Dest failed to get Root: ${rootAddr}`);
|
|
196
|
+
// }
|
|
197
|
+
// console.log(`${lc} Verified Root synced.`);
|
|
198
|
+
|
|
199
|
+
});
|
|
200
|
+
});
|