@ibgib/node-gib 0.0.13 → 0.0.15
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/email/email-helpers.d.mts.map +1 -1
- package/dist/email/email-helpers.mjs.map +1 -1
- package/dist/email/index.d.mts +3 -0
- package/dist/email/index.d.mts.map +1 -1
- package/dist/email/index.mjs +3 -0
- package/dist/email/index.mjs.map +1 -1
- package/dist/email/verify/email-verify-constants.d.mts +3 -0
- package/dist/email/verify/email-verify-constants.d.mts.map +1 -0
- package/dist/email/verify/email-verify-constants.mjs +3 -0
- package/dist/email/verify/email-verify-constants.mjs.map +1 -0
- package/dist/email/verify/email-verify-helpers.d.mts +107 -0
- package/dist/email/verify/email-verify-helpers.d.mts.map +1 -0
- package/dist/email/verify/email-verify-helpers.mjs +357 -0
- package/dist/email/verify/email-verify-helpers.mjs.map +1 -0
- package/dist/email/verify/email-verify-types.d.mts +41 -0
- package/dist/email/verify/email-verify-types.d.mts.map +1 -0
- package/dist/email/verify/email-verify-types.mjs +2 -0
- package/dist/email/verify/email-verify-types.mjs.map +1 -0
- package/dist/identity/sso/sso-config-helper.d.mts +7 -0
- package/dist/identity/sso/sso-config-helper.d.mts.map +1 -0
- package/dist/identity/sso/sso-config-helper.mjs +42 -0
- package/dist/identity/sso/sso-config-helper.mjs.map +1 -0
- package/dist/identity/sso/sso-custodian-service.d.mts +139 -0
- package/dist/identity/sso/sso-custodian-service.d.mts.map +1 -0
- package/dist/identity/sso/sso-custodian-service.mjs +471 -0
- package/dist/identity/sso/sso-custodian-service.mjs.map +1 -0
- package/dist/identity/sso/sso-types.d.mts +40 -0
- package/dist/identity/sso/sso-types.d.mts.map +1 -0
- package/dist/identity/sso/sso-types.mjs +7 -0
- package/dist/identity/sso/sso-types.mjs.map +1 -0
- package/dist/index.d.mts +4 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +4 -1
- package/dist/index.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs +9 -2
- package/dist/serve-gib/handlers/api/email/email-outbound.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/email/email-verification-code.handler.d.mts +29 -0
- package/dist/serve-gib/handlers/api/email/email-verification-code.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-verification-code.handler.mjs +140 -0
- package/dist/serve-gib/handlers/api/email/email-verification-code.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-verify-code-onetime.handler.d.mts +24 -0
- package/dist/serve-gib/handlers/api/email/email-verify-code-onetime.handler.d.mts.map +1 -0
- package/dist/serve-gib/handlers/api/email/email-verify-code-onetime.handler.mjs +212 -0
- package/dist/serve-gib/handlers/api/email/email-verify-code-onetime.handler.mjs.map +1 -0
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs +2 -3
- package/dist/serve-gib/handlers/api/keystone/keystone-check-email.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs +38 -3
- package/dist/serve-gib/handlers/api/keystone/keystone-evolve.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs +54 -24
- package/dist/serve-gib/handlers/api/keystone/keystone-genesis.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs +13 -13
- package/dist/serve-gib/handlers/api/keystone/keystone-lookup.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs +1 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-post.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs +3 -3
- package/dist/serve-gib/handlers/api/keystone/sso-config.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs +28 -15
- package/dist/serve-gib/handlers/api/keystone/sso-link.handler.mjs.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts +2 -1
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.d.mts.map +1 -1
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs +59 -35
- package/dist/serve-gib/handlers/api/keystone/sso-login.handler.mjs.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-constants.d.mts +3 -2
- package/dist/serve-gib/identity-index/identity-index-constants.d.mts.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-constants.mjs +4 -2
- package/dist/serve-gib/identity-index/identity-index-constants.mjs.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-helpers.d.mts.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-helpers.mjs +28 -11
- package/dist/serve-gib/identity-index/identity-index-helpers.mjs.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-service.d.mts +20 -3
- package/dist/serve-gib/identity-index/identity-index-service.d.mts.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-service.mjs +134 -18
- package/dist/serve-gib/identity-index/identity-index-service.mjs.map +1 -1
- package/dist/serve-gib/identity-index/identity-index-types.d.mts +4 -2
- package/dist/serve-gib/identity-index/identity-index-types.d.mts.map +1 -1
- package/dist/serve-gib/index.d.mts +2 -0
- package/dist/serve-gib/index.d.mts.map +1 -1
- package/dist/serve-gib/index.mjs +6 -0
- package/dist/serve-gib/index.mjs.map +1 -1
- package/dist/serve-gib/path-constants.d.mts +9 -0
- package/dist/serve-gib/path-constants.d.mts.map +1 -1
- package/dist/serve-gib/path-constants.mjs +9 -0
- package/dist/serve-gib/path-constants.mjs.map +1 -1
- package/e2e/identity-sso-lifecycle.e2e.md +119 -0
- package/package.json +2 -2
- package/src/email/email-helpers.mts +0 -1
- package/src/email/index.mts +3 -0
- package/src/email/verify/email-verify-constants.mts +3 -0
- package/src/email/verify/email-verify-helpers.mts +466 -0
- package/src/email/verify/email-verify-types.mts +47 -0
- package/src/identity/sso/sso-config-helper.mts +52 -0
- package/src/identity/sso/sso-custodian-service.mts +566 -0
- package/src/identity/sso/sso-custodian-service.respec.mts +297 -0
- package/src/identity/sso/sso-types.mts +44 -0
- package/src/index.mts +13 -0
- package/src/serve-gib/handlers/api/email/email-outbound.handler.mts +8 -2
- package/src/serve-gib/handlers/api/email/email-verification-code.handler.mts +154 -0
- package/src/serve-gib/handlers/api/email/email-verify-code-onetime.handler.mts +231 -0
- package/src/serve-gib/handlers/api/email/email-verify.respec.mts +177 -0
- package/src/serve-gib/handlers/api/keystone/keystone-check-email.handler.mts +2 -4
- package/src/serve-gib/handlers/api/keystone/keystone-evolve.handler.mts +42 -3
- package/src/serve-gib/handlers/api/keystone/keystone-genesis.handler.mts +46 -23
- package/src/serve-gib/handlers/api/keystone/keystone-lookup.handler.mts +11 -15
- package/src/serve-gib/handlers/api/keystone/keystone-post.handler.mts +1 -1
- package/src/serve-gib/handlers/api/keystone/sso-config.handler.mts +3 -3
- package/src/serve-gib/handlers/api/keystone/sso-link.handler.mts +29 -17
- package/src/serve-gib/handlers/api/keystone/sso-login.handler.mts +69 -40
- package/src/serve-gib/identity-index/identity-index-constants.mts +5 -2
- package/src/serve-gib/identity-index/identity-index-helpers.mts +26 -12
- package/src/serve-gib/identity-index/identity-index-service.mts +133 -16
- package/src/serve-gib/identity-index/identity-index-service.respec.mts +1 -1
- package/src/serve-gib/identity-index/identity-index-types.mts +4 -2
- package/src/serve-gib/index.mts +6 -0
- package/src/serve-gib/path-constants.mts +10 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/gib/bootstrap.json +1 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/0507.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/0886.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/0AC8.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/0FC6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/1002.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/1ABE.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/2417.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/2642.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/31D3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/33F6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/407F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/4625.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/494F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/4D3F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/517A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/55FF.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/576C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/60C5.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/6C55.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/6DFC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/6E48.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/7079.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/7382.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/7744.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/7C53.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/904F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/92CC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/A299.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/AB87.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/AFBB.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/B0A6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/BEAD.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/C2D3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/C853.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/C941.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/D96D.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/DD7E.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/E370.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/E6F9.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/EEB7.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/.idx/FEEC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/0w7pf0.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/1r9dp1.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/2k3g35.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/39sgsu.json +42 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/4t03hq.json +66 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/5bix64.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/5r5v3u.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/60qc9u.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/898a74.json +60 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/8iimfa.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/aa6mm4.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/ci4634.json +60 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/cqpilh.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/d6sd2g.json +51 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/dkkzj6.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/e1nmny.json +51 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/eoqrr6.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/ft3m48.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/g2b6xo.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/gbz6i3.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/gp5ugp.json +69 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/i8iuiw.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/itji0r.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/jo8wn6.json +63 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/ky09mr.json +54 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/lq4ijg.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/lqckrq.json +54 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/o01cri.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/okqi9b.json +66 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/p6fhex.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/s4nh4j.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/sawtsp.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/svj8si.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/tgcr85.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/u1hs1z.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/vd0x19.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/vrnsq2.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/w5s255.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/wbsvkc.json +63 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/ydolqd.json +29 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/1B5/1AD/yfwzwv.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/067/CF6/.idx/397F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/067/CF6/molz3q.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/07C/981/.idx/0D86.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/07C/981/5am9g3.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/268/668/.idx/BAA5.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/268/668/1ujbli.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/2DA/DCE/.idx/EF8B.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/2DA/DCE/7yobjh.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/302/EE3/.idx/1280.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/302/EE3/ruxm9q.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/347/47F/.idx/B0A4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/347/47F/56x3qd.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/34D/E86/.idx/14B4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/34D/E86/sfbxt4.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/362/951/.idx/4833.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/362/951/m2gesh.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/3D6/FD9/.idx/EE50.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/3D6/FD9/qa2sta.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/474/949/.idx/B7D5.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/474/949/4ov79o.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/53B/443/.idx/1764.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/53B/443/slsx9h.json +22 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/564/EEB/.idx/E3C6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/564/EEB/8t59o4.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/5B9/795/.idx/1F86.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/5B9/795/mgb76m.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/647/5FF/.idx/97FF.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/647/5FF/f5t781.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/652/4A7/.idx/0FFD.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/652/4A7/rub3e4.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/661/7AA/.idx/CE3F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/661/7AA/9d31td.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/6B3/99F/.idx/1751.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/6B3/99F/rjlzbr.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/701/FCC/.idx/AA01.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/701/FCC/g1iky0.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/7A3/23E/.idx/CAB4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/7A3/23E/7tnnuf.json +30 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/7CF/D4C/.idx/7BB6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/7CF/D4C/h5966w.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/907/895/.idx/B779.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/907/895/zmijuq.json +30 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/9D6/724/.idx/4B23.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/9D6/724/bi6jty.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/A1C/85A/.idx/473F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/A1C/85A/8ywqsc.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/A20/C26/.idx/D99E.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/A20/C26/k25uyx.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/A82/D1F/.idx/0264.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/A82/D1F/r8ntj5.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/B3E/112/.idx/4767.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/B3E/112/d6yddl.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/BAF/2CF/.idx/AA13.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/BAF/2CF/1g1asm.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/BB1/68F/.idx/D34A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/BB1/68F/5s1ntf.json +22 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/C48/6C5/.idx/427A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/C48/6C5/is5pwz.json +30 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/D1E/E1B/.idx/E448.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/D1E/E1B/c3l910.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/D56/F7C/.idx/5FFD.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/D56/F7C/n5p5a4.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/E1F/96C/.idx/E8B9.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/E1F/96C/wi9pdx.json +22 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/F1C/CF3/.idx/24AA.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/F1C/CF3/bwbicg.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/FA9/61B/.idx/D10E.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/dna/FA9/61B/mlthmz.json +23 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/109E.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/1A04.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/2B50.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/2D95.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/3D14.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/4B60.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/6D0A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/739A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/8D89.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/9915.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/D1AB.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/D3CE.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/D502.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/D75C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/D846.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/E1EE.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/.idx/FBEE.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/26aw2m.json +32 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/44auxz.json +27 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/5gdov8.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/6nb8g4.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/79m38l.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/hdjjj9.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/jkj8un.json +30 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/kez3pf.json +33 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/kqlcoa.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/kzhhr9.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/rr60bx.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/s747rf.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/shhc9s.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/wbdfqr.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/wprmad.json +29 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/y1bdq8.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/06F/CBF/yyemzh.json +36 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/0A4/A95/.idx/2FDB.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/0A4/A95/k9h7zd.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/0F8/615/.idx/66D1.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/0F8/615/jd5l82.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/135/1BC/.idx/3899.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/135/1BC/wk2jaf.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/0507.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/0886.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/0AC8.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/0FC6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/1002.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/1ABE.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/2417.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/2642.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/31D3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/33F6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/407F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/4625.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/494F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/4D3F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/517A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/55FF.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/576C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/60C5.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/6C55.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/6DFC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/6E48.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/7079.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/7382.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/7744.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/7C53.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/904F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/92CC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/A299.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/AB87.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/AFBB.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/B0A6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/BEAD.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/C2D3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/C853.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/C941.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/D96D.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/DD7E.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/E370.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/E6F9.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/EEB7.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/.idx/FEEC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/0i23qd.json +42 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/0njx9p.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/1t71vd.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/3i0umg.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/3jugpj.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/523lia.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/6r1thq.json +60 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/6shcmp.json +54 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/6vuw9e.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/7fb21a.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/7z3ixd.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/apiz95.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/bq3ya0.json +66 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/dtqzm7.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/f1cc1v.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/fra0n9.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/fwfn64.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/hhah8u.json +66 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/hzdjel.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/i3prgy.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/icnlw0.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/ih3nvg.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/intdix.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/jt5rtw.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/k1pioj.json +29 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/kxkhrf.json +60 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/lkpj4c.json +63 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/llert0.json +51 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/ly8gzp.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/m2e9tf.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/myyf7g.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/n6rhv4.json +69 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/ohsh5g.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/p3m1qr.json +57 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/ri1ubo.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/u31xuv.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/vak1uu.json +63 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/xcfxld.json +48 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/ybdv2z.json +54 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/zcxeog.json +45 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B5/1AD/zpr5sm.json +51 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B7/072/.idx/6F08.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B7/072/.idx/9D2F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B7/072/.idx/C468.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B7/072/n1quub.json +27 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B7/072/u3m3nj.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1B7/072/v0bvon.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1F1/64A/.idx/FA54.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/1F1/64A/vzk0n7.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/.idx/842F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/.idx/E3EB.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/.idx/F5B3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/.idx/FF72.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/5u8e95.json +27 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/cfpwos.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/j5hyk1.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/221/386/kxcrla.json +29 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/3E3/AFF/.idx/7566.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/3E3/AFF/.idx/F88B.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/3E3/AFF/5omm1t.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/3E3/AFF/pzdpw6.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/474/53F/.idx/A1BA.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/474/53F/.idx/AE91.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/474/53F/jdy0p6.json +18 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/474/53F/luidrh.json +34 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/6C1/B0D/.idx/4B93.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/6C1/B0D/.idx/C8EE.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/6C1/B0D/0z42hw.json +18 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/6C1/B0D/mviyuy.json +34 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/6E0/809/.idx/A830.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/6E0/809/osvuw7.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/8AA/8CF/.idx/340A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/8AA/8CF/.idx/3C96.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/8AA/8CF/5dxwc3.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/8AA/8CF/lkup8t.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AB8/EE8/.idx/234F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AB8/EE8/.idx/4125.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AB8/EE8/dkqq8q.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AB8/EE8/u7rq7x.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C31/EA6/.idx/21A4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C31/EA6/.idx/B5DB.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C31/EA6/ddqwd0.json +34 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C31/EA6/dv3g7a.json +18 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C37/E30/.idx/5D02.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C37/E30/.idx/C26C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C37/E30/1uqsbb.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C37/E30/bo3ivh.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C44/1FC/.idx/29DA.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C44/1FC/.idx/B19C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C44/1FC/10c5py.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C44/1FC/iq8jrg.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CBB/76F/.idx/BFEA.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CBB/76F/zz82fn.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CF6/CCC/.idx/78D4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CF6/CCC/zb5qaz.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/D92/0D4/.idx/48D0.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/D92/0D4/.idx/7851.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/D92/0D4/1bxpgd.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/D92/0D4/9z57pg.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EA9/C9D/.idx/2D7C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EA9/C9D/.idx/3BF6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EA9/C9D/2bbiy6.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EA9/C9D/u67kod.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/1EC6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/2981.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/2E10.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/3282.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/42D8.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/67AC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/9587.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/9B63.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/B408.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/.idx/E76C.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/8wj057.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/iacugn.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/j7xr8a.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/k36jce.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/laqwdf.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/rpxu28.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/ts8gwp.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/tul77v.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/usbyje.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F6E/DA2/v9ktsh.json +31 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F9A/742/.idx/C285.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F9A/742/.idx/E512.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F9A/742/a35xji.json +28 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/F9A/742/k990bs.json +19 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/GIB/_MU/.idx/DEFAULT.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/ibgibs/GIB/_MU/qcjtt0.json +10 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/0CA3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/20A8.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/4686.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/61CD.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/758F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/78D8.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/8141.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/8181.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/838A.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/8421.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/A4D6.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/B47B.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/C2B3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/CEF7.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/D35F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/.idx/D681.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/04o229.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/1w156g.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/3e8ukz.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/448wu7.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/57kbmz.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/8mndzl.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/8rvyib.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/cu2yol.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/ixqrpu.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/m31rl7.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/o89gps.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/suxh1z.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/v4ahtu.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/ym8ycs.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/zf8fou.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/06F/CBF/znl3oo.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/1B7/072/.idx/3055.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/1B7/072/.idx/FAB7.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/1B7/072/5qqvz2.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/1B7/072/mnvkgp.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/221/386/.idx/27AC.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/221/386/.idx/41E0.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/221/386/.idx/7949.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/221/386/3hzpez.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/221/386/ec7lnr.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/221/386/hxwcts.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/474/53F/.idx/83A4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/474/53F/glyypr.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/6C1/B0D/.idx/DDC4.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/6C1/B0D/m19ild.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/8AA/8CF/.idx/7787.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/8AA/8CF/wdmthx.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/C31/EA6/.idx/4518.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/C31/EA6/vc2jjl.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/EA9/C9D/.idx/9608.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/EA9/C9D/gi6d5a.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/4206.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/693F.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/7BD2.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/A349.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/C962.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/DCC3.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/F10B.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/.idx/FC68.map +3 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/186eyv.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/3gcjaz.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/7p6ggt.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/g7ltt2.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/jpdljm.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/klqlwt.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/lysqp4.json +24 -0
- package/test-data-magic-link/domains/gi/b_/gib_multi/ibgib/default/meta/F6E/DA2/pw1nyb.json +24 -0
- package/test-data-magic-link/identity_index/email/hashes/32/13/49/e64f32730f01a61ada211f29eaf0a210fc2386b668ad04d7e8a9b16766.json +4 -0
- package/test-data-magic-link/identity_index/email/pending/1786120923715_66f34b4a10d8527725bbf82f23d34f5286de946cca3c702076cd09a6d6310b43/emails/7fba7edbcdc4d2cb66af5422d02d3f7cb6474d6abef5971a5d7a8280b2f0be33.json +5 -0
- package/test-data-magic-link/identity_index/email/pending/1786120923715_66f34b4a10d8527725bbf82f23d34f5286de946cca3c702076cd09a6d6310b43/emails/ce81f303fecd1bc5ad2c8477f9c86a5326657705a02355b8bb241c27c491cae6.json +5 -0
- package/test-data-magic-link/identity_index/email/pending/1786120923715_66f34b4a10d8527725bbf82f23d34f5286de946cca3c702076cd09a6d6310b43/keystone.json +8 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/gib/bootstrap.json +1 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/02A5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/0BE8.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/1521.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/2135.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/2FA5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/3065.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/4561.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/45FB.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/5142.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/5A8A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/74BD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/837B.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/8930.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/8FFB.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/9636.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/9B11.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/9CE2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/A3EF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/AE0E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/AFC9.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/AFDF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/B21A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/B380.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/B44D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/B71F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/BD25.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/BDD2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/C662.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/CB6D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/CC2F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/CDA1.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/D12F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/DB11.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/DE40.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/E70D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/EE03.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/F107.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/F3FD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/F737.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/FBA2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/.idx/FDA6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/0j8id3.json +69 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/13sv5j.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/1bx3b4.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/2vyfl8.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/3m44b1.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/3w3092.json +60 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/3zr3tn.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/4abhb4.json +60 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/4nnvgo.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/54girq.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/5k8z7l.json +63 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/5v53mc.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/76mtbm.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/83dbbh.json +54 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/99u0eo.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/d1hhm7.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/eisod6.json +66 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/fm0o0e.json +51 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/fmxtva.json +51 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/hc428a.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/if2ikl.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/ife08y.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/im5eyi.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/jm4rik.json +66 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/khtw98.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/m0k4vn.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/n03rh7.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/n1miqc.json +54 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/o75qbq.json +63 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/oxvgpu.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/pcuutg.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/qymxjm.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/r3l45m.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/ur4ll4.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/urxf6v.json +29 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/w87xzk.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/wtmv2w.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/wvw8w2.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/x0yru5.json +42 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/x2rs9s.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/000_zerospace/ibgibs/538/70D/y5ufek.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/036/18E/.idx/B2DE.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/036/18E/m1zff2.json +30 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/067/CF6/.idx/397F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/067/CF6/io9t15.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/07C/981/.idx/0D86.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/07C/981/1p13u3.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/268/668/.idx/BAA5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/268/668/vjtntj.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/2DA/DCE/.idx/EF8B.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/2DA/DCE/faqdcs.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/302/EE3/.idx/1280.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/302/EE3/hm3ig7.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/347/47F/.idx/B0A4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/347/47F/pr23f0.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/34D/E86/.idx/14B4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/34D/E86/pi4w4p.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/362/951/.idx/4833.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/362/951/idq7g0.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/3D6/FD9/.idx/EE50.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/3D6/FD9/tlujpc.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/412/2DB/.idx/04B3.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/412/2DB/6upzl3.json +30 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/474/949/.idx/B7D5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/474/949/bxd3hd.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/564/EEB/.idx/E3C6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/564/EEB/berklb.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/5B9/795/.idx/1F86.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/5B9/795/z6v4qn.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/647/5FF/.idx/97FF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/647/5FF/qiwpzh.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/652/4A7/.idx/0FFD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/652/4A7/96nt9p.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/661/7AA/.idx/CE3F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/661/7AA/am3brp.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/6B3/99F/.idx/1751.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/6B3/99F/qmc3zd.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/701/FCC/.idx/AA01.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/701/FCC/l9taf5.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/744/2DF/.idx/0164.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/744/2DF/9frk67.json +22 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/7CF/D4C/.idx/7BB6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/7CF/D4C/v6fbay.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/9D6/724/.idx/4B23.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/9D6/724/545cr4.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/A1C/85A/.idx/473F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/A1C/85A/zb0dur.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/A20/C26/.idx/D99E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/A20/C26/5nh909.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/A82/D1F/.idx/0264.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/A82/D1F/wc42s4.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/B3E/112/.idx/4767.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/B3E/112/q0rvfb.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/BAF/2CF/.idx/AA13.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/BAF/2CF/29lb9y.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/CE1/45E/.idx/9435.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/CE1/45E/ewaq8p.json +22 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/CF4/DE5/.idx/21DD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/CF4/DE5/uo3xo2.json +22 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/D1E/E1B/.idx/E448.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/D1E/E1B/2mtdw3.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/D56/F7C/.idx/5FFD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/D56/F7C/8dq57h.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/F1C/CF3/.idx/24AA.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/F1C/CF3/a0t25c.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/F70/D6F/.idx/0AC1.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/F70/D6F/6067lo.json +30 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/FA9/61B/.idx/D10E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/dna/FA9/61B/px1dna.json +23 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/04D/F14/.idx/114B.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/04D/F14/38471b.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/096/34A/.idx/226E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/096/34A/.idx/65A3.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/096/34A/5lyakx.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/096/34A/t5nnk7.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/.idx/2AA3.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/.idx/31DF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/.idx/7BB7.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/.idx/988D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/2k7o2x.json +27 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/dhp4g3.json +29 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/l3w8vo.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/14B/12C/yi7te9.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/218/0C4/.idx/4A79.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/218/0C4/.idx/58A7.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/218/0C4/.idx/AC66.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/218/0C4/4ea4u9.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/218/0C4/svecjx.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/218/0C4/u5vd18.json +27 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/237/98E/.idx/1CE2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/237/98E/.idx/E095.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/237/98E/4k90ik.json +34 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/237/98E/t95clp.json +18 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/427/BDD/.idx/D656.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/427/BDD/.idx/FA21.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/427/BDD/9236me.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/427/BDD/ollweo.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/4F0/63B/.idx/AFEF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/4F0/63B/kxrsif.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/02A5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/0BE8.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/1521.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/2135.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/2FA5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/3065.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/4561.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/45FB.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/5142.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/5A8A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/74BD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/837B.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/8930.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/8FFB.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/9636.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/9B11.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/9CE2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/A3EF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/AE0E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/AFC9.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/AFDF.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/B21A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/B380.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/B44D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/B71F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/BD25.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/BDD2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/C662.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/CB6D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/CC2F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/CDA1.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/D12F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/DB11.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/DE40.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/E70D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/EE03.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/F107.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/F3FD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/F737.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/FBA2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/.idx/FDA6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/04mvre.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/0gdaz2.json +42 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/1ml6w4.json +54 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/2q8ho4.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/2v69r7.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/3id3br.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/3t9wfe.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/478qym.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/4wp62c.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/79k8eq.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/7puz55.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/7v4jwn.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/8n8cf2.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/8yal1i.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/9p34io.json +66 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/eu127h.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/f2rr2q.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/ggx0l8.json +69 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/h6hu50.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/hxy03e.json +60 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/j30g60.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/knmw2b.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/lr2pll.json +51 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/oedxrv.json +54 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/ond2yz.json +29 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/pb09ai.json +60 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/q9lxzr.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/qzc5pe.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/rau8re.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/s2zr1d.json +66 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/stgef7.json +63 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/taj7fr.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/uxg6pa.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/v57kdk.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/v7927d.json +45 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/vct7v1.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/vxcycq.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/woi2mg.json +51 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/wq8ppl.json +63 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/ywcuai.json +57 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/538/70D/zvlysc.json +48 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/61A/E9C/.idx/E1AC.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/61A/E9C/wczktn.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/846/EBC/.idx/9498.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/846/EBC/.idx/E936.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/846/EBC/6ea8ot.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/846/EBC/xc0lir.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/981/97F/.idx/474A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/981/97F/.idx/D767.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/981/97F/i9s7xp.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/981/97F/nl7x65.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/9AF/6D2/.idx/C932.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/9AF/6D2/fsof7z.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/A66/BC4/.idx/59D4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/A66/BC4/.idx/EE3D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/A66/BC4/a3x5u6.json +34 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/A66/BC4/b9ton4.json +18 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AC3/318/.idx/2439.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AC3/318/.idx/CF2D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AC3/318/bbnayn.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AC3/318/yn4vcp.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AE8/CCA/.idx/1330.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AE8/CCA/.idx/4FAD.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AE8/CCA/hk8skg.json +18 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AE8/CCA/lzpobg.json +34 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AF4/BC4/.idx/D8E9.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/AF4/BC4/waptgc.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/B58/436/.idx/54DE.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/B58/436/awcdom.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C70/620/.idx/0E0D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C70/620/.idx/1F5F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C70/620/qlj08e.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/C70/620/u2rib3.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CF2/63D/.idx/1FD9.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CF2/63D/.idx/6B54.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CF2/63D/hi4cc4.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/CF2/63D/zj2qz6.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/DF4/7E2/.idx/41D5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/DF4/7E2/.idx/9185.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/DF4/7E2/el7y60.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/DF4/7E2/gkzccz.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/03D3.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/25BA.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/2CB4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/3694.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/3BB6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/875A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/B1E0.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/D5A7.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/E069.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/.idx/EC57.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/07bdy8.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/3js8h0.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/ahlgmk.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/f7pvrr.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/n2pfvu.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/s3q0xf.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/up3kg2.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/w98o0c.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/x6n3an.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/EFF/7CD/yp8p84.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FA3/D65/.idx/111E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FA3/D65/fsf889.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/0146.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/1CA0.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/2F12.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/3D47.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/4DA8.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/4F8D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/635A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/85FC.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/9A6D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/9CEE.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/AFBC.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/B358.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/B941.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/C710.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/C82A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/D7D2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/.idx/E45B.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/1vtcpf.json +19 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/4gjoy3.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/5y4byu.json +28 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/8lfojr.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/9jqyba.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/bt3hi9.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/ebgemt.json +29 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/gb09bj.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/j1r8rd.json +32 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/kcenjc.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/ks4lxr.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/kwoe9i.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/l5sllj.json +36 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/lmgabb.json +27 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/ogkmpk.json +33 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/tt0egw.json +30 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/FEB/088/xrdoyb.json +31 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/GIB/_MU/.idx/DEFAULT.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/ibgibs/GIB/_MU/tgu9la.json +10 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/14B/12C/.idx/06F4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/14B/12C/.idx/DCA9.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/14B/12C/.idx/ECA9.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/14B/12C/49ehdg.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/14B/12C/7w8vtb.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/14B/12C/bpj3hc.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/218/0C4/.idx/0AFC.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/218/0C4/.idx/AFC6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/218/0C4/2ja3kp.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/218/0C4/b6gy12.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/237/98E/.idx/55B4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/237/98E/za6noe.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/981/97F/.idx/7779.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/981/97F/qvfri3.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/A66/BC4/.idx/A668.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/A66/BC4/sji1r4.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/AE8/CCA/.idx/121D.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/AE8/CCA/0oywdt.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/C70/620/.idx/61A1.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/C70/620/jux17e.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/0226.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/1A56.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/3317.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/36B2.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/D086.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/D448.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/DEDC.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/.idx/FD1F.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/0a8g5e.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/0cwijb.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/34e0iu.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/418wo0.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/cmea4s.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/jzhffz.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/olknsc.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/EFF/7CD/yhen6e.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/13A6.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/2F98.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/4390.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/59A4.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/5C10.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/67C5.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/75F1.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/7CEC.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/A22A.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/AC2E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/B537.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/C39E.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/D5A8.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/DD71.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/E167.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/.idx/F418.map +3 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/00zoua.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/2df5jq.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/4ed39s.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/fakkuy.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/frits0.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/kqq5cq.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/mdx0be.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/ou2e56.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/qmio5c.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/sxsedc.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/ur8zup.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/x4te1h.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/y3ff6p.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/z4r2p3.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/z7v5bg.json +24 -0
- package/test-data-verify/domains/gi/b_/gib_multi/ibgib/default/meta/FEB/088/zub1cn.json +24 -0
- package/test-data-verify/identity_index/email/hashes/32/13/49/e64f32730f01a61ada211f29eaf0a210fc2386b668ad04d7e8a9b16766.json +4 -0
- package/test-data-verify/identity_index/email/pending/1786213666885_66f34b4a10d8527725bbf82f23d34f5286de946cca3c702076cd09a6d6310b43/emails/7fba7edbcdc4d2cb66af5422d02d3f7cb6474d6abef5971a5d7a8280b2f0be33.json +5 -0
- package/test-data-verify/identity_index/email/pending/1786213666885_66f34b4a10d8527725bbf82f23d34f5286de946cca3c702076cd09a6d6310b43/emails/ce81f303fecd1bc5ad2c8477f9c86a5326657705a02355b8bb241c27c491cae6.json +5 -0
- package/test-data-verify/identity_index/email/pending/1786213666885_66f34b4a10d8527725bbf82f23d34f5286de946cca3c702076cd09a6d6310b43/keystone.json +8 -0
- package/tsconfig.json +2 -2
- package/tsconfig.test.json +1 -1
- package/dist/assumptions.respec.d.mts +0 -2
- package/dist/assumptions.respec.d.mts.map +0 -1
- package/dist/assumptions.respec.mjs +0 -41
- package/dist/assumptions.respec.mjs.map +0 -1
- package/dist/email/email-service.respec.d.mts +0 -2
- package/dist/email/email-service.respec.d.mts.map +0 -1
- package/dist/email/email-service.respec.mjs +0 -115
- package/dist/email/email-service.respec.mjs.map +0 -1
- package/dist/serve-gib/bootstrap-helper.respec.d.mts +0 -2
- package/dist/serve-gib/bootstrap-helper.respec.d.mts.map +0 -1
- package/dist/serve-gib/bootstrap-helper.respec.mjs +0 -85
- package/dist/serve-gib/bootstrap-helper.respec.mjs.map +0 -1
- package/dist/serve-gib/handlers/api/health.respec.d.mts +0 -2
- package/dist/serve-gib/handlers/api/health.respec.d.mts.map +0 -1
- package/dist/serve-gib/handlers/api/health.respec.mjs +0 -47
- package/dist/serve-gib/handlers/api/health.respec.mjs.map +0 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts +0 -2
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.d.mts.map +0 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs +0 -98
- package/dist/serve-gib/handlers/api/keystone/keystone-get.respec.mjs.map +0 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts +0 -2
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.d.mts.map +0 -1
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs +0 -131
- package/dist/serve-gib/handlers/api/keystone/keystone-post.respec.mjs.map +0 -1
- package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts +0 -2
- package/dist/serve-gib/identity-index/identity-index-service.respec.d.mts.map +0 -1
- package/dist/serve-gib/identity-index/identity-index-service.respec.mjs +0 -109
- package/dist/serve-gib/identity-index/identity-index-service.respec.mjs.map +0 -1
- package/dist/serve-gib/keystone-schema-helpers.respec.d.mts +0 -2
- package/dist/serve-gib/keystone-schema-helpers.respec.d.mts.map +0 -1
- package/dist/serve-gib/keystone-schema-helpers.respec.mjs +0 -68
- package/dist/serve-gib/keystone-schema-helpers.respec.mjs.map +0 -1
- package/dist/serve-gib/path-helper.respec.d.mts +0 -2
- package/dist/serve-gib/path-helper.respec.d.mts.map +0 -1
- package/dist/serve-gib/path-helper.respec.mjs +0 -83
- package/dist/serve-gib/path-helper.respec.mjs.map +0 -1
- package/dist/serve-gib/serve-gib.respec.d.mts +0 -2
- package/dist/serve-gib/serve-gib.respec.d.mts.map +0 -1
- package/dist/serve-gib/serve-gib.respec.mjs +0 -85
- package/dist/serve-gib/serve-gib.respec.mjs.map +0 -1
- package/dist/spec-helper.node.respec.d.mts +0 -13
- package/dist/spec-helper.node.respec.d.mts.map +0 -1
- package/dist/spec-helper.node.respec.mjs +0 -50
- package/dist/spec-helper.node.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs +0 -52
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_createAndInit.node-indexed-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs +0 -53
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_persistTransformResult.node-indexed-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs +0 -59
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_putGetDelete.node-indexed-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mjs +0 -55
- package/dist/witness/space/node-filesystem-space/node-indexed-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-indexed-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs +0 -67
- package/dist/witness/space/node-filesystem-space/respec/testSpace_createAndInit.node-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs +0 -67
- package/dist/witness/space/node-filesystem-space/respec/testSpace_persistTransformResult.node-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs +0 -68
- package/dist/witness/space/node-filesystem-space/respec/testSpace_putGetDelete.node-filesystem-space-v1.respec.mjs.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.d.mts +0 -2
- package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.d.mts.map +0 -1
- package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs +0 -69
- package/dist/witness/space/node-filesystem-space/respec/testSpace_registerNewIbGib_GetLatest.node-filesystem-space-v1.respec.mjs.map +0 -1
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
import { createHmac, timingSafeEqual, randomUUID } from 'node:crypto';
|
|
2
|
+
import * as fs from 'node:fs/promises';
|
|
3
|
+
import { existsSync } from 'node:fs';
|
|
4
|
+
import * as path from 'node:path';
|
|
5
|
+
import { extractErrorMsg, hash } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
6
|
+
import { EmailSender, OutboundEmail } from '../email-types.mjs';
|
|
7
|
+
import { EmailSenderAws } from '../aws/email-sender-aws.mjs';
|
|
8
|
+
import { EmailSenderMock } from '../mock/email-sender-mock.mjs';
|
|
9
|
+
import { validateEmail } from '../email-helpers.mjs';
|
|
10
|
+
import { normalizeEmail } from '../../serve-gib/identity-index/identity-index-helpers.mjs';
|
|
11
|
+
import { DEFAULT_IDENTITY_INDEX_SALT, DEFAULT_IDENTITY_INDEX_DIR_NAME } from '../../serve-gib/identity-index/identity-index-constants.mjs';
|
|
12
|
+
import { DEFAULT_MAGIC_LINK_TTL_MS } from './email-verify-constants.mjs';
|
|
13
|
+
import { CreateMagicLinkTokenOptions, MagicLinkTokenPayload, PendingStagingDirInfo, SavePendingStagingKeystoneOptions, SavePendingStagingKeystoneResult, VerifyMagicLinkTokenOptions, VerifyMagicLinkTokenResult } from './email-verify-types.mjs';
|
|
14
|
+
|
|
15
|
+
/** In-memory store for tracking single-use nonces mapped to expiration timestamps. */
|
|
16
|
+
const consumedNonces = new Map<string, number>();
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Gets the secret key used for signing and verifying magic link tokens.
|
|
20
|
+
*/
|
|
21
|
+
export function getMagicLinkSecret(): string {
|
|
22
|
+
return process.env.MAGIC_LINK_SECRET || process.env.IDENTITY_INDEX_SALT || DEFAULT_IDENTITY_INDEX_SALT;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Generates a signed, single-use 15-minute verification token containing email and primaryTjpAddr.
|
|
27
|
+
*/
|
|
28
|
+
export function createMagicLinkToken({
|
|
29
|
+
email,
|
|
30
|
+
primaryTjpAddr,
|
|
31
|
+
ttlMs = DEFAULT_MAGIC_LINK_TTL_MS,
|
|
32
|
+
secret,
|
|
33
|
+
nonce,
|
|
34
|
+
}: CreateMagicLinkTokenOptions): string {
|
|
35
|
+
if (!email || !validateEmail(email)) {
|
|
36
|
+
throw new Error(`Invalid email address provided for magic link token creation: ${email} (E: a9b8c7d6e5f43210123456789abcdef0)`);
|
|
37
|
+
}
|
|
38
|
+
if (!primaryTjpAddr) {
|
|
39
|
+
throw new Error(`primaryTjpAddr is required for magic link token creation (E: b8c7d6e5f43210123456789abcdef01)`);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const exp = Date.now() + ttlMs;
|
|
43
|
+
const tokenNonce = nonce || randomUUID();
|
|
44
|
+
|
|
45
|
+
const payload: MagicLinkTokenPayload = {
|
|
46
|
+
email,
|
|
47
|
+
primaryTjpAddr,
|
|
48
|
+
exp,
|
|
49
|
+
nonce: tokenNonce,
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const payloadJson = JSON.stringify(payload);
|
|
53
|
+
const payloadBase64 = Buffer.from(payloadJson, 'utf-8').toString('base64url');
|
|
54
|
+
|
|
55
|
+
const signingSecret = secret || getMagicLinkSecret();
|
|
56
|
+
const signature = createHmac('sha256', signingSecret)
|
|
57
|
+
.update(payloadBase64)
|
|
58
|
+
.digest('base64url');
|
|
59
|
+
|
|
60
|
+
return `${payloadBase64}.${signature}`;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Verifies a magic link token's HMAC signature, expiration time, and single-use status.
|
|
65
|
+
*/
|
|
66
|
+
export function verifyMagicLinkToken({
|
|
67
|
+
token,
|
|
68
|
+
secret,
|
|
69
|
+
}: VerifyMagicLinkTokenOptions): VerifyMagicLinkTokenResult {
|
|
70
|
+
try {
|
|
71
|
+
if (!token || typeof token !== 'string') {
|
|
72
|
+
return { valid: false, error: 'Token must be a non-empty string. (E: c7d6e5f43210123456789abcdef012)' };
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
const parts = token.split('.');
|
|
76
|
+
if (parts.length !== 2) {
|
|
77
|
+
return { valid: false, error: 'Malformed token structure. Expected two dot-separated parts. (E: d6e5f43210123456789abcdef0123)' };
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
const [payloadBase64, providedSignature] = parts;
|
|
81
|
+
const signingSecret = secret || getMagicLinkSecret();
|
|
82
|
+
|
|
83
|
+
const expectedSignature = createHmac('sha256', signingSecret)
|
|
84
|
+
.update(payloadBase64)
|
|
85
|
+
.digest('base64url');
|
|
86
|
+
|
|
87
|
+
// Timing-safe signature comparison
|
|
88
|
+
const sigBufA = Buffer.from(providedSignature, 'utf-8');
|
|
89
|
+
const sigBufB = Buffer.from(expectedSignature, 'utf-8');
|
|
90
|
+
|
|
91
|
+
if (sigBufA.length !== sigBufB.length || !timingSafeEqual(sigBufA, sigBufB)) {
|
|
92
|
+
return { valid: false, error: 'Invalid token signature. (E: e5f43210123456789abcdef01234)' };
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const payloadJson = Buffer.from(payloadBase64, 'base64url').toString('utf-8');
|
|
96
|
+
const payload: MagicLinkTokenPayload = JSON.parse(payloadJson);
|
|
97
|
+
|
|
98
|
+
if (!payload.email || !payload.primaryTjpAddr || !payload.exp || !payload.nonce) {
|
|
99
|
+
return { valid: false, error: 'Missing required fields in token payload. (E: f43210123456789abcdef012345)' };
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
if (Date.now() > payload.exp) {
|
|
103
|
+
return { valid: false, error: 'Token has expired. (E: 43210123456789abcdef0123456)' };
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
if (isNonceUsed(payload.nonce)) {
|
|
107
|
+
return { valid: false, error: 'Token has already been used. (E: 3210123456789abcdef01234567)' };
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
return { valid: true, payload };
|
|
111
|
+
} catch (error) {
|
|
112
|
+
return { valid: false, error: `Failed to verify token: ${extractErrorMsg(error)} (E: 210123456789abcdef012345678)` };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Checks if a token nonce has already been consumed.
|
|
118
|
+
*/
|
|
119
|
+
export function isNonceUsed(nonce: string): boolean {
|
|
120
|
+
pruneExpiredNonces();
|
|
121
|
+
return consumedNonces.has(nonce);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Marks a token nonce as consumed, preventing replay.
|
|
126
|
+
*/
|
|
127
|
+
export function markNonceUsed(nonce: string, exp?: number): void {
|
|
128
|
+
const expiresAt = exp || Date.now() + DEFAULT_MAGIC_LINK_TTL_MS;
|
|
129
|
+
consumedNonces.set(nonce, expiresAt);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Helper for tests to reset consumed nonces state.
|
|
134
|
+
*/
|
|
135
|
+
export function clearConsumedNonces(): void {
|
|
136
|
+
consumedNonces.clear();
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Internal helper to clean up expired nonces from memory.
|
|
141
|
+
*/
|
|
142
|
+
function pruneExpiredNonces(): void {
|
|
143
|
+
const now = Date.now();
|
|
144
|
+
for (const [nonce, exp] of consumedNonces.entries()) {
|
|
145
|
+
if (now > exp) {
|
|
146
|
+
consumedNonces.delete(nonce);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Saves or updates a pending staging directory for an unverified keystone and its associated emails.
|
|
153
|
+
*
|
|
154
|
+
* Folder structure created:
|
|
155
|
+
* `<dataDir>/identity_index/email/pending/<expiryTicks>_<tjpHash>/`
|
|
156
|
+
* ├── keystone.json (serialized keystone DTO if provided)
|
|
157
|
+
* └── emails/
|
|
158
|
+
* └── <emailHash>.json ({ email, verified: false, verifiedAt: null })
|
|
159
|
+
*/
|
|
160
|
+
export async function savePendingStagingKeystone({
|
|
161
|
+
keystone,
|
|
162
|
+
emails,
|
|
163
|
+
dataDir,
|
|
164
|
+
ttlMs = DEFAULT_MAGIC_LINK_TTL_MS,
|
|
165
|
+
primaryTjpAddr: inputPrimaryTjpAddr,
|
|
166
|
+
}: SavePendingStagingKeystoneOptions): Promise<SavePendingStagingKeystoneResult> {
|
|
167
|
+
if (!dataDir) {
|
|
168
|
+
throw new Error('dataDir is required for savePendingStagingKeystone (E: 87123456789abcdef0123456789a0123)');
|
|
169
|
+
}
|
|
170
|
+
if (!emails || !Array.isArray(emails) || emails.length === 0) {
|
|
171
|
+
throw new Error('emails array must be a non-empty array of strings (E: 98123456789abcdef0123456789a0124)');
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
const targetTjpAddr = inputPrimaryTjpAddr || keystone?.data?.tjpAddr || keystone?.ib;
|
|
175
|
+
if (!targetTjpAddr) {
|
|
176
|
+
throw new Error('Primary identity TJP address could not be derived from options or keystone (E: 09123456789abcdef0123456789a0125)');
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
const tjpHash = await hash({ s: `emailindex${targetTjpAddr}` });
|
|
180
|
+
const expiryTicks = Date.now() + ttlMs;
|
|
181
|
+
|
|
182
|
+
const pendingBaseDir = path.join(dataDir, DEFAULT_IDENTITY_INDEX_DIR_NAME, 'email', 'pending');
|
|
183
|
+
|
|
184
|
+
// Remove any existing pending directory for this tjpHash to maintain a single active staging entry
|
|
185
|
+
try {
|
|
186
|
+
if (existsSync(pendingBaseDir)) {
|
|
187
|
+
const entries = await fs.readdir(pendingBaseDir, { withFileTypes: true });
|
|
188
|
+
for (const entry of entries) {
|
|
189
|
+
if (entry.isDirectory() && entry.name.endsWith(`_${tjpHash}`)) {
|
|
190
|
+
const oldDir = path.join(pendingBaseDir, entry.name);
|
|
191
|
+
await fs.rm(oldDir, { recursive: true, force: true });
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
} catch { /* ignore directory reading errors */ }
|
|
196
|
+
|
|
197
|
+
const pendingDir = path.join(pendingBaseDir, `${expiryTicks}_${tjpHash}`);
|
|
198
|
+
const emailsDir = path.join(pendingDir, 'emails');
|
|
199
|
+
|
|
200
|
+
await fs.mkdir(emailsDir, { recursive: true });
|
|
201
|
+
|
|
202
|
+
if (keystone) {
|
|
203
|
+
const keystonePath = path.join(pendingDir, 'keystone.json');
|
|
204
|
+
await fs.writeFile(keystonePath, JSON.stringify(keystone, null, 2), 'utf-8');
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
for (const email of emails) {
|
|
208
|
+
const normEmail = normalizeEmail(email);
|
|
209
|
+
const emailHash = await hash({ s: `emailindex${normEmail}` });
|
|
210
|
+
const emailMetaPath = path.join(emailsDir, `${emailHash}.json`);
|
|
211
|
+
const meta = {
|
|
212
|
+
email: normEmail,
|
|
213
|
+
verified: false,
|
|
214
|
+
verifiedAt: null,
|
|
215
|
+
};
|
|
216
|
+
await fs.writeFile(emailMetaPath, JSON.stringify(meta, null, 2), 'utf-8');
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
return {
|
|
220
|
+
pendingDir,
|
|
221
|
+
expiryTicks,
|
|
222
|
+
tjpHash,
|
|
223
|
+
};
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Generates a 6-digit numeric verification code string (e.g. "482901").
|
|
228
|
+
*/
|
|
229
|
+
export function generateVerificationCode(): string {
|
|
230
|
+
const codeNum = Math.floor(100000 + Math.random() * 900000);
|
|
231
|
+
return codeNum.toString();
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export interface SavePendingCodeRecordOptions {
|
|
235
|
+
pendingDir: string;
|
|
236
|
+
code: string;
|
|
237
|
+
maxAttempts?: number;
|
|
238
|
+
ttlMs?: number;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export interface PendingCodeRecord {
|
|
242
|
+
codeHash: string;
|
|
243
|
+
attempts: number;
|
|
244
|
+
maxAttempts: number;
|
|
245
|
+
expiresAt: number;
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Saves a hashed 6-digit verification code record to `code.json` in the pending staging directory.
|
|
250
|
+
*/
|
|
251
|
+
export async function savePendingCodeRecord({
|
|
252
|
+
pendingDir,
|
|
253
|
+
code,
|
|
254
|
+
maxAttempts = 5,
|
|
255
|
+
ttlMs = DEFAULT_MAGIC_LINK_TTL_MS,
|
|
256
|
+
}: SavePendingCodeRecordOptions): Promise<void> {
|
|
257
|
+
const codeHash = await hash({ s: `verificationcode${code}` });
|
|
258
|
+
const record: PendingCodeRecord = {
|
|
259
|
+
codeHash,
|
|
260
|
+
attempts: 0,
|
|
261
|
+
maxAttempts,
|
|
262
|
+
expiresAt: Date.now() + ttlMs,
|
|
263
|
+
};
|
|
264
|
+
const codeFilePath = path.join(pendingDir, 'code.json');
|
|
265
|
+
await fs.writeFile(codeFilePath, JSON.stringify(record, null, 2), 'utf-8');
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Creates a default EmailSender instance based on process.env.EMAIL_MODE and NODE_ENV.
|
|
270
|
+
*/
|
|
271
|
+
export function createDefaultEmailSender(): EmailSender {
|
|
272
|
+
const isProd = process.env.NODE_ENV === 'production';
|
|
273
|
+
const mode = (process.env.EMAIL_MODE || (isProd ? 'aws' : 'mock')).toLowerCase();
|
|
274
|
+
if (mode === 'aws') {
|
|
275
|
+
return new EmailSenderAws({
|
|
276
|
+
accessKeyId: process.env.AWS_ACCESS_KEY_ID || '',
|
|
277
|
+
secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY || '',
|
|
278
|
+
region: process.env.AWS_REGION || 'us-east-1',
|
|
279
|
+
});
|
|
280
|
+
} else if (mode === 'mock') {
|
|
281
|
+
if (isProd) {
|
|
282
|
+
throw new Error('EMAIL_MODE=mock is prohibited when NODE_ENV=production. (E: 897a6b5c4d3e2f10987654321fedcba0)');
|
|
283
|
+
}
|
|
284
|
+
return new EmailSenderMock();
|
|
285
|
+
} else {
|
|
286
|
+
throw new Error(`Unsupported EMAIL_MODE '${mode}'. Must be 'aws' or 'mock'. (E: 987a6b5c4d3e2f10987654321fedcba1)`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
/**
|
|
291
|
+
* Generates a 6-digit OTP code, writes `code.json` to the pending staging directory,
|
|
292
|
+
* and dispatches an email via the active `EmailSender` driver.
|
|
293
|
+
*/
|
|
294
|
+
export async function dispatchVerificationCode({
|
|
295
|
+
email,
|
|
296
|
+
primaryTjpAddr,
|
|
297
|
+
pendingDir,
|
|
298
|
+
sender,
|
|
299
|
+
}: {
|
|
300
|
+
email: string;
|
|
301
|
+
primaryTjpAddr: string;
|
|
302
|
+
pendingDir: string;
|
|
303
|
+
sender?: EmailSender;
|
|
304
|
+
}): Promise<{ success: boolean; code?: string; messageId?: string; error?: string }> {
|
|
305
|
+
const code = generateVerificationCode();
|
|
306
|
+
await savePendingCodeRecord({ pendingDir, code });
|
|
307
|
+
|
|
308
|
+
const activeSender = sender || createDefaultEmailSender();
|
|
309
|
+
const outboundEmail: OutboundEmail = {
|
|
310
|
+
from: process.env.AWS_SES_FROM_EMAIL || 'noreply@ibgib.com',
|
|
311
|
+
to: [email],
|
|
312
|
+
subject: 'Verify your Ibgib Identity Email',
|
|
313
|
+
textBody: `Hello,\n\nYour 6-digit verification code for your Ibgib identity is:\n\n${code}\n\nThis code will expire in 15 minutes.\n\nIf you did not request this, please ignore this email.`,
|
|
314
|
+
htmlBody: `<div style="font-family: sans-serif; max-width: 600px; margin: 0 auto; padding: 20px; border: 1px solid #e0e0e0; border-radius: 8px;">
|
|
315
|
+
<h2>Verify your Ibgib Identity Email</h2>
|
|
316
|
+
<p>Your 6-digit verification code is:</p>
|
|
317
|
+
<h1 style="font-family: monospace; font-size: 36px; letter-spacing: 6px; color: #4f46e5; margin: 24px 0;">${code}</h1>
|
|
318
|
+
<p style="font-size: 12px; color: #999;">This code will expire in 15 minutes.</p>
|
|
319
|
+
</div>`,
|
|
320
|
+
};
|
|
321
|
+
|
|
322
|
+
const sendResult = await activeSender.sendEmail(outboundEmail);
|
|
323
|
+
|
|
324
|
+
const isProd = process.env.NODE_ENV === 'production';
|
|
325
|
+
const mode = (process.env.EMAIL_MODE || (isProd ? 'aws' : 'mock')).toLowerCase();
|
|
326
|
+
if (sendResult.success && (mode === 'mock' || !isProd)) {
|
|
327
|
+
console.log(`✉️ [EmailSenderMock] Verification Code for ${email}: ${code} (I: c123456789abcdef0123456789abcdef)`);
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
return {
|
|
331
|
+
success: sendResult.success,
|
|
332
|
+
code,
|
|
333
|
+
messageId: sendResult.messageId,
|
|
334
|
+
error: sendResult.error,
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
export interface VerifyPendingCodeOptions {
|
|
339
|
+
pendingDir: string;
|
|
340
|
+
code: string;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
export interface VerifyPendingCodeResult {
|
|
344
|
+
valid: boolean;
|
|
345
|
+
error?: string;
|
|
346
|
+
reason?: 'expired' | 'too_many_attempts' | 'invalid_code';
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Validates a 6-digit verification code against `code.json` in the pending staging directory.
|
|
351
|
+
* Increments `attempts`. Enforces 5-attempt rate limit.
|
|
352
|
+
*/
|
|
353
|
+
export async function verifyPendingCode({
|
|
354
|
+
pendingDir,
|
|
355
|
+
code,
|
|
356
|
+
}: VerifyPendingCodeOptions): Promise<VerifyPendingCodeResult> {
|
|
357
|
+
const codeFilePath = path.join(pendingDir, 'code.json');
|
|
358
|
+
if (!existsSync(codeFilePath)) {
|
|
359
|
+
return { valid: false, error: 'Verification code record not found. Please click "Resend Code" to request a new code.', reason: 'invalid_code' };
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
const raw = await fs.readFile(codeFilePath, 'utf-8');
|
|
363
|
+
const record: PendingCodeRecord = JSON.parse(raw);
|
|
364
|
+
|
|
365
|
+
if (Date.now() > record.expiresAt) {
|
|
366
|
+
return { valid: false, error: 'Verification code has expired. Please click "Resend Code" for a new code.', reason: 'expired' };
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
if (record.attempts >= record.maxAttempts) {
|
|
370
|
+
return { valid: false, error: 'Too many incorrect attempts. Please click "Resend Code" for a new code.', reason: 'too_many_attempts' };
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
record.attempts += 1;
|
|
374
|
+
await fs.writeFile(codeFilePath, JSON.stringify(record, null, 2), 'utf-8');
|
|
375
|
+
|
|
376
|
+
const inputHash = await hash({ s: `verificationcode${code.trim()}` });
|
|
377
|
+
if (inputHash !== record.codeHash) {
|
|
378
|
+
const remaining = record.maxAttempts - record.attempts;
|
|
379
|
+
if (remaining <= 0) {
|
|
380
|
+
return { valid: false, error: 'Too many incorrect attempts. Please click "Resend Code" for a new code.', reason: 'too_many_attempts' };
|
|
381
|
+
}
|
|
382
|
+
return { valid: false, error: `Incorrect verification code. (${remaining} attempt${remaining === 1 ? '' : 's'} remaining)`, reason: 'invalid_code' };
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
return { valid: true };
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/**
|
|
389
|
+
* Helper to derive consistent tjpHash for email staging quarantine directories.
|
|
390
|
+
*/
|
|
391
|
+
export async function getPendingTjpHash(primaryTjpAddr: string): Promise<string> {
|
|
392
|
+
return await hash({ s: `emailindex${primaryTjpAddr}` });
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
/**
|
|
396
|
+
* Locates the pending staging directory for a given tjpHash under `<dataDir>/identity_index/email/pending/`.
|
|
397
|
+
*/
|
|
398
|
+
export async function getPendingStagingDir({
|
|
399
|
+
dataDir,
|
|
400
|
+
tjpHash,
|
|
401
|
+
}: {
|
|
402
|
+
dataDir: string;
|
|
403
|
+
tjpHash: string;
|
|
404
|
+
}): Promise<PendingStagingDirInfo | undefined> {
|
|
405
|
+
const pendingBaseDir = path.join(dataDir, DEFAULT_IDENTITY_INDEX_DIR_NAME, 'email', 'pending');
|
|
406
|
+
try {
|
|
407
|
+
const entries = await fs.readdir(pendingBaseDir, { withFileTypes: true });
|
|
408
|
+
for (const entry of entries) {
|
|
409
|
+
if (entry.isDirectory() && entry.name.endsWith(`_${tjpHash}`)) {
|
|
410
|
+
const parts = entry.name.split('_');
|
|
411
|
+
const expiryTicks = parseInt(parts[0], 10);
|
|
412
|
+
const pendingDir = path.join(pendingBaseDir, entry.name);
|
|
413
|
+
const isExpired = Date.now() > expiryTicks;
|
|
414
|
+
return { pendingDir, expiryTicks, tjpHash, isExpired };
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
return undefined;
|
|
418
|
+
} catch (err: any) {
|
|
419
|
+
if (err.code === 'ENOENT') {
|
|
420
|
+
return undefined;
|
|
421
|
+
}
|
|
422
|
+
throw err;
|
|
423
|
+
}
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
/**
|
|
427
|
+
* Executes garbage collection on expired staging directories using an OS atomic lockfile (`.gc.lock` with `flag: 'wx'`).
|
|
428
|
+
*/
|
|
429
|
+
export async function performPendingGc({ dataDir }: { dataDir: string }): Promise<number> {
|
|
430
|
+
const pendingBaseDir = path.join(dataDir, DEFAULT_IDENTITY_INDEX_DIR_NAME, 'email', 'pending');
|
|
431
|
+
const lockFile = path.join(pendingBaseDir, '.gc.lock');
|
|
432
|
+
let lockAcquired = false;
|
|
433
|
+
|
|
434
|
+
try {
|
|
435
|
+
await fs.mkdir(pendingBaseDir, { recursive: true });
|
|
436
|
+
await fs.writeFile(lockFile, JSON.stringify({ pid: process.pid, lockedAt: Date.now() }), { flag: 'wx' });
|
|
437
|
+
lockAcquired = true;
|
|
438
|
+
|
|
439
|
+
const entries = await fs.readdir(pendingBaseDir, { withFileTypes: true });
|
|
440
|
+
const now = Date.now();
|
|
441
|
+
let cleanedCount = 0;
|
|
442
|
+
|
|
443
|
+
for (const entry of entries) {
|
|
444
|
+
if (entry.isDirectory() && entry.name.includes('_')) {
|
|
445
|
+
const parts = entry.name.split('_');
|
|
446
|
+
const expiryTicks = parseInt(parts[0], 10);
|
|
447
|
+
if (!isNaN(expiryTicks) && now > expiryTicks) {
|
|
448
|
+
const dirToRemove = path.join(pendingBaseDir, entry.name);
|
|
449
|
+
await fs.rm(dirToRemove, { recursive: true, force: true });
|
|
450
|
+
cleanedCount++;
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
}
|
|
454
|
+
return cleanedCount;
|
|
455
|
+
} catch (err: any) {
|
|
456
|
+
if (err.code === 'EEXIST') {
|
|
457
|
+
// Lockfile already exists, another process is executing GC
|
|
458
|
+
return 0;
|
|
459
|
+
}
|
|
460
|
+
throw err;
|
|
461
|
+
} finally {
|
|
462
|
+
if (lockAcquired) {
|
|
463
|
+
try { await fs.unlink(lockFile); } catch { /* ignore */ }
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
|
|
2
|
+
export interface MagicLinkTokenPayload {
|
|
3
|
+
email: string;
|
|
4
|
+
primaryTjpAddr: string;
|
|
5
|
+
exp: number;
|
|
6
|
+
nonce: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export interface CreateMagicLinkTokenOptions {
|
|
10
|
+
email: string;
|
|
11
|
+
primaryTjpAddr: string;
|
|
12
|
+
ttlMs?: number;
|
|
13
|
+
secret?: string;
|
|
14
|
+
nonce?: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export interface VerifyMagicLinkTokenOptions {
|
|
18
|
+
token: string;
|
|
19
|
+
secret?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface VerifyMagicLinkTokenResult {
|
|
23
|
+
valid: boolean;
|
|
24
|
+
error?: string;
|
|
25
|
+
payload?: MagicLinkTokenPayload;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface SavePendingStagingKeystoneOptions {
|
|
29
|
+
keystone?: any;
|
|
30
|
+
emails: string[];
|
|
31
|
+
dataDir: string;
|
|
32
|
+
ttlMs?: number;
|
|
33
|
+
primaryTjpAddr?: string;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export interface SavePendingStagingKeystoneResult {
|
|
37
|
+
pendingDir: string;
|
|
38
|
+
expiryTicks: number;
|
|
39
|
+
tjpHash: string;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export interface PendingStagingDirInfo {
|
|
43
|
+
pendingDir: string;
|
|
44
|
+
expiryTicks: number;
|
|
45
|
+
tjpHash: string;
|
|
46
|
+
isExpired: boolean;
|
|
47
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { SsoServerConfig, SsoProviderServerConfig, SsoProviderId } from './sso-types.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Loads the SSO configuration from environment variables.
|
|
5
|
+
* Parses active OAuth2 providers dynamically based on their environment keys.
|
|
6
|
+
*/
|
|
7
|
+
export function loadSsoServerConfig(): SsoServerConfig {
|
|
8
|
+
const ssoServerKdfSecret = process.env.SSO_SERVER_KDF_SECRET;
|
|
9
|
+
const sessionSecret = process.env.SESSION_SECRET;
|
|
10
|
+
|
|
11
|
+
if (!ssoServerKdfSecret) {
|
|
12
|
+
throw new Error(
|
|
13
|
+
`SSO_SERVER_KDF_SECRET is missing from environment. (E: 840899ab4fdfd23e89cfae1889cfae12)`
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
if (!sessionSecret) {
|
|
17
|
+
throw new Error(
|
|
18
|
+
`SESSION_SECRET is missing from environment. (E: bfa899ab4fdfd23e89cfae23)`
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const providers: Partial<Record<SsoProviderId, SsoProviderServerConfig>> = {};
|
|
23
|
+
|
|
24
|
+
// Load Google Provider if configured
|
|
25
|
+
if (process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET) {
|
|
26
|
+
providers.google = {
|
|
27
|
+
providerId: 'google',
|
|
28
|
+
clientId: process.env.GOOGLE_CLIENT_ID,
|
|
29
|
+
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
|
|
30
|
+
tokenUrl: 'https://oauth2.googleapis.com/token',
|
|
31
|
+
userInfoUrl: 'https://openidconnect.googleapis.com/v1/userinfo',
|
|
32
|
+
jwksUrl: 'https://www.googleapis.com/oauth2/v3/certs'
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
// Load GitHub Provider if configured
|
|
37
|
+
if (process.env.GITHUB_CLIENT_ID && process.env.GITHUB_CLIENT_SECRET) {
|
|
38
|
+
providers.github = {
|
|
39
|
+
providerId: 'github',
|
|
40
|
+
clientId: process.env.GITHUB_CLIENT_ID,
|
|
41
|
+
clientSecret: process.env.GITHUB_CLIENT_SECRET,
|
|
42
|
+
tokenUrl: 'https://github.com/login/oauth/access_token',
|
|
43
|
+
userInfoUrl: 'https://api.github.com/user'
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return {
|
|
48
|
+
ssoServerKdfSecret,
|
|
49
|
+
sessionSecret,
|
|
50
|
+
providers
|
|
51
|
+
};
|
|
52
|
+
}
|