@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,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Loads the SSO configuration from environment variables.
|
|
3
|
+
* Parses active OAuth2 providers dynamically based on their environment keys.
|
|
4
|
+
*/
|
|
5
|
+
export function loadSsoServerConfig() {
|
|
6
|
+
const ssoServerKdfSecret = process.env.SSO_SERVER_KDF_SECRET;
|
|
7
|
+
const sessionSecret = process.env.SESSION_SECRET;
|
|
8
|
+
if (!ssoServerKdfSecret) {
|
|
9
|
+
throw new Error(`SSO_SERVER_KDF_SECRET is missing from environment. (E: 840899ab4fdfd23e89cfae1889cfae12)`);
|
|
10
|
+
}
|
|
11
|
+
if (!sessionSecret) {
|
|
12
|
+
throw new Error(`SESSION_SECRET is missing from environment. (E: bfa899ab4fdfd23e89cfae23)`);
|
|
13
|
+
}
|
|
14
|
+
const providers = {};
|
|
15
|
+
// Load Google Provider if configured
|
|
16
|
+
if (process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET) {
|
|
17
|
+
providers.google = {
|
|
18
|
+
providerId: 'google',
|
|
19
|
+
clientId: process.env.GOOGLE_CLIENT_ID,
|
|
20
|
+
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
|
|
21
|
+
tokenUrl: 'https://oauth2.googleapis.com/token',
|
|
22
|
+
userInfoUrl: 'https://openidconnect.googleapis.com/v1/userinfo',
|
|
23
|
+
jwksUrl: 'https://www.googleapis.com/oauth2/v3/certs'
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
// Load GitHub Provider if configured
|
|
27
|
+
if (process.env.GITHUB_CLIENT_ID && process.env.GITHUB_CLIENT_SECRET) {
|
|
28
|
+
providers.github = {
|
|
29
|
+
providerId: 'github',
|
|
30
|
+
clientId: process.env.GITHUB_CLIENT_ID,
|
|
31
|
+
clientSecret: process.env.GITHUB_CLIENT_SECRET,
|
|
32
|
+
tokenUrl: 'https://github.com/login/oauth/access_token',
|
|
33
|
+
userInfoUrl: 'https://api.github.com/user'
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
ssoServerKdfSecret,
|
|
38
|
+
sessionSecret,
|
|
39
|
+
providers
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sso-config-helper.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso-config-helper.mjs","sourceRoot":"","sources":["../../../src/identity/sso/sso-config-helper.mts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IAC/B,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IAC7D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAEjD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACX,0FAA0F,CAC7F,CAAC;IACN,CAAC;IACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACX,2EAA2E,CAC9E,CAAC;IACN,CAAC;IAED,MAAM,SAAS,GAA4D,EAAE,CAAC;IAE9E,qCAAqC;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACnE,SAAS,CAAC,MAAM,GAAG;YACf,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YAC9C,QAAQ,EAAE,qCAAqC;YAC/C,WAAW,EAAE,kDAAkD;YAC/D,OAAO,EAAE,4CAA4C;SACxD,CAAC;IACN,CAAC;IAED,qCAAqC;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACnE,SAAS,CAAC,MAAM,GAAG;YACf,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YACtC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;YAC9C,QAAQ,EAAE,6CAA6C;YACvD,WAAW,EAAE,6BAA6B;SAC7C,CAAC;IACN,CAAC;IAED,OAAO;QACH,kBAAkB;QAClB,aAAa;QACb,SAAS;KACZ,CAAC;AACN,CAAC"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { KeystoneChallengePool } from '@ibgib/core-gib/dist/keystone/keystone-types.mjs';
|
|
2
|
+
import { MetaspaceService } from '@ibgib/core-gib/dist/witness/space/metaspace/metaspace-types.mjs';
|
|
3
|
+
import { IbGibSpaceAny } from '@ibgib/core-gib/dist/witness/space/space-base-v1.mjs';
|
|
4
|
+
import { SsoServerConfig, SsoProviderId, OAuthUserInfo, SsoProviderServerConfig, SsoProviderClientConfig } from './sso-types.mjs';
|
|
5
|
+
/**
|
|
6
|
+
* Server-side service for token exchange, JWT validation, and user profile normalization.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SsoCustodianService {
|
|
9
|
+
private config;
|
|
10
|
+
private lc;
|
|
11
|
+
private jwksCache;
|
|
12
|
+
private jwksTtlMs;
|
|
13
|
+
/**
|
|
14
|
+
* @param config The server's global SSO configuration.
|
|
15
|
+
* - Visibility: Private (Contains high-entropy secrets like `ssoServerKdfSecret` and `sessionSecret`).
|
|
16
|
+
* - Generator: Server (Bootstrapped from node environment variables on server initialization).
|
|
17
|
+
*/
|
|
18
|
+
constructor(config: SsoServerConfig);
|
|
19
|
+
/**
|
|
20
|
+
* Exchanges an authorization code for an OAuth2 token and retrieves normalized user info.
|
|
21
|
+
*
|
|
22
|
+
* @param providerId The string identifier of the OAuth provider (e.g. 'google' or 'github').
|
|
23
|
+
* - Visibility: Public (Non-sensitive metadata string).
|
|
24
|
+
* - Generator: Client (Sent from browser UI selection).
|
|
25
|
+
*
|
|
26
|
+
* @param code The temporary authorization code returned by the OAuth provider.
|
|
27
|
+
* - Visibility: Private (Confidential short-lived bearer credential. Must be kept private).
|
|
28
|
+
* - Generator: Provider (Created by provider's OAuth page and sent to client redirect URI).
|
|
29
|
+
*
|
|
30
|
+
* @param redirectUri The redirect URI registered in the provider portal.
|
|
31
|
+
* - Visibility: Public (Configuration URL).
|
|
32
|
+
* - Generator: Client/Server (Derived from environmental configuration and sent by client).
|
|
33
|
+
*/
|
|
34
|
+
getOAuthUserInfo(providerId: SsoProviderId, code: string, redirectUri: string): Promise<OAuthUserInfo>;
|
|
35
|
+
/**
|
|
36
|
+
* Directly validates a Google ID Token (JWT) locally and returns normalized user info.
|
|
37
|
+
* Useful for client-side authentication handshakes.
|
|
38
|
+
*
|
|
39
|
+
* @param idToken The raw base64-encoded signed JSON Web Token (JWT) ID token returned by Google.
|
|
40
|
+
* - Visibility: Private (Sensitive bearer credential containing signature and claims. Must be kept private).
|
|
41
|
+
* - Generator: Provider (Generated and signed cryptographically by Google authentication servers).
|
|
42
|
+
*/
|
|
43
|
+
verifyAndNormalizeGoogleToken(idToken: string): Promise<OAuthUserInfo>;
|
|
44
|
+
/**
|
|
45
|
+
* Internal: Exchange authorization code for access token / ID token.
|
|
46
|
+
*
|
|
47
|
+
* @param providerConfig Server configuration settings for the specific provider.
|
|
48
|
+
* - Visibility: Private (Contains provider client secrets. Must stay server-side).
|
|
49
|
+
* - Generator: Server (Configured from node environment variables).
|
|
50
|
+
*
|
|
51
|
+
* @param code The temporary authorization code to exchange.
|
|
52
|
+
* - Visibility: Private (Short-lived credential. Must be kept private).
|
|
53
|
+
* - Generator: Provider (Via OAuth flow).
|
|
54
|
+
*
|
|
55
|
+
* @param redirectUri The redirect URI registered for the exchange.
|
|
56
|
+
* - Visibility: Public (Configuration URL).
|
|
57
|
+
* - Generator: Client/Server (From app configuration).
|
|
58
|
+
*/
|
|
59
|
+
private exchangeCodeForTokens;
|
|
60
|
+
/**
|
|
61
|
+
* Internal: Fetch GitHub user profile and normalize.
|
|
62
|
+
*
|
|
63
|
+
* @param providerConfig Server configuration settings for GitHub.
|
|
64
|
+
* - Visibility: Private (Contains GitHub client secret).
|
|
65
|
+
* - Generator: Server (From environment config).
|
|
66
|
+
*
|
|
67
|
+
* @param accessToken The active OAuth2 access token to authorize the API call.
|
|
68
|
+
* - Visibility: Private (Bearer token. Must be kept private).
|
|
69
|
+
* - Generator: Provider (GitHub token endpoint).
|
|
70
|
+
*/
|
|
71
|
+
private fetchAndNormalizeGithubUser;
|
|
72
|
+
/**
|
|
73
|
+
* Internal: Decodes and cryptographically verifies a JWT signature using JWKS public keys.
|
|
74
|
+
*
|
|
75
|
+
* @param token The raw base64-encoded JWT token to verify.
|
|
76
|
+
* - Visibility: Private (Sensitive token. Must be kept private).
|
|
77
|
+
* - Generator: Provider (Google / OIDC server).
|
|
78
|
+
*
|
|
79
|
+
* @param providerConfig The target provider server settings containing `jwksUrl`.
|
|
80
|
+
* - Visibility: Private (Contains secrets).
|
|
81
|
+
* - Generator: Server (From environment config).
|
|
82
|
+
*/
|
|
83
|
+
verifyJwt(token: string, providerConfig: SsoProviderServerConfig): Promise<any>;
|
|
84
|
+
/**
|
|
85
|
+
* Internal: Retrieves JWKS keys from cache or fetches them from the provider's jwksUrl.
|
|
86
|
+
*
|
|
87
|
+
* @param providerConfig The provider config containing the target `jwksUrl`.
|
|
88
|
+
* - Visibility: Private (Contains client secrets).
|
|
89
|
+
* - Generator: Server (From environment config).
|
|
90
|
+
*/
|
|
91
|
+
private getJwksKeys;
|
|
92
|
+
/**
|
|
93
|
+
* Derives a server-delegate master secret deterministically using the server's private KDF secret,
|
|
94
|
+
* the providerKey, and the user's public nonce.
|
|
95
|
+
*
|
|
96
|
+
* @param providerKey The unique key identifying the provider and user sub ID (e.g. `google:123...`).
|
|
97
|
+
* - Visibility: Public (Identifier saved on parent's delegate claim, safe for log/ledger storage).
|
|
98
|
+
* - Generator: Provider/Server (Derived by mapping provider user sub ID after authentication).
|
|
99
|
+
*
|
|
100
|
+
* @param userNonce The public, high-entropy nonce generated by the client to salt the KDF derivation.
|
|
101
|
+
* - Visibility: Public (Salt value stored on parent's delegate claim, safe for ledger storage).
|
|
102
|
+
* - Generator: Client (Generated offline on user's device).
|
|
103
|
+
*/
|
|
104
|
+
deriveServerDelegateSecret(providerKey: string, userNonce: string): Promise<string>;
|
|
105
|
+
/**
|
|
106
|
+
* Creates a public custodian challenge pool (custodian-manage) derived deterministically
|
|
107
|
+
* from the server's private KDF secret, providerKey, and userNonce.
|
|
108
|
+
*
|
|
109
|
+
* @param providerKey The unique key identifying the provider and user sub ID (e.g. `google:123...`).
|
|
110
|
+
* - Visibility: Public (Mapped identifier, safe for ledger).
|
|
111
|
+
* - Generator: Provider/Server (Derived after successful token exchange).
|
|
112
|
+
*
|
|
113
|
+
* @param userNonce The public, high-entropy nonce.
|
|
114
|
+
* - Visibility: Public (Derivation salt, safe for ledger).
|
|
115
|
+
* - Generator: Client (Generated on user's device).
|
|
116
|
+
*/
|
|
117
|
+
createCustodianChallengePool({ providerId, providerKey, userNonce, keystoneAddr, metaspace, space, }: {
|
|
118
|
+
providerId: string;
|
|
119
|
+
providerKey: string;
|
|
120
|
+
userNonce: string;
|
|
121
|
+
keystoneAddr: string;
|
|
122
|
+
metaspace: MetaspaceService;
|
|
123
|
+
space: IbGibSpaceAny;
|
|
124
|
+
}): Promise<KeystoneChallengePool>;
|
|
125
|
+
/**
|
|
126
|
+
* Maps private server configuration to safe public client configurations.
|
|
127
|
+
*
|
|
128
|
+
* @param hostUrl The root URL host address of the server (e.g. `https://space-gib.localhost` or `https://ibgib.space`).
|
|
129
|
+
* - Visibility: Public (Non-sensitive hostname configuration).
|
|
130
|
+
* - Generator: Server (Extracted from the HTTP request context headers/protocol).
|
|
131
|
+
*/
|
|
132
|
+
getSsoClientConfigs(hostUrl: string): SsoProviderClientConfig[];
|
|
133
|
+
/**
|
|
134
|
+
* Revokes an active OAuth access or refresh token with the provider.
|
|
135
|
+
* Keeps token revocation logic DRY and centralized.
|
|
136
|
+
*/
|
|
137
|
+
revokeToken(providerId: SsoProviderId, token: string): Promise<void>;
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=sso-custodian-service.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sso-custodian-service.d.mts","sourceRoot":"","sources":["../../../src/identity/sso/sso-custodian-service.mts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAsB,MAAM,kDAAkD,CAAC;AAI7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,kEAAkE,CAAC;AACpG,OAAO,EAAE,aAAa,EAAE,MAAM,sDAAsD,CAAC;AAErF,OAAO,EACH,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,uBAAuB,EACtE,uBAAuB,EAC1B,MAAM,iBAAiB,CAAC;AAgBzB;;GAEG;AACH,qBAAa,mBAAmB;IAYhB,OAAO,CAAC,MAAM;IAX1B,OAAO,CAAC,EAAE,CAAmC;IAG7C,OAAO,CAAC,SAAS,CAAwE;IACzF,OAAO,CAAC,SAAS,CAAuB;IAExC;;;;OAIG;IACH,YAAoB,MAAM,EAAE,eAAe,EAAK;IAEhD;;;;;;;;;;;;;;OAcG;IACG,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA4B3G;IAED;;;;;;;OAOG;IACG,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAmC3E;IAED;;;;;;;;;;;;;;OAcG;YACW,qBAAqB;IAoCnC;;;;;;;;;;OAUG;YACW,2BAA2B;IA4DzC;;;;;;;;;;OAUG;IACU,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,CAqD3F;IAED;;;;;;OAMG;YACW,WAAW;IA8BzB;;;;;;;;;;;OAWG;IACG,0BAA0B,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWxF;IAED;;;;;;;;;;;OAWG;IACG,4BAA4B,CAAC,EAC/B,UAAU,EACV,WAAW,EACX,SAAS,EACT,YAAY,EACZ,SAAS,EACT,KAAK,GACR,EAAE;QACC,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,gBAAgB,CAAC;QAC5B,KAAK,EAAE,aAAa,CAAC;KACxB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAuEjC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,uBAAuB,EAAE,CAwB9D;IAED;;;OAGG;IACG,WAAW,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCzE;CACJ"}
|
|
@@ -0,0 +1,471 @@
|
|
|
1
|
+
import { createPublicKey, verify } from 'node:crypto';
|
|
2
|
+
import { hash, HashAlgorithm, extractErrorMsg } from '@ibgib/helper-gib/dist/helpers/utils-helper.mjs';
|
|
3
|
+
import { kdf_recursiveSaltWrap } from '@ibgib/core-gib/dist/keystone/kdf/kdf-helpers.mjs';
|
|
4
|
+
import { KeystoneService_V1 } from '@ibgib/core-gib/dist/keystone/keystone-service-v1.mjs';
|
|
5
|
+
import { KEYSTONE_VERB_MANAGE, KEYSTONE_VERB_REVOKE, POOL_ID_MANAGE, KEYSTONE_POOL_ID_REGEXP } from '@ibgib/core-gib/dist/keystone/keystone-constants.mjs';
|
|
6
|
+
import { generateOpaqueChallengeId } from '@ibgib/core-gib/dist/keystone/keystone-helpers.mjs';
|
|
7
|
+
import { KeystoneStrategyFactory } from '@ibgib/core-gib/dist/keystone/strategy/keystone-strategy-factory.mjs';
|
|
8
|
+
/**
|
|
9
|
+
* Server-side service for token exchange, JWT validation, and user profile normalization.
|
|
10
|
+
*/
|
|
11
|
+
export class SsoCustodianService {
|
|
12
|
+
config;
|
|
13
|
+
lc = `[${SsoCustodianService.name}]`;
|
|
14
|
+
// In-memory cache for JSON Web Key Sets (JWKS) per provider
|
|
15
|
+
jwksCache = new Map();
|
|
16
|
+
jwksTtlMs = 24 * 60 * 60 * 1000; // Cache certs for 24 hours
|
|
17
|
+
/**
|
|
18
|
+
* @param config The server's global SSO configuration.
|
|
19
|
+
* - Visibility: Private (Contains high-entropy secrets like `ssoServerKdfSecret` and `sessionSecret`).
|
|
20
|
+
* - Generator: Server (Bootstrapped from node environment variables on server initialization).
|
|
21
|
+
*/
|
|
22
|
+
constructor(config) {
|
|
23
|
+
this.config = config;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Exchanges an authorization code for an OAuth2 token and retrieves normalized user info.
|
|
27
|
+
*
|
|
28
|
+
* @param providerId The string identifier of the OAuth provider (e.g. 'google' or 'github').
|
|
29
|
+
* - Visibility: Public (Non-sensitive metadata string).
|
|
30
|
+
* - Generator: Client (Sent from browser UI selection).
|
|
31
|
+
*
|
|
32
|
+
* @param code The temporary authorization code returned by the OAuth provider.
|
|
33
|
+
* - Visibility: Private (Confidential short-lived bearer credential. Must be kept private).
|
|
34
|
+
* - Generator: Provider (Created by provider's OAuth page and sent to client redirect URI).
|
|
35
|
+
*
|
|
36
|
+
* @param redirectUri The redirect URI registered in the provider portal.
|
|
37
|
+
* - Visibility: Public (Configuration URL).
|
|
38
|
+
* - Generator: Client/Server (Derived from environmental configuration and sent by client).
|
|
39
|
+
*/
|
|
40
|
+
async getOAuthUserInfo(providerId, code, redirectUri) {
|
|
41
|
+
const lc = `${this.lc}[${this.getOAuthUserInfo.name}]`;
|
|
42
|
+
const providerConfig = this.config.providers[providerId];
|
|
43
|
+
if (!providerConfig) {
|
|
44
|
+
throw new Error(`Provider '${providerId}' is not configured on this server. (E: c28900abfefd23e89cf23f12)`);
|
|
45
|
+
}
|
|
46
|
+
console.log(`${lc} Exchanging code for provider: ${providerId}`);
|
|
47
|
+
// 1. Exchange authorization code for tokens
|
|
48
|
+
const tokens = await this.exchangeCodeForTokens(providerConfig, code, redirectUri);
|
|
49
|
+
// 2. Retrieve and normalize user info
|
|
50
|
+
if (providerId === 'google') {
|
|
51
|
+
// Google returns an id_token (JWT) directly containing user info
|
|
52
|
+
if (!tokens.id_token) {
|
|
53
|
+
throw new Error(`Google token exchange did not return id_token. (E: e28900abfefd23e89cf45f23)`);
|
|
54
|
+
}
|
|
55
|
+
return this.verifyAndNormalizeGoogleToken(tokens.id_token);
|
|
56
|
+
}
|
|
57
|
+
else if (providerId === 'github') {
|
|
58
|
+
// GitHub requires calling the /user API using the access_token
|
|
59
|
+
if (!tokens.access_token) {
|
|
60
|
+
throw new Error(`GitHub token exchange did not return access_token. (E: a28900abfefd23e89cf56f34)`);
|
|
61
|
+
}
|
|
62
|
+
return this.fetchAndNormalizeGithubUser(providerConfig, tokens.access_token);
|
|
63
|
+
}
|
|
64
|
+
throw new Error(`Unsupported provider: ${providerId}. (E: d28900abfefd23e89cf67f45)`);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Directly validates a Google ID Token (JWT) locally and returns normalized user info.
|
|
68
|
+
* Useful for client-side authentication handshakes.
|
|
69
|
+
*
|
|
70
|
+
* @param idToken The raw base64-encoded signed JSON Web Token (JWT) ID token returned by Google.
|
|
71
|
+
* - Visibility: Private (Sensitive bearer credential containing signature and claims. Must be kept private).
|
|
72
|
+
* - Generator: Provider (Generated and signed cryptographically by Google authentication servers).
|
|
73
|
+
*/
|
|
74
|
+
async verifyAndNormalizeGoogleToken(idToken) {
|
|
75
|
+
const lc = `${this.lc}[${this.verifyAndNormalizeGoogleToken.name}]`;
|
|
76
|
+
const providerConfig = this.config.providers.google;
|
|
77
|
+
if (!providerConfig) {
|
|
78
|
+
throw new Error(`Google provider config is missing. (E: g28900abfefd23e89cf78f56)`);
|
|
79
|
+
}
|
|
80
|
+
// Verify signature and decode JWT payload
|
|
81
|
+
const payload = await this.verifyJwt(idToken, providerConfig);
|
|
82
|
+
// Assert claims
|
|
83
|
+
const nowSeconds = Math.floor(Date.now() / 1000);
|
|
84
|
+
if (payload.exp && payload.exp < nowSeconds) {
|
|
85
|
+
throw new Error(`Token has expired. (E: t28900abfefd23e89cf89f67)`);
|
|
86
|
+
}
|
|
87
|
+
if (payload.aud !== providerConfig.clientId) {
|
|
88
|
+
throw new Error(`Token audience mismatch. Expected ${providerConfig.clientId}, got ${payload.aud}. (E: m28900abfefd23e89cf90f78)`);
|
|
89
|
+
}
|
|
90
|
+
if (!payload.sub) {
|
|
91
|
+
throw new Error(`Google JWT is missing subject claim ('sub'). (E: s28900abfefd23e89cfa1f89)`);
|
|
92
|
+
}
|
|
93
|
+
if (payload.email && payload.email_verified !== true && payload.email_verified !== 'true') {
|
|
94
|
+
throw new Error(`Google email is not verified: ${payload.email}. (E: v28900abfefd23e89cfb2f90)`);
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
providerKey: `google:${payload.sub}`,
|
|
98
|
+
providerId: 'google',
|
|
99
|
+
sub: payload.sub,
|
|
100
|
+
email: payload.email,
|
|
101
|
+
name: payload.name,
|
|
102
|
+
picture: payload.picture
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Internal: Exchange authorization code for access token / ID token.
|
|
107
|
+
*
|
|
108
|
+
* @param providerConfig Server configuration settings for the specific provider.
|
|
109
|
+
* - Visibility: Private (Contains provider client secrets. Must stay server-side).
|
|
110
|
+
* - Generator: Server (Configured from node environment variables).
|
|
111
|
+
*
|
|
112
|
+
* @param code The temporary authorization code to exchange.
|
|
113
|
+
* - Visibility: Private (Short-lived credential. Must be kept private).
|
|
114
|
+
* - Generator: Provider (Via OAuth flow).
|
|
115
|
+
*
|
|
116
|
+
* @param redirectUri The redirect URI registered for the exchange.
|
|
117
|
+
* - Visibility: Public (Configuration URL).
|
|
118
|
+
* - Generator: Client/Server (From app configuration).
|
|
119
|
+
*/
|
|
120
|
+
async exchangeCodeForTokens(providerConfig, code, redirectUri) {
|
|
121
|
+
const body = new URLSearchParams({
|
|
122
|
+
client_id: providerConfig.clientId,
|
|
123
|
+
client_secret: providerConfig.clientSecret,
|
|
124
|
+
code,
|
|
125
|
+
redirect_uri: redirectUri,
|
|
126
|
+
grant_type: 'authorization_code'
|
|
127
|
+
});
|
|
128
|
+
const headers = {
|
|
129
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
130
|
+
};
|
|
131
|
+
// GitHub requires an Accept header to return JSON instead of URL-encoded string
|
|
132
|
+
if (providerConfig.providerId === 'github') {
|
|
133
|
+
headers['Accept'] = 'application/json';
|
|
134
|
+
}
|
|
135
|
+
const res = await fetch(providerConfig.tokenUrl, {
|
|
136
|
+
method: 'POST',
|
|
137
|
+
headers,
|
|
138
|
+
body: body.toString()
|
|
139
|
+
});
|
|
140
|
+
if (!res.ok) {
|
|
141
|
+
const errText = await res.text();
|
|
142
|
+
throw new Error(`Token exchange failed (HTTP ${res.status}): ${errText}`);
|
|
143
|
+
}
|
|
144
|
+
return res.json();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Internal: Fetch GitHub user profile and normalize.
|
|
148
|
+
*
|
|
149
|
+
* @param providerConfig Server configuration settings for GitHub.
|
|
150
|
+
* - Visibility: Private (Contains GitHub client secret).
|
|
151
|
+
* - Generator: Server (From environment config).
|
|
152
|
+
*
|
|
153
|
+
* @param accessToken The active OAuth2 access token to authorize the API call.
|
|
154
|
+
* - Visibility: Private (Bearer token. Must be kept private).
|
|
155
|
+
* - Generator: Provider (GitHub token endpoint).
|
|
156
|
+
*/
|
|
157
|
+
async fetchAndNormalizeGithubUser(providerConfig, accessToken) {
|
|
158
|
+
const res = await fetch(providerConfig.userInfoUrl, {
|
|
159
|
+
headers: {
|
|
160
|
+
'Authorization': `Bearer ${accessToken}`,
|
|
161
|
+
'User-Agent': 'space-gib-auth-agent' // GitHub API requires User-Agent
|
|
162
|
+
}
|
|
163
|
+
});
|
|
164
|
+
if (!res.ok) {
|
|
165
|
+
const errText = await res.text();
|
|
166
|
+
throw new Error(`Failed to fetch GitHub user info (HTTP ${res.status}): ${errText}`);
|
|
167
|
+
}
|
|
168
|
+
const rawUser = await res.json();
|
|
169
|
+
if (!rawUser.id) {
|
|
170
|
+
throw new Error(`GitHub user info response missing 'id' field.`);
|
|
171
|
+
}
|
|
172
|
+
const sub = String(rawUser.id);
|
|
173
|
+
let email = rawUser.email || undefined;
|
|
174
|
+
// If email is missing or private, fetch /user/emails to extract primary verified email
|
|
175
|
+
if (!email) {
|
|
176
|
+
try {
|
|
177
|
+
const emailsRes = await fetch('https://api.github.com/user/emails', {
|
|
178
|
+
headers: {
|
|
179
|
+
'Authorization': `Bearer ${accessToken}`,
|
|
180
|
+
'User-Agent': 'space-gib-auth-agent'
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
if (emailsRes.ok) {
|
|
184
|
+
const emailsList = await emailsRes.json();
|
|
185
|
+
const primaryVerified = emailsList.find((e) => e.verified && e.primary) || emailsList.find((e) => e.verified);
|
|
186
|
+
if (primaryVerified?.email) {
|
|
187
|
+
email = primaryVerified.email;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
catch (err) {
|
|
192
|
+
console.warn(`[${this.fetchAndNormalizeGithubUser.name}] Could not fetch GitHub /user/emails fallback: ${extractErrorMsg(err)}`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
if (!email) {
|
|
196
|
+
throw new Error(`Your GitHub account does not have a verified primary email address. Please verify your primary email on GitHub and try again. (E: e28900abfefd23e89cfc3f01)`);
|
|
197
|
+
}
|
|
198
|
+
return {
|
|
199
|
+
providerKey: `github:${sub}`,
|
|
200
|
+
providerId: 'github',
|
|
201
|
+
sub,
|
|
202
|
+
email,
|
|
203
|
+
name: rawUser.name || rawUser.login || undefined,
|
|
204
|
+
picture: rawUser.avatar_url || undefined
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Internal: Decodes and cryptographically verifies a JWT signature using JWKS public keys.
|
|
209
|
+
*
|
|
210
|
+
* @param token The raw base64-encoded JWT token to verify.
|
|
211
|
+
* - Visibility: Private (Sensitive token. Must be kept private).
|
|
212
|
+
* - Generator: Provider (Google / OIDC server).
|
|
213
|
+
*
|
|
214
|
+
* @param providerConfig The target provider server settings containing `jwksUrl`.
|
|
215
|
+
* - Visibility: Private (Contains secrets).
|
|
216
|
+
* - Generator: Server (From environment config).
|
|
217
|
+
*/
|
|
218
|
+
async verifyJwt(token, providerConfig) {
|
|
219
|
+
const parts = token.split('.');
|
|
220
|
+
if (parts.length !== 3) {
|
|
221
|
+
throw new Error('JWT must have 3 parts separated by dots.');
|
|
222
|
+
}
|
|
223
|
+
const [headerB64, payloadB64, signatureB64] = parts;
|
|
224
|
+
// 1. Decode header and select algorithm/key ID
|
|
225
|
+
let header;
|
|
226
|
+
try {
|
|
227
|
+
header = JSON.parse(Buffer.from(headerB64, 'base64url').toString('utf-8'));
|
|
228
|
+
}
|
|
229
|
+
catch {
|
|
230
|
+
throw new Error('Failed to parse JWT header.');
|
|
231
|
+
}
|
|
232
|
+
if (header.alg !== 'RS256') {
|
|
233
|
+
throw new Error(`Only RS256 algorithm is supported, got: ${header.alg}`);
|
|
234
|
+
}
|
|
235
|
+
const kid = header.kid;
|
|
236
|
+
if (!kid) {
|
|
237
|
+
throw new Error('JWT header missing key ID (kid).');
|
|
238
|
+
}
|
|
239
|
+
// 2. Fetch public keys (JWKS)
|
|
240
|
+
const keys = await this.getJwksKeys(providerConfig);
|
|
241
|
+
const jwk = keys.find(key => key.kid === kid);
|
|
242
|
+
if (!jwk) {
|
|
243
|
+
throw new Error(`JWK public key matching kid '${kid}' not found.`);
|
|
244
|
+
}
|
|
245
|
+
// 3. Create Public Key object using Node native crypto
|
|
246
|
+
const publicKey = createPublicKey({
|
|
247
|
+
key: jwk,
|
|
248
|
+
format: 'jwk'
|
|
249
|
+
});
|
|
250
|
+
// 4. Verify signature against header + payload data
|
|
251
|
+
const signature = Buffer.from(signatureB64, 'base64url');
|
|
252
|
+
const data = Buffer.from(`${headerB64}.${payloadB64}`);
|
|
253
|
+
const isValid = verify('sha256', data, publicKey, signature);
|
|
254
|
+
if (!isValid) {
|
|
255
|
+
throw new Error('Cryptographic signature verification failed.');
|
|
256
|
+
}
|
|
257
|
+
// 5. Decode and return payload
|
|
258
|
+
try {
|
|
259
|
+
return JSON.parse(Buffer.from(payloadB64, 'base64url').toString('utf-8'));
|
|
260
|
+
}
|
|
261
|
+
catch {
|
|
262
|
+
throw new Error('Failed to parse JWT payload.');
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Internal: Retrieves JWKS keys from cache or fetches them from the provider's jwksUrl.
|
|
267
|
+
*
|
|
268
|
+
* @param providerConfig The provider config containing the target `jwksUrl`.
|
|
269
|
+
* - Visibility: Private (Contains client secrets).
|
|
270
|
+
* - Generator: Server (From environment config).
|
|
271
|
+
*/
|
|
272
|
+
async getJwksKeys(providerConfig) {
|
|
273
|
+
const providerId = providerConfig.providerId;
|
|
274
|
+
const cached = this.jwksCache.get(providerId);
|
|
275
|
+
if (cached && cached.expiresAt > Date.now()) {
|
|
276
|
+
return cached.keys;
|
|
277
|
+
}
|
|
278
|
+
if (!providerConfig.jwksUrl) {
|
|
279
|
+
throw new Error(`Provider '${providerId}' does not define a jwksUrl for JWT signature validation.`);
|
|
280
|
+
}
|
|
281
|
+
const res = await fetch(providerConfig.jwksUrl);
|
|
282
|
+
if (!res.ok) {
|
|
283
|
+
throw new Error(`Failed to fetch JWKS from ${providerConfig.jwksUrl} (HTTP ${res.status})`);
|
|
284
|
+
}
|
|
285
|
+
const body = (await res.json());
|
|
286
|
+
if (!body.keys || !Array.isArray(body.keys)) {
|
|
287
|
+
throw new Error(`Invalid JWKS response structure from ${providerConfig.jwksUrl}`);
|
|
288
|
+
}
|
|
289
|
+
this.jwksCache.set(providerId, {
|
|
290
|
+
keys: body.keys,
|
|
291
|
+
expiresAt: Date.now() + this.jwksTtlMs
|
|
292
|
+
});
|
|
293
|
+
return body.keys;
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Derives a server-delegate master secret deterministically using the server's private KDF secret,
|
|
297
|
+
* the providerKey, and the user's public nonce.
|
|
298
|
+
*
|
|
299
|
+
* @param providerKey The unique key identifying the provider and user sub ID (e.g. `google:123...`).
|
|
300
|
+
* - Visibility: Public (Identifier saved on parent's delegate claim, safe for log/ledger storage).
|
|
301
|
+
* - Generator: Provider/Server (Derived by mapping provider user sub ID after authentication).
|
|
302
|
+
*
|
|
303
|
+
* @param userNonce The public, high-entropy nonce generated by the client to salt the KDF derivation.
|
|
304
|
+
* - Visibility: Public (Salt value stored on parent's delegate claim, safe for ledger storage).
|
|
305
|
+
* - Generator: Client (Generated offline on user's device).
|
|
306
|
+
*/
|
|
307
|
+
async deriveServerDelegateSecret(providerKey, userNonce) {
|
|
308
|
+
const salt = await hash({
|
|
309
|
+
s: `${providerKey}:${userNonce}`,
|
|
310
|
+
algorithm: HashAlgorithm.sha_512
|
|
311
|
+
});
|
|
312
|
+
return await kdf_recursiveSaltWrap({
|
|
313
|
+
masterSecret: this.config.ssoServerKdfSecret,
|
|
314
|
+
salt,
|
|
315
|
+
rounds: 1000,
|
|
316
|
+
algorithm: HashAlgorithm.sha_512
|
|
317
|
+
});
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Creates a public custodian challenge pool (custodian-manage) derived deterministically
|
|
321
|
+
* from the server's private KDF secret, providerKey, and userNonce.
|
|
322
|
+
*
|
|
323
|
+
* @param providerKey The unique key identifying the provider and user sub ID (e.g. `google:123...`).
|
|
324
|
+
* - Visibility: Public (Mapped identifier, safe for ledger).
|
|
325
|
+
* - Generator: Provider/Server (Derived after successful token exchange).
|
|
326
|
+
*
|
|
327
|
+
* @param userNonce The public, high-entropy nonce.
|
|
328
|
+
* - Visibility: Public (Derivation salt, safe for ledger).
|
|
329
|
+
* - Generator: Client (Generated on user's device).
|
|
330
|
+
*/
|
|
331
|
+
async createCustodianChallengePool({ providerId, providerKey, userNonce, keystoneAddr, metaspace, space, }) {
|
|
332
|
+
// 1. Fetch target keystone
|
|
333
|
+
const keystoneService = new KeystoneService_V1();
|
|
334
|
+
const targetKeystone = await keystoneService.getLatestKeystone({
|
|
335
|
+
addr: keystoneAddr,
|
|
336
|
+
metaspace,
|
|
337
|
+
space
|
|
338
|
+
});
|
|
339
|
+
if (!targetKeystone) {
|
|
340
|
+
throw new Error(`Keystone not found for address: ${keystoneAddr} (E: 8a9c2b1d3e5f6a7b8c9d0e1f2a3b4c5d)`);
|
|
341
|
+
}
|
|
342
|
+
// 2. Locate native manage pool
|
|
343
|
+
const userManagePool = targetKeystone.data?.challengePools.find(p => p.id === POOL_ID_MANAGE);
|
|
344
|
+
if (!userManagePool) {
|
|
345
|
+
throw new Error(`Keystone manage pool not found. Custodian manage pool must match the user manage pool's security config. (E: 7c4e5f6a7b8c9d0e1f2a3b4c5e6f7a8b)`);
|
|
346
|
+
}
|
|
347
|
+
// 3. Dynamic poolId based on providerId with regex validation
|
|
348
|
+
if (!providerId || !KEYSTONE_POOL_ID_REGEXP.test(providerId)) {
|
|
349
|
+
throw new Error(`Invalid providerId: "${providerId}". Must match ${KEYSTONE_POOL_ID_REGEXP} (E: 3a2c4e5f6a7b8c9d0e1f2a3b4c5e6f)`);
|
|
350
|
+
}
|
|
351
|
+
const poolId = `custodian-manage-${providerId}`;
|
|
352
|
+
// 4. Derive delegate secrets
|
|
353
|
+
const custodianSecret = await this.deriveServerDelegateSecret(providerKey, userNonce);
|
|
354
|
+
const poolSalt = await hash({
|
|
355
|
+
s: `${providerKey}:${userNonce}:salt`,
|
|
356
|
+
algorithm: HashAlgorithm.sha_256
|
|
357
|
+
});
|
|
358
|
+
const poolSaltShort = poolSalt.substring(0, 16);
|
|
359
|
+
// 5. Clone user's manage pool config, updating only ID, salt, and allowedVerbs
|
|
360
|
+
const config = {
|
|
361
|
+
...userManagePool.config,
|
|
362
|
+
id: poolId,
|
|
363
|
+
salt: poolSaltShort,
|
|
364
|
+
allowedVerbs: [KEYSTONE_VERB_MANAGE, KEYSTONE_VERB_REVOKE]
|
|
365
|
+
};
|
|
366
|
+
const strategy = KeystoneStrategyFactory.create({ config });
|
|
367
|
+
const poolSecret = await strategy.derivePoolSecret({ masterSecret: custodianSecret });
|
|
368
|
+
const challenges = {};
|
|
369
|
+
const timestamp = Date.now().toString();
|
|
370
|
+
for (let i = 0; i < config.behavior.size; i++) {
|
|
371
|
+
const challengeId = await generateOpaqueChallengeId({
|
|
372
|
+
salt: config.salt,
|
|
373
|
+
timestamp,
|
|
374
|
+
index: i
|
|
375
|
+
});
|
|
376
|
+
const solution = await strategy.generateSolution({
|
|
377
|
+
poolSecret,
|
|
378
|
+
poolId: config.id,
|
|
379
|
+
challengeId
|
|
380
|
+
});
|
|
381
|
+
challenges[challengeId] = await strategy.generateChallenge({ solution });
|
|
382
|
+
}
|
|
383
|
+
return {
|
|
384
|
+
id: poolId,
|
|
385
|
+
config,
|
|
386
|
+
challenges,
|
|
387
|
+
isForeign: true,
|
|
388
|
+
metadata: {
|
|
389
|
+
owner: 'custodian',
|
|
390
|
+
providerKey
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Maps private server configuration to safe public client configurations.
|
|
396
|
+
*
|
|
397
|
+
* @param hostUrl The root URL host address of the server (e.g. `https://space-gib.localhost` or `https://ibgib.space`).
|
|
398
|
+
* - Visibility: Public (Non-sensitive hostname configuration).
|
|
399
|
+
* - Generator: Server (Extracted from the HTTP request context headers/protocol).
|
|
400
|
+
*/
|
|
401
|
+
getSsoClientConfigs(hostUrl) {
|
|
402
|
+
const configs = [];
|
|
403
|
+
if (this.config.providers.google) {
|
|
404
|
+
configs.push({
|
|
405
|
+
providerId: 'google',
|
|
406
|
+
clientId: this.config.providers.google.clientId,
|
|
407
|
+
authUrl: 'https://accounts.google.com/o/oauth2/v2/auth',
|
|
408
|
+
redirectUri: `${hostUrl}/`,
|
|
409
|
+
scope: 'openid email profile'
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
if (this.config.providers.github) {
|
|
413
|
+
configs.push({
|
|
414
|
+
providerId: 'github',
|
|
415
|
+
clientId: this.config.providers.github.clientId,
|
|
416
|
+
authUrl: 'https://github.com/login/oauth/authorize',
|
|
417
|
+
redirectUri: `${hostUrl}/`,
|
|
418
|
+
scope: 'read:user user:email'
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
return configs;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Revokes an active OAuth access or refresh token with the provider.
|
|
425
|
+
* Keeps token revocation logic DRY and centralized.
|
|
426
|
+
*/
|
|
427
|
+
async revokeToken(providerId, token) {
|
|
428
|
+
const lc = `${this.lc}[${this.revokeToken.name}]`;
|
|
429
|
+
const providerConfig = this.config.providers[providerId];
|
|
430
|
+
if (!providerConfig) {
|
|
431
|
+
throw new Error(`SSO provider "${providerId}" config is missing. (E: r28900abfefd23e89cf78f57)`);
|
|
432
|
+
}
|
|
433
|
+
try {
|
|
434
|
+
if (providerId === 'google') {
|
|
435
|
+
const res = await fetch(`https://oauth2.googleapis.com/revoke?token=${encodeURIComponent(token)}`, {
|
|
436
|
+
method: 'POST',
|
|
437
|
+
headers: {
|
|
438
|
+
'Content-Type': 'application/x-www-form-urlencoded'
|
|
439
|
+
}
|
|
440
|
+
});
|
|
441
|
+
if (!res.ok) {
|
|
442
|
+
const text = await res.text();
|
|
443
|
+
console.warn(`${lc} Google token revocation returned status ${res.status}: ${text}`);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
else if (providerId === 'github') {
|
|
447
|
+
const auth = Buffer.from(`${providerConfig.clientId}:${providerConfig.clientSecret}`).toString('base64');
|
|
448
|
+
const res = await fetch(`https://api.github.com/applications/${providerConfig.clientId}/grant`, {
|
|
449
|
+
method: 'DELETE',
|
|
450
|
+
headers: {
|
|
451
|
+
'Authorization': `Basic ${auth}`,
|
|
452
|
+
'Accept': 'application/vnd.github.v3+json',
|
|
453
|
+
'User-Agent': 'space-gib-server'
|
|
454
|
+
},
|
|
455
|
+
body: JSON.stringify({ access_token: token })
|
|
456
|
+
});
|
|
457
|
+
if (!res.ok && res.status !== 404) {
|
|
458
|
+
const text = await res.text();
|
|
459
|
+
console.warn(`${lc} GitHub token revocation returned status ${res.status}: ${text}`);
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
else {
|
|
463
|
+
throw new Error(`Unsupported provider: ${providerId} (E: e28900abfefd23e89cf78f58)`);
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
catch (error) {
|
|
467
|
+
console.error(`${lc} Token revocation failed for provider ${providerId}: ${extractErrorMsg(error)}`);
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
//# sourceMappingURL=sso-custodian-service.mjs.map
|