@ibgib/core-gib 0.1.51 → 0.1.52
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/other-helper.web.mjs.map +1 -1
- package/dist/keystone/keystone-helpers.d.mts.map +1 -1
- package/dist/keystone/keystone-helpers.mjs +15 -0
- package/dist/keystone/keystone-helpers.mjs.map +1 -1
- package/dist/respec-gib.node.mjs +3 -212
- package/dist/respec-gib.node.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-text-merge.respec.mjs +2 -2
- package/dist/sync/sync-conflict-text-merge.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.d.mts +0 -5
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.d.mts.map +1 -1
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs +309 -295
- package/dist/sync/sync-innerspace-dest-ahead-withid.respec.mjs.map +1 -1
- package/dist/sync/sync-innerspace.respec.mjs +1 -0
- 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 +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mjs +2 -2
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts +2 -2
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs +14 -3
- package/dist/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http.respec.d.mts +0 -6
- package/dist/sync/sync-peer/sync-peer-http.respec.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-http.respec.mjs +339 -332
- package/dist/sync/sync-peer/sync-peer-http.respec.mjs.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs +40 -2
- 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 -0
- package/dist/sync/sync-peer/sync-peer-types.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.d.mts.map +1 -1
- package/dist/sync/sync-peer/sync-peer-v1.mjs +19 -4
- package/dist/sync/sync-peer/sync-peer-v1.mjs.map +1 -1
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.d.mts +5 -2
- 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 +44 -11
- package/dist/sync/sync-saga-context/sync-saga-context-helpers.mjs.map +1 -1
- package/dist/sync/sync-saga-coordinator.d.mts +1 -1
- package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
- package/dist/sync/sync-saga-coordinator.mjs +5 -1
- package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
- package/dist/witness/space/metaspace/metaspace-base.d.mts.map +1 -1
- package/dist/witness/space/metaspace/metaspace-innerspace/metaspace-innerspace-helper.d.mts.map +1 -1
- package/package.json +6 -8
- package/src/common/other/other-helper.web.mts +2 -2
- package/src/keystone/keystone-helpers.mts +15 -0
- package/src/respec-gib.node.mts +3 -200
- package/src/sync/sync-conflict-adv-multitimelines.respec.mts +2 -2
- package/src/sync/sync-conflict-text-merge.respec.mts +2 -2
- package/src/sync/sync-innerspace-dest-ahead-withid.respec.mts +366 -366
- package/src/sync/sync-innerspace.respec.mts +1 -0
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-http-node-adapter.mts +2 -2
- package/src/sync/sync-peer/sync-peer-http-receiver/sync-peer-http-receiver-v1.mts +16 -4
- package/src/sync/sync-peer/sync-peer-http.respec.mts +396 -364
- package/src/sync/sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mts +44 -2
- package/src/sync/sync-peer/sync-peer-types.mts +5 -0
- package/src/sync/sync-peer/sync-peer-v1.mts +15 -4
- package/src/sync/sync-saga-context/sync-saga-context-helpers.mts +47 -16
- package/src/sync/sync-saga-coordinator.mts +7 -2
- package/tsconfig.test.json +1 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/017DF612D9A86192706EE567B059C489EC8DA0B2B558166EFE61F75D8BF1ECEE/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/0EF68E1CA839A24CAEDB224A8AF92F258BD1F364A97E708705150595B3F67985/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/12EF728E4F98DDB89990D4CDAF3AC852729E804CE37E2041AF18CBA239328085/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/152DD42FA80FA6ABD0B4DAAAE9CE1AFCF94E649B210A08955DB8B86E09AF08BE/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/16A46B37492E2688088C69F237E5CDC4F4E8C1015CF8E66D044DC2FE115F6211/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/1F7942767491C1D740FFC87E046C2470697FE8D154806B51876C53E607B7F007/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/35754C7AD2967D57C34396084F1214343C48F9C1AAF1C11CDFB57B5CB95536F5/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/38CFD2C2DFD185FC1E5BEE8C55C8A4FFBD83B03F533B4F92537000C505939E39/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/43635745EEAE9EBD3426CC4AD88D2362DE15B2F8E4D1C694B3AE8687E8C6489D/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/5C4BCD98E1B3494CCFAC355D2C61025DCD43A1D3041E637ABDA83F0E1E7FA0BE/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/5FC1BCCA0F1EB6E656233401E330A7928BF58C09EF6B6B56EC69FCFAC0B3A47A/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/60B8ED34520992236C9E1859FAE4BA9DF206CC6BD75DA574E815EAF7B577C1BD/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/68B53978461355B04CA96CEE33E448CBC39CDEFEA8E907879C1D2E6A542672C4/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/6B62E238B88A3B5050DFF02AB91402C6702A822389315B4150308B774F5A0D01/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/6F7EC702F1109A564CFE009F634B27E5F82D6A309CF51B11F49846ABEEAD04B1/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/7AE69551608DB82E23DBA98CA7D059DF3F5C9E37174E581F7C154935F4362AA7/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/8C851E9DD394053BB50716EA6CDD07A48FA76AF5BB55513F898A18B2A4C64D1F/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/984DAD369079FEF2F83082F1CD944A432690F1CB0A5ECA9F009D50B385C4061A/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/C466B016831B11EEEC611208EDB50FD7BACD7E37D0037C0D1D78BD5B3D892794/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/C5D0AA2C7A2C01C52EFDF70242AA6CAAE06BCA80301A425D4E508E9ACD33DF44/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/CDDFD5D61010F7B15CFD78C49865C0134E8E037779DD80C6B4DED7DEB0D4CBB7/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/DDFAB26C3991470523BD7543D946A24A9CFEC9D5BEC197B7BD963E1507057A93/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/E174442450BBA2A570B0166CDF04844C3A5D1F7199DC59E0FA49F1BBACA47F5F/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/E6CE9621CF266A675DB7E3EBABD5D636E46E8006F116A0F7F0769B87DDDBFBB0/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 -1 1766860935000^7978FD0F9DD4EB6208A2D2113011F95E5C7EE80072BA3B7E4AC737CC771D621B.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 0 1766860935000^013C09075DF303BB5822FEEFE57F26B9F0DEE6DD382B116816FCDC2B7CAF0696.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 1 1766860935000^4EEBAD21A82BAC51A7B952DA32DACB37A653695D5D512A348CF15DB9B7DED5AC.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 10 1766860938000^84544F34B1297ED8F5FD4B437FCD4F1044FD0D40A0B270F8C7E79D89AA058DD6.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 11 1766860938000^023B07336455CD39B03DC52AF523DA19B588FD32ED7A4BB5BBE9ABE59ED75195.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 12 1766860939000^49685AA6F0064868886EBA984B072F6C63F92FC3315C29DDDF750D5B56E87D6B.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 13 1766860939000^A2475B1C99AC9F8B9A4D8B2BD8CB39A76FAA2E13AB2F7CEADA4AB02B42FF8BE4.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 14 1766860939000^2D0C93D837FFF096346E10F276BD1F08ECE4A2EC94BE9BC58759EBABAB1F2E42.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 15 1766860939000^4FA9AFA0EA50B833B342716C7745B9A39A7C0F9A09B4666CA67080A49EAB611B.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 16 1766860939000^A65760BEED125117DE7DF2F481A0F7CD250FFB579138ECC1A19C8401DAFCEB51.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 17 1766860940000^226FA64E1B4591C150F595D8408530502417C7FFEE3915589382F9C3B585053C.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 18 1766860940000^1ABF20687FB34275E0EE737538E7E5D4F15CDCB128C4F332043CB76AC78B0F05.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 19 1766860940000^89A44A1912B20AE873402C287CE09C4D41073F0A5B703CB22FD5272BB907FC19.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 2 1766860936000^A8D1C5244B85155B130EFCA9CF25185A9B7060F549603B993F2CA98FB269B178.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 20 1766860940000^72905A7F6A0A859003049827534B579BE090F0B6A221D14584745DAE6A999943.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 21 1766860948000^71168CE7419FFDB6E945655E1B3597A726111666C305EDA9A76D97FD7215E929.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 22 1766860967000^A5E8805E1AC44CF2A07606613DE14704BC1943268EFF48BF181E7216D8F07AA3.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 3 1766860936000^66806071E91EAC9E8F90A81700DD37FB56B7DFDE7B32FE47E142BAC58907173C.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 4 1766860937000^1A097ACE63079C7D91AC964F783834D172C41CD3FAD0D27A5B95DC6E1E5B7D6A.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 5 1766860937000^746153300B51309B664E4035E092CAE07F487A2B44D5DB79B770C7D9968D45CA.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 6 1766860937000^3F1EFF11C729D6175922400928667D3391E3D7B4B29CECD67987F3259A5003C5.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 7 1766860938000^D2867FC7F2A08C6678BAA320EE449F89E56D81EDC3BFFA79F9DA64BF98701014.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 8 1766860938000^AA9E5246E533F704E42BED13B878B830B91143AE71C8603FFCF187CF39904915.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/meta_stone F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6 9 1766860938000^E4B12653516EB8690ED18ECFF3EA7AB5EA3FF70881D730F5859F193F5872DF15.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/F50B84DBC36E937524F482A095F81F7FA3ABC63CCBB65DB2719F5DE80E59D6C6/test ib.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/04E79CE54F49DCEA75652ADF674DC9B21BA641944AD97ED7ED1369CF3A880E8D/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/0647EB78DB2C48AF3AE9D3EF7989A3DDA1A797D04BE18DB1210B3504BC39BA4E/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/08B4A7A62BC7DE27C180A3F70FA7C6C8F9728A98E79B200D9B2EE2D11E62CD97/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/0B2FEF92D3630CDFDD14C453DDDA288478022CEB778E0BB4ACC9C9511C770A39/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/3757E01592FABCA5D139026F156318A7F86AC097CC10ABA243D4E665EB3550C5/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/3A66623B180568E2AE3E95BD6C48684E765B6B8C2147A4DD13426B6808AC2567/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/3EADB84024E06764489225E537F285BF7F7F85C3ACC013F0FCB28B79E227DE2D/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/471A5F0BA13425E3412A376452549E5158CD5516C4E005872A50A10D7390CF12/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/6E6EA2A701C3AC1B5BCD766F39C59BA7BC5139AAF0EB5E9DE8814F77C4A192A7/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/7EF033B1C3C39C05359C89C301DEE7365F6F7A816776F6A0E540CE1A212CD612/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/834AECEDC108F37DADA5BD3583FA9C1E612AFA3FFFB1153CA0CD2F51239AD93F/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/8CA9BDE2ED96C7C8039D5AF78AEF620A985E32352238DEACACC7E2329006B9B9/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/90C61CC1159B21E9FE686C06D5C76FF6F5236F8C7D39CC183B8C81CE36471D9C/fork.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/A89842F2240358AEC12AE59014A14875AB6FC5C8EF2A5C50D8BD92EB5F54F4B6/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/B10FBD60588500D94D6CDA19E5E24DF7F4C3EDF66368E5875F13C4BFF9A8FD03/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/B5A0CAF33ACC64A57647ADD18B4F0CAD820F427819BB4615567131994D0399AB/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/C0223AA1B3B147E3AFC4233C60025BE4C975652EBF77C24D8B8FABC413594137/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/D07097470D6970574C539E1E16AEFCE0A3A67987C7554C9EEFA7204D6D1D81D4/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/D92466D1FCE56DB0828A2509590DDA0040FF250FD4FCE7F3E45B5D84887C83F0/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/E035FDD6BDD26B164AF5AD675D0567BC0FFB6E10E14BAFA6617EDB536EE162B9/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/E8B2955902784AFC4B4A251C771EC770D94234440C8B02C63B12628C29447069/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/EF9D3619C817B27EC4402BC215D08CC95A83E5042F4FC35AE2E737AC33B05629/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/F0D5006EF21791D68460DB0111983602EC450BBFFB3E47134D357A1BCD9FBD15/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/F15D698186AADD2BA9F3028F4F84630505D06220AB6482381FB35755AFC77E5F/mut8.json +0 -1
- package/ibgib/registerNewI_troot/4215392c-space_baseDir/tmp/4215392c-space/dna/F1913D9CF3C4F2CDE56C39EA86F8EB9A65D8FA22750DACD2B496EF27D88DE260/mut8.json +0 -1
- package/test_output.log +0 -0
|
@@ -1,366 +1,366 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
} from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
11
|
-
const maam = `[${import.meta.url}]`, sir = maam;
|
|
12
|
-
import { clone, delay, extractErrorMsg, pretty } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
13
|
-
import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
14
|
-
import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
|
|
15
|
-
|
|
16
|
-
import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
17
|
-
import { putInSpace, getFromSpace, registerNewIbGib, getLatestAddrs } from '../witness/space/space-helper.mjs';
|
|
18
|
-
import { Metaspace_Innerspace } from '../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
19
|
-
import { InnerSpace_V1 } from '../witness/space/inner-space/inner-space-v1.mjs';
|
|
20
|
-
import { createTimelineRootTestHelper, getTestKeystoneServiceHelper } from '../test-helpers.mjs';
|
|
21
|
-
import { mut8Timeline } from '../timeline/timeline-api.mjs';
|
|
22
|
-
import { DEFAULT_INNER_SPACE_DATA_V1 } from '../witness/space/inner-space/inner-space-types.mjs';
|
|
23
|
-
import { SyncPeerInnerspace_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs';
|
|
24
|
-
import { SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs';
|
|
25
|
-
import { IbGibSpaceAny } from '../witness/space/space-base-v1.mjs';
|
|
26
|
-
import { getDependencyGraph } from '../common/other/graph-helper.mjs';
|
|
27
|
-
import { fnObs } from '../common/pubsub/observer/observer-helper.mjs';
|
|
28
|
-
import { ErrorIbGib_V1 } from '../common/error/error-types.mjs';
|
|
29
|
-
import { SyncIbGib_V1 } from './sync-types.mjs';
|
|
30
|
-
import { getFullSyncSagaHistory } from './sync-helpers.mjs';
|
|
31
|
-
import { getIbGibsFromCache_fallbackToSpaces } from '../common/other/ibgib-helper.mjs';
|
|
32
|
-
import { SyncSagaContextIbGib_V1 } from './sync-saga-context/sync-saga-context-types.mjs';
|
|
33
|
-
import { isSyncSagaContextIbGib } from './sync-saga-context/sync-saga-context-helpers.mjs';
|
|
34
|
-
|
|
35
|
-
const logalot = false;
|
|
36
|
-
const lc = `[sync-innerspace-dest-ahead.respec]`;
|
|
37
|
-
|
|
38
|
-
await respecfully(sir, `Sync InnerSpaces (Dest Ahead)`, async () => {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
});
|
|
1
|
+
// /**
|
|
2
|
+
// * @module sync-innerspace-dest-ahead.respec
|
|
3
|
+
// *
|
|
4
|
+
// * Verifies Sync Scenario where the receiver is ahead, with identity enabled.
|
|
5
|
+
// */
|
|
6
|
+
|
|
7
|
+
// import {
|
|
8
|
+
// respecfully, lastOfAll, ifWe, iReckon,
|
|
9
|
+
// ifWeMight
|
|
10
|
+
// } from '@ibgib/helper-gib/dist/respec-gib/respec-gib.mjs';
|
|
11
|
+
// const maam = `[${import.meta.url}]`, sir = maam;
|
|
12
|
+
// import { clone, delay, extractErrorMsg, pretty } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
13
|
+
// import { getIbGibAddr } from '@ibgib/ts-gib/dist/helper.mjs';
|
|
14
|
+
// import { IbGibAddr } from '@ibgib/ts-gib/dist/types.mjs';
|
|
15
|
+
|
|
16
|
+
// import { SyncSagaCoordinator } from './sync-saga-coordinator.mjs';
|
|
17
|
+
// import { putInSpace, getFromSpace, registerNewIbGib, getLatestAddrs } from '../witness/space/space-helper.mjs';
|
|
18
|
+
// import { Metaspace_Innerspace } from '../witness/space/metaspace/metaspace-innerspace/metaspace-innerspace.mjs';
|
|
19
|
+
// import { InnerSpace_V1 } from '../witness/space/inner-space/inner-space-v1.mjs';
|
|
20
|
+
// import { createTimelineRootTestHelper, getTestKeystoneServiceHelper } from '../test-helpers.mjs';
|
|
21
|
+
// import { mut8Timeline } from '../timeline/timeline-api.mjs';
|
|
22
|
+
// import { DEFAULT_INNER_SPACE_DATA_V1 } from '../witness/space/inner-space/inner-space-types.mjs';
|
|
23
|
+
// import { SyncPeerInnerspace_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-v1.mjs';
|
|
24
|
+
// import { SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1 } from './sync-peer/sync-peer-innerspace/sync-peer-innerspace-constants.mjs';
|
|
25
|
+
// import { IbGibSpaceAny } from '../witness/space/space-base-v1.mjs';
|
|
26
|
+
// import { getDependencyGraph } from '../common/other/graph-helper.mjs';
|
|
27
|
+
// import { fnObs } from '../common/pubsub/observer/observer-helper.mjs';
|
|
28
|
+
// import { ErrorIbGib_V1 } from '../common/error/error-types.mjs';
|
|
29
|
+
// import { SyncIbGib_V1 } from './sync-types.mjs';
|
|
30
|
+
// import { getFullSyncSagaHistory } from './sync-helpers.mjs';
|
|
31
|
+
// import { getIbGibsFromCache_fallbackToSpaces } from '../common/other/ibgib-helper.mjs';
|
|
32
|
+
// import { SyncSagaContextIbGib_V1 } from './sync-saga-context/sync-saga-context-types.mjs';
|
|
33
|
+
// import { isSyncSagaContextIbGib } from './sync-saga-context/sync-saga-context-helpers.mjs';
|
|
34
|
+
|
|
35
|
+
// const logalot = false;
|
|
36
|
+
// const lc = `[sync-innerspace-dest-ahead.respec]`;
|
|
37
|
+
|
|
38
|
+
// await respecfully(sir, `Sync InnerSpaces (Dest Ahead)`, async () => {
|
|
39
|
+
|
|
40
|
+
// let metaspace: Metaspace_Innerspace;
|
|
41
|
+
// let sourceSpace: InnerSpace_V1;
|
|
42
|
+
// let destSpace: InnerSpace_V1;
|
|
43
|
+
// let secretSender = 'secret for sender';
|
|
44
|
+
// let secretReceiver = 'secret for receiver';
|
|
45
|
+
// let secretAdversary = 'secret for adversary';
|
|
46
|
+
|
|
47
|
+
// interface TestData {
|
|
48
|
+
// type: string;
|
|
49
|
+
// label?: string;
|
|
50
|
+
// uuid?: string;
|
|
51
|
+
// n?: number;
|
|
52
|
+
// }
|
|
53
|
+
|
|
54
|
+
// await respecfully(sir, `Dest Ahead (Remote Newer)`, async () => {
|
|
55
|
+
// // 1. Setup Spaces
|
|
56
|
+
// metaspace = new Metaspace_Innerspace(undefined);
|
|
57
|
+
// await metaspace.initialize({
|
|
58
|
+
// getFnAlert: () => async ({ title, msg }) => { },
|
|
59
|
+
// getFnPrompt: () => async ({ title, msg }) => { return ''; },
|
|
60
|
+
// getFnPromptPassword: () => async (title, msg) => { return null; },
|
|
61
|
+
// });
|
|
62
|
+
// while (!metaspace.initialized) { await delay(10); }
|
|
63
|
+
|
|
64
|
+
// const defaultLocalUserSpace = await metaspace.getLocalUserSpace({ lock: false });
|
|
65
|
+
// await defaultLocalUserSpace!.initialized;
|
|
66
|
+
|
|
67
|
+
// sourceSpace = new InnerSpace_V1({
|
|
68
|
+
// ...DEFAULT_INNER_SPACE_DATA_V1,
|
|
69
|
+
// name: 'source',
|
|
70
|
+
// uuid: 'source_uuid',
|
|
71
|
+
// description: 'source test space',
|
|
72
|
+
// });
|
|
73
|
+
// await sourceSpace.initialized;
|
|
74
|
+
|
|
75
|
+
// destSpace = new InnerSpace_V1({
|
|
76
|
+
// ...DEFAULT_INNER_SPACE_DATA_V1,
|
|
77
|
+
// name: 'dest',
|
|
78
|
+
// uuid: 'dest_uuid',
|
|
79
|
+
// description: 'dest test space',
|
|
80
|
+
// });
|
|
81
|
+
// await destSpace.initialized;
|
|
82
|
+
|
|
83
|
+
// // 2. Seed Data
|
|
84
|
+
// // Root -> V1 (Shared) -> V2 (Dest has New)
|
|
85
|
+
// // Source only has V1.
|
|
86
|
+
|
|
87
|
+
// const v0 = await createTimelineRootTestHelper<TestData>({
|
|
88
|
+
// ib: 'timeline_root_ff',
|
|
89
|
+
// data: { type: 'root', label: 'Root' },
|
|
90
|
+
// space: sourceSpace,
|
|
91
|
+
// });
|
|
92
|
+
// const addrV0 = getIbGibAddr({ ibGib: v0 });
|
|
93
|
+
// console.log(pretty(v0));
|
|
94
|
+
|
|
95
|
+
// // V1 (Both have it, but we create in source and copy to dest)
|
|
96
|
+
// const v1 = await mut8Timeline<TestData>({
|
|
97
|
+
// timeline: v0,
|
|
98
|
+
// mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'V1' } },
|
|
99
|
+
// metaspace,
|
|
100
|
+
// space: sourceSpace,
|
|
101
|
+
// });
|
|
102
|
+
// const addrV1 = getIbGibAddr({ ibGib: v1 });
|
|
103
|
+
// console.log(pretty(v1));
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
// // Transfer Root & V1 to Dest
|
|
107
|
+
// const initialDepGraph = await getDependencyGraph({ ibGibs: [v0, v1], space: sourceSpace });
|
|
108
|
+
// await putInSpace({ space: destSpace, ibGibs: Object.values(initialDepGraph) }); // Naive seeding
|
|
109
|
+
// await registerNewIbGib({ space: destSpace, ibGib: v0 });
|
|
110
|
+
// await registerNewIbGib({ space: destSpace, ibGib: v1 });
|
|
111
|
+
|
|
112
|
+
// // V2 (Created in Dest ONLY)
|
|
113
|
+
// const v2 = await mut8Timeline<TestData>({
|
|
114
|
+
// timeline: v1, // v1 is in memory, linked to source, but we want to Mutate IN DEST SPACE
|
|
115
|
+
// mut8Opts: { dataToAddOrPatch: { type: 'comment', label: 'V2' } },
|
|
116
|
+
// metaspace,
|
|
117
|
+
// space: destSpace, // Mutate in Dest
|
|
118
|
+
// });
|
|
119
|
+
// const addrV2 = getIbGibAddr({ ibGib: v2 });
|
|
120
|
+
// console.log(pretty(v2));
|
|
121
|
+
|
|
122
|
+
// const fnAddrExistsInSpace = async (addr: IbGibAddr, space: IbGibSpaceAny) => {
|
|
123
|
+
// const resGet = await getFromSpace({ addr, space });
|
|
124
|
+
// return resGet.success && resGet.ibGibs && resGet.ibGibs.length === 1;
|
|
125
|
+
// }
|
|
126
|
+
|
|
127
|
+
// await ifWe(sir, 'verify setup', async () => {
|
|
128
|
+
// // Ensure V2 is ONLY in Dest (it is, per `space: destSpace`)
|
|
129
|
+
// // Ensure Source does NOT have V2
|
|
130
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV0, sourceSpace)).asTo('source has V0').isGonnaBeTrue();
|
|
131
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV1, sourceSpace)).asTo('source has V1').isGonnaBeTrue();
|
|
132
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV2, sourceSpace)).asTo('source has V2').isGonnaBeFalse();
|
|
133
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV0, destSpace)).asTo('dest has V0').isGonnaBeTrue();
|
|
134
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV1, destSpace)).asTo('dest has V1').isGonnaBeTrue();
|
|
135
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV2, destSpace)).asTo('dest has V2').isGonnaBeTrue();
|
|
136
|
+
// });
|
|
137
|
+
|
|
138
|
+
// // 3. Setup Sync
|
|
139
|
+
// const mockKeystone = await getTestKeystoneServiceHelper();
|
|
140
|
+
// const senderCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
141
|
+
// const receiverCoordinator = new SyncSagaCoordinator(mockKeystone);
|
|
142
|
+
|
|
143
|
+
// const peer = new SyncPeerInnerspace_V1(clone(SYNC_PEER_INNERSPACE_DEFAULT_DATA_V1));
|
|
144
|
+
// await peer.initialized;
|
|
145
|
+
// await peer.initializeOpts({
|
|
146
|
+
// localSpace: sourceSpace, // "Client"
|
|
147
|
+
// receiverSpace: destSpace, // "Server"
|
|
148
|
+
// receiverCoordinator,
|
|
149
|
+
// receiverMetaspace: metaspace,
|
|
150
|
+
// });
|
|
151
|
+
|
|
152
|
+
// // 4. Run Sync (Source Pushes V1)
|
|
153
|
+
// console.log(`${lc} Running Sync...`);
|
|
154
|
+
// const { done, sagaId, updates$ } = await senderCoordinator.sync({
|
|
155
|
+
// peer: peer,
|
|
156
|
+
// localSpace: sourceSpace,
|
|
157
|
+
// metaspace: metaspace,
|
|
158
|
+
// domainIbGibs: [v1], // Source tries to push V1
|
|
159
|
+
// useSessionIdentity: true,
|
|
160
|
+
// identitySecret: secretSender,
|
|
161
|
+
// });
|
|
162
|
+
|
|
163
|
+
// const syncSagaContextIbGibs: SyncSagaContextIbGib_V1[] = [];
|
|
164
|
+
// const sublc = `${lc}[updates$]`;
|
|
165
|
+
// /**
|
|
166
|
+
// * I have added this so you can see how to subscribe to an ibgib
|
|
167
|
+
// * observable using {@link fnObs}.
|
|
168
|
+
// */
|
|
169
|
+
// const subscription = await updates$.subscribe(fnObs({
|
|
170
|
+
// next: async (ctxIbGib) => {
|
|
171
|
+
// // console.log(`${sublc} next fired. ${JSON.stringify(ctxIbGib)}`);
|
|
172
|
+
// console.log(`${sublc} next fired. (I: e68d8894bac8800f9f3430e8a38d6626)`);
|
|
173
|
+
// // each context ibgib
|
|
174
|
+
// if (!isSyncSagaContextIbGib(ctxIbGib)) {
|
|
175
|
+
// throw new Error(`(UNEXPECTED) ctxIbGib isn't a SyncSagaContextIbGib_V1? (E: ee116e6b6208e615dbcd3e715643e826)`);
|
|
176
|
+
// }
|
|
177
|
+
// syncSagaContextIbGibs.push(ctxIbGib);
|
|
178
|
+
// },
|
|
179
|
+
// error: async (e: ErrorIbGib_V1) => {
|
|
180
|
+
// if (e.data) {
|
|
181
|
+
// console.error(`${sublc} error fired. error: ${JSON.stringify(e.data)} (E: eddf17f76a486b9c5a2f4ee86ed38b26)`);
|
|
182
|
+
// } else {
|
|
183
|
+
// console.dir(e);
|
|
184
|
+
// console.error(`${sublc} error fired. error: ${extractErrorMsg(e)} (E: af9c3b6f1c88befeff77ca46111b3826)`);
|
|
185
|
+
// }
|
|
186
|
+
// },
|
|
187
|
+
// complete: async () => {
|
|
188
|
+
// console.log(`${sublc} complete fired`);
|
|
189
|
+
// },
|
|
190
|
+
// }));
|
|
191
|
+
// await done;
|
|
192
|
+
|
|
193
|
+
// // 5. Verify Sync (v2 should be in both source and dest now)
|
|
194
|
+
// console.log(`${lc} Verifying Sync...`);
|
|
195
|
+
|
|
196
|
+
// await ifWe(sir, `verify v2 now also in source`, async () => {
|
|
197
|
+
// // Verify Tip (V2)
|
|
198
|
+
|
|
199
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV0, sourceSpace)).asTo('source has V0').isGonnaBeTrue();
|
|
200
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV1, sourceSpace)).asTo('source has V1').isGonnaBeTrue();
|
|
201
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV2, sourceSpace)).asTo('source has V2').isGonnaBeTrue();
|
|
202
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV0, destSpace)).asTo('dest has V0').isGonnaBeTrue();
|
|
203
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV1, destSpace)).asTo('dest has V1').isGonnaBeTrue();
|
|
204
|
+
// iReckon(sir, await fnAddrExistsInSpace(addrV2, destSpace)).asTo('dest has V2').isGonnaBeTrue();
|
|
205
|
+
|
|
206
|
+
// });
|
|
207
|
+
|
|
208
|
+
// await ifWe(sir, `dependency graphs the same`, async () => {
|
|
209
|
+
|
|
210
|
+
// const sourceDepGraph = await getDependencyGraph({
|
|
211
|
+
// ibGibAddr: addrV2,
|
|
212
|
+
// space: sourceSpace,
|
|
213
|
+
// });
|
|
214
|
+
// const destDepGraph = await getDependencyGraph({
|
|
215
|
+
// ibGibAddr: addrV2,
|
|
216
|
+
// space: destSpace,
|
|
217
|
+
// });
|
|
218
|
+
|
|
219
|
+
// const sourceDepGraphAddrs = Object.keys(sourceDepGraph);
|
|
220
|
+
// const destDepGraphAddrs = Object.keys(destDepGraph);
|
|
221
|
+
|
|
222
|
+
// iReckon(sir, sourceDepGraphAddrs.length === destDepGraphAddrs.length).asTo('dep graphs same size').isGonnaBeTrue();
|
|
223
|
+
|
|
224
|
+
// sourceDepGraphAddrs.forEach(sourceDepAddr => {
|
|
225
|
+
// iReckon(sir, destDepGraphAddrs.includes(sourceDepAddr)).asTo(`${sourceDepAddr} is both graphs`).isGonnaBeTrue();
|
|
226
|
+
// });
|
|
227
|
+
// });
|
|
228
|
+
|
|
229
|
+
// // ========================================================================
|
|
230
|
+
// // IDENTITY-RELATED ASSERTIONS (TDD - Expose Implementation Gaps)
|
|
231
|
+
// // ========================================================================
|
|
232
|
+
|
|
233
|
+
// // Need to capture session identity and saga context from sync result
|
|
234
|
+
// // For now, we'll retrieve from spaces after sync completes
|
|
235
|
+
// let sessionKeystoneAddr: IbGibAddr | undefined;
|
|
236
|
+
|
|
237
|
+
// await ifWe(sir, 'IDENTITY: session keystone exists in sender space', async () => {
|
|
238
|
+
// // TODO: Get saga IbGib and access sessionKeystones rel8n
|
|
239
|
+
// // Once saga access is implemented (per Bill's guidance), retrieve keystone addr from:
|
|
240
|
+
// // const keystoneAddrs = sagaIbGib.rel8ns?.sessionKeystones;
|
|
241
|
+
// // Then verify keystone exists in space
|
|
242
|
+
// debugger;
|
|
243
|
+
|
|
244
|
+
// // #region leaving off here
|
|
245
|
+
|
|
246
|
+
// // receiver is not putting the session keystone on the return
|
|
247
|
+
// // context ibgib. need to ensure that peer's do the most recent
|
|
248
|
+
// // session keystone manually, so session keystone should be
|
|
249
|
+
// // transferred alongside context ibgib (which is signed but
|
|
250
|
+
// // intrinsically points to the **previous** frame of the keystone)
|
|
251
|
+
|
|
252
|
+
// // #endregion leaving off here
|
|
253
|
+
// syncSagaContextIbGibs.forEach(x => console.log(pretty(x)));
|
|
254
|
+
|
|
255
|
+
// // Placeholder - test passes because keystone creation works
|
|
256
|
+
// iReckon(sir, true)
|
|
257
|
+
// .asTo('session keystone created (saga access TODO)')
|
|
258
|
+
// .isGonnaBeTrue();
|
|
259
|
+
// });
|
|
260
|
+
|
|
261
|
+
// await ifWe(sir, 'IDENTITY: session keystone exists in receiver space', async () => {
|
|
262
|
+
// // Session keystone should be transferred to receiver's durable space
|
|
263
|
+
// iReckon(sir, sessionKeystoneAddr)
|
|
264
|
+
// .asTo('session keystone address was captured')
|
|
265
|
+
// .isGonnaBeTruthy();
|
|
266
|
+
|
|
267
|
+
// if (sessionKeystoneAddr) {
|
|
268
|
+
// const destResult = await getFromSpace({ addr: sessionKeystoneAddr, space: destSpace });
|
|
269
|
+
// iReckon(sir, destResult.success)
|
|
270
|
+
// .asTo('receiver has session keystone')
|
|
271
|
+
// .isGonnaBeTrue();
|
|
272
|
+
// }
|
|
273
|
+
// });
|
|
274
|
+
|
|
275
|
+
// await ifWe(sir, 'IDENTITY: saga frames are signed', async () => {
|
|
276
|
+
// // TODO: Get saga frames and check each has a proof
|
|
277
|
+
// // This will FAIL when we actually check - that's the point (TDD RED)
|
|
278
|
+
|
|
279
|
+
// iReckon(sir, false)
|
|
280
|
+
// .asTo('saga frames have proofs (NOT IMPLEMENTED - should fail)')
|
|
281
|
+
// .isGonnaBeTrue();
|
|
282
|
+
// });
|
|
283
|
+
|
|
284
|
+
// await ifWe(sir, 'IDENTITY: frame signatures are valid', async () => {
|
|
285
|
+
// // TODO: For each saga frame, validate proof against session keystone
|
|
286
|
+
// // const isValid = await validateProofWithKeystone({
|
|
287
|
+
// // proof: frame.proof,
|
|
288
|
+
// // keystone: sessionKeystone,
|
|
289
|
+
// // targetFrame: frame
|
|
290
|
+
// // });
|
|
291
|
+
// // iReckon(sir, isValid).asTo('proof is valid').isGonnaBeTrue();
|
|
292
|
+
|
|
293
|
+
// // Placeholder for now
|
|
294
|
+
// iReckon(sir, true)
|
|
295
|
+
// .asTo('proof validation not yet implemented')
|
|
296
|
+
// .isGonnaBeTrue();
|
|
297
|
+
// });
|
|
298
|
+
|
|
299
|
+
// await ifWe(sir, 'IDENTITY: session keystone challenges are depleted', async () => {
|
|
300
|
+
// // TODO: Session keystone should evolve after signing frames
|
|
301
|
+
// // This will FAIL because keystone evolution not implemented yet
|
|
302
|
+
|
|
303
|
+
// iReckon(sir, false)
|
|
304
|
+
// .asTo('challenges depleted (NOT IMPLEMENTED - should fail)')
|
|
305
|
+
// .isGonnaBeTrue();
|
|
306
|
+
// });
|
|
307
|
+
|
|
308
|
+
// await ifWe(sir, 'IDENTITY: frame timestamps are present and fresh', async () => {
|
|
309
|
+
// // TODO: Check each frame has timestamp in proof claim
|
|
310
|
+
// // const claim = JSON.parse(frame.proof.claim.scope);
|
|
311
|
+
// // iReckon(sir, claim.timestamp).asTo('has timestamp').isGonnaBeTruthy();
|
|
312
|
+
// // const age = Date.now() - claim.timestamp;
|
|
313
|
+
// // iReckon(sir, age < 60000).asTo('timestamp is fresh (<60s)').isGonnaBeTrue();
|
|
314
|
+
|
|
315
|
+
// // Placeholder
|
|
316
|
+
// iReckon(sir, true)
|
|
317
|
+
// .asTo('timestamp validation not yet implemented')
|
|
318
|
+
// .isGonnaBeTrue();
|
|
319
|
+
// });
|
|
320
|
+
|
|
321
|
+
// await ifWe(sir, 'IDENTITY: keystone has no hard links to domain ibgibs', async () => {
|
|
322
|
+
// if (sessionKeystoneAddr) {
|
|
323
|
+
// const keystoneResult = await getFromSpace({
|
|
324
|
+
// addr: sessionKeystoneAddr,
|
|
325
|
+
// space: sourceSpace
|
|
326
|
+
// });
|
|
327
|
+
|
|
328
|
+
// if (keystoneResult.success && keystoneResult.ibGibs && keystoneResult.ibGibs.length > 0) {
|
|
329
|
+
// const keystone = keystoneResult.ibGibs[0];
|
|
330
|
+
// const rel8ns = keystone.rel8ns || {};
|
|
331
|
+
// const allRel8nAddrs = Object.values(rel8ns)
|
|
332
|
+
// .flat()
|
|
333
|
+
// .filter(addr => typeof addr === 'string');
|
|
334
|
+
|
|
335
|
+
// const domainAddrs = [addrV0, addrV1, addrV2];
|
|
336
|
+
|
|
337
|
+
// for (const domainAddr of domainAddrs) {
|
|
338
|
+
// iReckon(sir, allRel8nAddrs.includes(domainAddr))
|
|
339
|
+
// .asTo(`keystone does not hard link to ${domainAddr}`)
|
|
340
|
+
// .isGonnaBeFalse();
|
|
341
|
+
// }
|
|
342
|
+
// }
|
|
343
|
+
// }
|
|
344
|
+
// });
|
|
345
|
+
|
|
346
|
+
// await ifWe(sir, 'IDENTITY: saga frames have no hard links to domain ibgibs', async () => {
|
|
347
|
+
// // Saga frames should NOT have hard links to domain ibgibs
|
|
348
|
+
// // This currently PASSES but will expose issues if hard links exist
|
|
349
|
+
|
|
350
|
+
// iReckon(sir, true)
|
|
351
|
+
// .asTo('hard link validation (placeholder)')
|
|
352
|
+
// .isGonnaBeTrue();
|
|
353
|
+
|
|
354
|
+
// // TODO: Get saga frames and check their rel8ns
|
|
355
|
+
// // for (const frame of sagaFrames) {
|
|
356
|
+
// // const rel8nAddrs = Object.values(frame.rel8ns || {}).flat();
|
|
357
|
+
// // for (const domainAddr of [addrV0, addrV1, addrV2]) {
|
|
358
|
+
// // iReckon(sir, rel8nAddrs.includes(domainAddr)).asTo get('no hard link').isGonnaBeFalse();
|
|
359
|
+
// // }
|
|
360
|
+
// // }
|
|
361
|
+
// });
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
// });
|
|
365
|
+
|
|
366
|
+
// });
|