@openora/core 0.4.1-canary.13 → 0.4.1-canary.130
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/README.md +10 -10
- package/bin/migrate.mjs +55 -0
- package/dist/.tsbuildinfo +1 -1
- package/dist/admin-console/__tests__/backoffice.router.test.js +82 -51
- package/dist/admin-console/__tests__/backoffice.router.test.js.map +1 -1
- package/dist/admin-console/__tests__/backoffice.service.int.test.d.ts +2 -0
- package/dist/admin-console/__tests__/backoffice.service.int.test.d.ts.map +1 -0
- package/dist/admin-console/__tests__/backoffice.service.int.test.js +334 -0
- package/dist/admin-console/__tests__/backoffice.service.int.test.js.map +1 -0
- package/dist/admin-console/contract/index.d.ts +296 -28
- package/dist/admin-console/contract/index.d.ts.map +1 -1
- package/dist/admin-console/contract/index.js +74 -6
- package/dist/admin-console/contract/index.js.map +1 -1
- package/dist/admin-console/plugin.d.ts +180 -1
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/admin-console/plugin.js +6 -6
- package/dist/admin-console/plugin.js.map +1 -1
- package/dist/admin-console/router/index.d.ts +132 -18
- package/dist/admin-console/router/index.d.ts.map +1 -1
- package/dist/admin-console/router/index.js +18 -2
- package/dist/admin-console/router/index.js.map +1 -1
- package/dist/admin-console/service/backoffice.service.d.ts +70 -10
- package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
- package/dist/admin-console/service/backoffice.service.js +67 -11
- package/dist/admin-console/service/backoffice.service.js.map +1 -1
- package/dist/analytics/__tests__/analytics.contract.test.d.ts +2 -0
- package/dist/analytics/__tests__/analytics.contract.test.d.ts.map +1 -0
- package/dist/analytics/__tests__/analytics.contract.test.js +36 -0
- package/dist/analytics/__tests__/analytics.contract.test.js.map +1 -0
- package/dist/analytics/__tests__/analytics.router.test.d.ts +2 -0
- package/dist/analytics/__tests__/analytics.router.test.d.ts.map +1 -0
- package/dist/analytics/__tests__/analytics.router.test.js +56 -0
- package/dist/analytics/__tests__/analytics.router.test.js.map +1 -0
- package/dist/analytics/__tests__/financial-analytics.service.test.d.ts +2 -0
- package/dist/analytics/__tests__/financial-analytics.service.test.d.ts.map +1 -0
- package/dist/analytics/__tests__/financial-analytics.service.test.js +87 -0
- package/dist/analytics/__tests__/financial-analytics.service.test.js.map +1 -0
- package/dist/analytics/__tests__/funnel-analytics.service.test.d.ts +2 -0
- package/dist/analytics/__tests__/funnel-analytics.service.test.d.ts.map +1 -0
- package/dist/analytics/__tests__/funnel-analytics.service.test.js +42 -0
- package/dist/analytics/__tests__/funnel-analytics.service.test.js.map +1 -0
- package/dist/analytics/contract/financial.d.ts +121 -0
- package/dist/analytics/contract/financial.d.ts.map +1 -0
- package/dist/analytics/contract/financial.js +45 -0
- package/dist/analytics/contract/financial.js.map +1 -0
- package/dist/analytics/contract/funnel.d.ts +52 -0
- package/dist/analytics/contract/funnel.d.ts.map +1 -0
- package/dist/analytics/contract/funnel.js +24 -0
- package/dist/analytics/contract/funnel.js.map +1 -0
- package/dist/analytics/contract/index.d.ts +68 -0
- package/dist/analytics/contract/index.d.ts.map +1 -0
- package/dist/analytics/contract/index.js +9 -0
- package/dist/analytics/contract/index.js.map +1 -0
- package/dist/analytics/index.d.ts +2 -0
- package/dist/analytics/index.d.ts.map +1 -0
- package/dist/analytics/index.js +2 -0
- package/dist/analytics/index.js.map +1 -0
- package/dist/analytics/plugin.d.ts +182 -0
- package/dist/analytics/plugin.d.ts.map +1 -0
- package/dist/analytics/plugin.js +13 -0
- package/dist/analytics/plugin.js.map +1 -0
- package/dist/analytics/router/index.d.ts +69 -0
- package/dist/analytics/router/index.d.ts.map +1 -0
- package/dist/analytics/router/index.js +24 -0
- package/dist/analytics/router/index.js.map +1 -0
- package/dist/analytics/server.d.ts +5 -0
- package/dist/analytics/server.d.ts.map +1 -0
- package/dist/analytics/server.js +5 -0
- package/dist/analytics/server.js.map +1 -0
- package/dist/analytics/service/financial-analytics.service.d.ts +14 -0
- package/dist/analytics/service/financial-analytics.service.d.ts.map +1 -0
- package/dist/analytics/service/financial-analytics.service.js +145 -0
- package/dist/analytics/service/financial-analytics.service.js.map +1 -0
- package/dist/analytics/service/funnel-analytics.service.d.ts +11 -0
- package/dist/analytics/service/funnel-analytics.service.d.ts.map +1 -0
- package/dist/analytics/service/funnel-analytics.service.js +83 -0
- package/dist/analytics/service/funnel-analytics.service.js.map +1 -0
- package/dist/audit/__tests__/audit.service.int.test.d.ts +2 -0
- package/dist/audit/__tests__/audit.service.int.test.d.ts.map +1 -0
- package/dist/audit/__tests__/audit.service.int.test.js +906 -0
- package/dist/audit/__tests__/audit.service.int.test.js.map +1 -0
- package/dist/audit/__tests__/map-event.test.d.ts +2 -0
- package/dist/audit/__tests__/map-event.test.d.ts.map +1 -0
- package/dist/audit/__tests__/map-event.test.js +196 -0
- package/dist/audit/__tests__/map-event.test.js.map +1 -0
- package/dist/audit/contract/index.d.ts +154 -10
- package/dist/audit/contract/index.d.ts.map +1 -1
- package/dist/audit/contract/index.js +45 -5
- package/dist/audit/contract/index.js.map +1 -1
- package/dist/audit/migrate.d.ts.map +1 -1
- package/dist/audit/migrate.js +12 -0
- package/dist/audit/migrate.js.map +1 -1
- package/dist/audit/plugin.d.ts +181 -1
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +560 -50
- package/dist/audit/plugin.js.map +1 -1
- package/dist/audit/router/index.d.ts +73 -5
- package/dist/audit/router/index.d.ts.map +1 -1
- package/dist/audit/router/index.js +2 -5
- package/dist/audit/router/index.js.map +1 -1
- package/dist/audit/service/audit.service.d.ts +40 -14
- package/dist/audit/service/audit.service.d.ts.map +1 -1
- package/dist/audit/service/audit.service.js +86 -11
- package/dist/audit/service/audit.service.js.map +1 -1
- package/dist/casino/gaming/__tests__/admin-reporting.int.test.d.ts +2 -0
- package/dist/casino/gaming/__tests__/admin-reporting.int.test.d.ts.map +1 -0
- package/dist/casino/gaming/__tests__/admin-reporting.int.test.js +126 -0
- package/dist/casino/gaming/__tests__/admin-reporting.int.test.js.map +1 -0
- package/dist/casino/gaming/__tests__/gaming.service.int.test.d.ts +2 -0
- package/dist/casino/gaming/__tests__/gaming.service.int.test.d.ts.map +1 -0
- package/dist/casino/gaming/__tests__/gaming.service.int.test.js +212 -0
- package/dist/casino/gaming/__tests__/gaming.service.int.test.js.map +1 -0
- package/dist/casino/gaming/admin-reporting.d.ts +9 -0
- package/dist/casino/gaming/admin-reporting.d.ts.map +1 -0
- package/dist/casino/gaming/admin-reporting.js +79 -0
- package/dist/casino/gaming/admin-reporting.js.map +1 -0
- package/dist/casino/gaming/contract/index.d.ts +19 -0
- package/dist/casino/gaming/contract/index.d.ts.map +1 -1
- package/dist/casino/gaming/contract/index.js +7 -1
- package/dist/casino/gaming/contract/index.js.map +1 -1
- package/dist/casino/gaming/drizzle/migrations/0002_yummy_lifeguard.sql +4 -0
- package/dist/casino/gaming/drizzle/migrations/meta/0002_snapshot.json +237 -0
- package/dist/casino/gaming/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/casino/gaming/plugin.d.ts +181 -1
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/gaming/plugin.js +9 -5
- package/dist/casino/gaming/plugin.js.map +1 -1
- package/dist/casino/gaming/router/index.d.ts +11 -0
- package/dist/casino/gaming/router/index.d.ts.map +1 -1
- package/dist/casino/gaming/router/index.js +7 -2
- package/dist/casino/gaming/router/index.js.map +1 -1
- package/dist/casino/gaming/schema/index.d.ts +18 -0
- package/dist/casino/gaming/schema/index.d.ts.map +1 -1
- package/dist/casino/gaming/schema/index.js +11 -1
- package/dist/casino/gaming/schema/index.js.map +1 -1
- package/dist/casino/gaming/service/gaming.service.d.ts +22 -6
- package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
- package/dist/casino/gaming/service/gaming.service.js +60 -13
- package/dist/casino/gaming/service/gaming.service.js.map +1 -1
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.d.ts +2 -0
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.d.ts.map +1 -0
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +56 -0
- package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -0
- package/dist/casino/lobby/plugin.d.ts +179 -1
- package/dist/casino/lobby/plugin.d.ts.map +1 -1
- package/dist/casino/lobby/plugin.js +3 -3
- package/dist/casino/lobby/plugin.js.map +1 -1
- package/dist/casino/lobby/service/lobby.service.d.ts +3 -1
- package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
- package/dist/casino/server.d.ts +1 -0
- package/dist/casino/server.d.ts.map +1 -1
- package/dist/casino/server.js +1 -0
- package/dist/casino/server.js.map +1 -1
- package/dist/cms/__tests__/cms.reads.int.test.d.ts +2 -0
- package/dist/cms/__tests__/cms.reads.int.test.d.ts.map +1 -0
- package/dist/cms/__tests__/cms.reads.int.test.js +66 -0
- package/dist/cms/__tests__/cms.reads.int.test.js.map +1 -0
- package/dist/cms/__tests__/cms.router.int.test.d.ts +2 -0
- package/dist/cms/__tests__/cms.router.int.test.d.ts.map +1 -0
- package/dist/cms/__tests__/cms.router.int.test.js +354 -0
- package/dist/cms/__tests__/cms.router.int.test.js.map +1 -0
- package/dist/cms/__tests__/cms.service.int.test.d.ts +2 -0
- package/dist/cms/__tests__/cms.service.int.test.d.ts.map +1 -0
- package/dist/cms/__tests__/cms.service.int.test.js +640 -0
- package/dist/cms/__tests__/cms.service.int.test.js.map +1 -0
- package/dist/cms/contract/index.d.ts +413 -42
- package/dist/cms/contract/index.d.ts.map +1 -1
- package/dist/cms/contract/index.js +161 -35
- package/dist/cms/contract/index.js.map +1 -1
- package/dist/cms/drizzle/migrations/0001_steep_starjammers.sql +29 -0
- package/dist/cms/drizzle/migrations/0002_naive_kingpin.sql +14 -0
- package/dist/cms/drizzle/migrations/meta/0001_snapshot.json +303 -0
- package/dist/cms/drizzle/migrations/meta/0002_snapshot.json +412 -0
- package/dist/cms/drizzle/migrations/meta/_journal.json +14 -0
- package/dist/cms/moderation/validate-banner-image-url.d.ts +8 -0
- package/dist/cms/moderation/validate-banner-image-url.d.ts.map +1 -0
- package/dist/cms/moderation/validate-banner-image-url.js +20 -0
- package/dist/cms/moderation/validate-banner-image-url.js.map +1 -0
- package/dist/cms/plugin.d.ts +179 -1
- package/dist/cms/plugin.d.ts.map +1 -1
- package/dist/cms/plugin.js +5 -5
- package/dist/cms/plugin.js.map +1 -1
- package/dist/cms/router/index.d.ts +219 -37
- package/dist/cms/router/index.d.ts.map +1 -1
- package/dist/cms/router/index.js +83 -21
- package/dist/cms/router/index.js.map +1 -1
- package/dist/cms/schema/index.d.ts +283 -28
- package/dist/cms/schema/index.d.ts.map +1 -1
- package/dist/cms/schema/index.js +55 -7
- package/dist/cms/schema/index.js.map +1 -1
- package/dist/cms/server.d.ts +1 -1
- package/dist/cms/server.d.ts.map +1 -1
- package/dist/cms/server.js +1 -1
- package/dist/cms/server.js.map +1 -1
- package/dist/cms/service/cms.service.d.ts +229 -45
- package/dist/cms/service/cms.service.d.ts.map +1 -1
- package/dist/cms/service/cms.service.js +615 -68
- package/dist/cms/service/cms.service.js.map +1 -1
- package/dist/common/errors/__tests__/errors.mapper.test.d.ts +2 -0
- package/dist/common/errors/__tests__/errors.mapper.test.d.ts.map +1 -0
- package/dist/common/errors/__tests__/errors.mapper.test.js +59 -0
- package/dist/common/errors/__tests__/errors.mapper.test.js.map +1 -0
- package/dist/common/errors/errors.classes.js +3 -3
- package/dist/common/errors/errors.classes.js.map +1 -1
- package/dist/common/errors/errors.mapper.js +1 -1
- package/dist/common/errors/errors.mapper.js.map +1 -1
- package/dist/compliance/__tests__/assert.test.d.ts +2 -0
- package/dist/compliance/__tests__/assert.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/assert.test.js +34 -0
- package/dist/compliance/__tests__/assert.test.js.map +1 -0
- package/dist/compliance/__tests__/compliance.service.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/compliance.service.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/compliance.service.int.test.js +81 -0
- package/dist/compliance/__tests__/compliance.service.int.test.js.map +1 -0
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.int.test.js +82 -0
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.int.test.js.map +1 -0
- package/dist/compliance/__tests__/kyc-admin.router.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/kyc-admin.router.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/kyc-admin.router.int.test.js +198 -0
- package/dist/compliance/__tests__/kyc-admin.router.int.test.js.map +1 -0
- package/dist/compliance/__tests__/kyc-webhook.router.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/kyc-webhook.router.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/kyc-webhook.router.int.test.js +177 -0
- package/dist/compliance/__tests__/kyc-webhook.router.int.test.js.map +1 -0
- package/dist/compliance/__tests__/kyc.service.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/kyc.service.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/kyc.service.int.test.js +397 -0
- package/dist/compliance/__tests__/kyc.service.int.test.js.map +1 -0
- package/dist/compliance/__tests__/limits.contract.test.d.ts +2 -0
- package/dist/compliance/__tests__/limits.contract.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/limits.contract.test.js +83 -0
- package/dist/compliance/__tests__/limits.contract.test.js.map +1 -0
- package/dist/compliance/__tests__/rg-eval.test.js +28 -1
- package/dist/compliance/__tests__/rg-eval.test.js.map +1 -1
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.js +512 -0
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.js.map +1 -0
- package/dist/compliance/__tests__/rg-self-service.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/rg-self-service.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/rg-self-service.int.test.js +539 -0
- package/dist/compliance/__tests__/rg-self-service.int.test.js.map +1 -0
- package/dist/compliance/__tests__/rg.contract.test.js +77 -15
- package/dist/compliance/__tests__/rg.contract.test.js.map +1 -1
- package/dist/compliance/__tests__/rg.router.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/rg.router.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/rg.router.int.test.js +325 -0
- package/dist/compliance/__tests__/rg.router.int.test.js.map +1 -0
- package/dist/compliance/__tests__/rg.service.int.test.d.ts +2 -0
- package/dist/compliance/__tests__/rg.service.int.test.d.ts.map +1 -0
- package/dist/compliance/__tests__/rg.service.int.test.js +747 -0
- package/dist/compliance/__tests__/rg.service.int.test.js.map +1 -0
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.d.ts +16 -3
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.d.ts.map +1 -1
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.js +47 -5
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.js.map +1 -1
- package/dist/compliance/adapters/rg-limit-gate.d.ts +17 -0
- package/dist/compliance/adapters/rg-limit-gate.d.ts.map +1 -0
- package/dist/compliance/adapters/rg-limit-gate.js +107 -0
- package/dist/compliance/adapters/rg-limit-gate.js.map +1 -0
- package/dist/compliance/contract/index.d.ts +1318 -123
- package/dist/compliance/contract/index.d.ts.map +1 -1
- package/dist/compliance/contract/index.js +102 -8
- package/dist/compliance/contract/index.js.map +1 -1
- package/dist/compliance/contract/limits.d.ts +52 -0
- package/dist/compliance/contract/limits.d.ts.map +1 -1
- package/dist/compliance/contract/limits.js +27 -7
- package/dist/compliance/contract/limits.js.map +1 -1
- package/dist/compliance/contract/rg.d.ts +341 -11
- package/dist/compliance/contract/rg.d.ts.map +1 -1
- package/dist/compliance/contract/rg.js +64 -16
- package/dist/compliance/contract/rg.js.map +1 -1
- package/dist/compliance/drizzle/migrations/0002_condemned_monster_badoon.sql +3 -0
- package/dist/compliance/drizzle/migrations/0003_public_spirit.sql +1 -0
- package/dist/compliance/drizzle/migrations/0004_military_silk_fever.sql +2 -0
- package/dist/compliance/drizzle/migrations/0005_reflective_magma.sql +13 -0
- package/dist/compliance/drizzle/migrations/0006_backfill_session_limit_currency.sql +15 -0
- package/dist/compliance/drizzle/migrations/0007_romantic_toxin.sql +6 -0
- package/dist/compliance/drizzle/migrations/meta/0002_snapshot.json +673 -0
- package/dist/compliance/drizzle/migrations/meta/0003_snapshot.json +679 -0
- package/dist/compliance/drizzle/migrations/meta/0004_snapshot.json +679 -0
- package/dist/compliance/drizzle/migrations/meta/0005_snapshot.json +754 -0
- package/dist/compliance/drizzle/migrations/meta/0006_snapshot.json +754 -0
- package/dist/compliance/drizzle/migrations/meta/0007_snapshot.json +785 -0
- package/dist/compliance/drizzle/migrations/meta/_journal.json +42 -0
- package/dist/compliance/plugin.d.ts +182 -1
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.js +86 -15
- package/dist/compliance/plugin.js.map +1 -1
- package/dist/compliance/router/index.d.ts +853 -67
- package/dist/compliance/router/index.d.ts.map +1 -1
- package/dist/compliance/router/index.js +106 -23
- package/dist/compliance/router/index.js.map +1 -1
- package/dist/compliance/schema/index.d.ts +222 -4
- package/dist/compliance/schema/index.d.ts.map +1 -1
- package/dist/compliance/schema/index.js +28 -5
- package/dist/compliance/schema/index.js.map +1 -1
- package/dist/compliance/service/compliance.service.d.ts +23 -33
- package/dist/compliance/service/compliance.service.d.ts.map +1 -1
- package/dist/compliance/service/compliance.service.js +20 -37
- package/dist/compliance/service/compliance.service.js.map +1 -1
- package/dist/compliance/service/kyc.service.d.ts +198 -10
- package/dist/compliance/service/kyc.service.d.ts.map +1 -1
- package/dist/compliance/service/kyc.service.js +566 -62
- package/dist/compliance/service/kyc.service.js.map +1 -1
- package/dist/compliance/service/rg-eval.d.ts +7 -2
- package/dist/compliance/service/rg-eval.d.ts.map +1 -1
- package/dist/compliance/service/rg-eval.js +10 -2
- package/dist/compliance/service/rg-eval.js.map +1 -1
- package/dist/compliance/service/rg-monitoring.service.d.ts +25 -7
- package/dist/compliance/service/rg-monitoring.service.d.ts.map +1 -1
- package/dist/compliance/service/rg-monitoring.service.js +109 -20
- package/dist/compliance/service/rg-monitoring.service.js.map +1 -1
- package/dist/compliance/service/rg-self-service.service.d.ts +84 -0
- package/dist/compliance/service/rg-self-service.service.d.ts.map +1 -0
- package/dist/compliance/service/rg-self-service.service.js +449 -0
- package/dist/compliance/service/rg-self-service.service.js.map +1 -0
- package/dist/compliance/service/rg.service.d.ts +103 -15
- package/dist/compliance/service/rg.service.d.ts.map +1 -1
- package/dist/compliance/service/rg.service.js +325 -61
- package/dist/compliance/service/rg.service.js.map +1 -1
- package/dist/contracts/__tests__/compose-contract.test.d.ts +2 -0
- package/dist/contracts/__tests__/compose-contract.test.d.ts.map +1 -0
- package/dist/contracts/__tests__/compose-contract.test.js +27 -0
- package/dist/contracts/__tests__/compose-contract.test.js.map +1 -0
- package/dist/contracts/__tests__/identity.test.d.ts +2 -0
- package/dist/contracts/__tests__/identity.test.d.ts.map +1 -0
- package/dist/contracts/__tests__/identity.test.js +50 -0
- package/dist/contracts/__tests__/identity.test.js.map +1 -0
- package/dist/contracts/__tests__/player.test.d.ts +2 -0
- package/dist/contracts/__tests__/player.test.d.ts.map +1 -0
- package/dist/contracts/__tests__/player.test.js +51 -0
- package/dist/contracts/__tests__/player.test.js.map +1 -0
- package/dist/contracts/adapters/__tests__/rate-limit.test.d.ts +2 -0
- package/dist/contracts/adapters/__tests__/rate-limit.test.d.ts.map +1 -0
- package/dist/contracts/adapters/__tests__/rate-limit.test.js +13 -0
- package/dist/contracts/adapters/__tests__/rate-limit.test.js.map +1 -0
- package/dist/contracts/adapters/__tests__/token.test.d.ts +2 -0
- package/dist/contracts/adapters/__tests__/token.test.d.ts.map +1 -0
- package/dist/contracts/adapters/__tests__/token.test.js +14 -0
- package/dist/contracts/adapters/__tests__/token.test.js.map +1 -0
- package/dist/contracts/adapters/admin-game-reporting.d.ts +43 -0
- package/dist/contracts/adapters/admin-game-reporting.d.ts.map +1 -0
- package/dist/contracts/adapters/admin-game-reporting.js +17 -0
- package/dist/contracts/adapters/admin-game-reporting.js.map +1 -0
- package/dist/contracts/adapters/admin-permission.d.ts +11 -0
- package/dist/contracts/adapters/admin-permission.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-permission.js +6 -4
- package/dist/contracts/adapters/admin-permission.js.map +1 -1
- package/dist/contracts/adapters/admin-player-activity.d.ts +51 -0
- package/dist/contracts/adapters/admin-player-activity.d.ts.map +1 -0
- package/dist/contracts/adapters/admin-player-activity.js +3 -0
- package/dist/contracts/adapters/admin-player-activity.js.map +1 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.d.ts +12 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.d.ts.map +1 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.js +3 -0
- package/dist/contracts/adapters/admin-role-assignment-directory.js.map +1 -0
- package/dist/contracts/adapters/admin-security.d.ts +27 -0
- package/dist/contracts/adapters/admin-security.d.ts.map +1 -0
- package/dist/contracts/adapters/admin-security.js +9 -0
- package/dist/contracts/adapters/admin-security.js.map +1 -0
- package/dist/contracts/adapters/admin-user-directory.d.ts +52 -4
- package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.js +8 -0
- package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
- package/dist/contracts/adapters/admin-wallet-reporting.d.ts +11 -0
- package/dist/contracts/adapters/admin-wallet-reporting.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-wallet-reporting.js +9 -0
- package/dist/contracts/adapters/admin-wallet-reporting.js.map +1 -1
- package/dist/contracts/adapters/aggregator.d.ts +12 -0
- package/dist/contracts/adapters/aggregator.d.ts.map +1 -1
- package/dist/contracts/adapters/aggregator.js +5 -3
- package/dist/contracts/adapters/aggregator.js.map +1 -1
- package/dist/contracts/adapters/audit.d.ts +30 -4
- package/dist/contracts/adapters/audit.d.ts.map +1 -1
- package/dist/contracts/adapters/audit.js.map +1 -1
- package/dist/contracts/adapters/broker.d.ts +23 -0
- package/dist/contracts/adapters/broker.d.ts.map +1 -1
- package/dist/contracts/adapters/broker.js +8 -6
- package/dist/contracts/adapters/broker.js.map +1 -1
- package/dist/contracts/adapters/cache.d.ts +11 -0
- package/dist/contracts/adapters/cache.d.ts.map +1 -1
- package/dist/contracts/adapters/cache.js +8 -6
- package/dist/contracts/adapters/cache.js.map +1 -1
- package/dist/contracts/adapters/chat-block-writer.d.ts +18 -0
- package/dist/contracts/adapters/chat-block-writer.d.ts.map +1 -0
- package/dist/contracts/adapters/chat-block-writer.js +7 -0
- package/dist/contracts/adapters/chat-block-writer.js.map +1 -0
- package/dist/contracts/adapters/chat-moderation.d.ts +75 -0
- package/dist/contracts/adapters/chat-moderation.d.ts.map +1 -0
- package/dist/contracts/adapters/chat-moderation.js +3 -0
- package/dist/contracts/adapters/chat-moderation.js.map +1 -0
- package/dist/contracts/adapters/chat-room-access.d.ts +6 -0
- package/dist/contracts/adapters/chat-room-access.d.ts.map +1 -0
- package/dist/contracts/adapters/chat-room-access.js +3 -0
- package/dist/contracts/adapters/chat-room-access.js.map +1 -0
- package/dist/contracts/adapters/chat-system-writer.d.ts +19 -0
- package/dist/contracts/adapters/chat-system-writer.d.ts.map +1 -0
- package/dist/contracts/adapters/chat-system-writer.js +3 -0
- package/dist/contracts/adapters/chat-system-writer.js.map +1 -0
- package/dist/contracts/adapters/email-template.d.ts +12 -0
- package/dist/contracts/adapters/email-template.d.ts.map +1 -0
- package/dist/contracts/adapters/email-template.js +3 -0
- package/dist/contracts/adapters/email-template.js.map +1 -0
- package/dist/contracts/adapters/error-tracking.d.ts +12 -0
- package/dist/contracts/adapters/error-tracking.d.ts.map +1 -0
- package/dist/contracts/adapters/error-tracking.js +3 -0
- package/dist/contracts/adapters/error-tracking.js.map +1 -0
- package/dist/contracts/adapters/exchange-rate-provider.d.ts +14 -0
- package/dist/contracts/adapters/exchange-rate-provider.d.ts.map +1 -0
- package/dist/contracts/adapters/exchange-rate-provider.js +5 -0
- package/dist/contracts/adapters/exchange-rate-provider.js.map +1 -0
- package/dist/contracts/adapters/exchange-rate-reader.d.ts +16 -0
- package/dist/contracts/adapters/exchange-rate-reader.d.ts.map +1 -0
- package/dist/contracts/adapters/exchange-rate-reader.js +3 -0
- package/dist/contracts/adapters/exchange-rate-reader.js.map +1 -0
- package/dist/contracts/adapters/game.d.ts +4 -0
- package/dist/contracts/adapters/game.d.ts.map +1 -1
- package/dist/contracts/adapters/game.js +4 -2
- package/dist/contracts/adapters/game.js.map +1 -1
- package/dist/contracts/adapters/geo-check-commands.d.ts +8 -0
- package/dist/contracts/adapters/geo-check-commands.d.ts.map +1 -0
- package/dist/contracts/adapters/geo-check-commands.js +3 -0
- package/dist/contracts/adapters/geo-check-commands.js.map +1 -0
- package/dist/contracts/adapters/geo-ip.d.ts +4 -0
- package/dist/contracts/adapters/geo-ip.d.ts.map +1 -1
- package/dist/contracts/adapters/geo-ip.js +4 -2
- package/dist/contracts/adapters/geo-ip.js.map +1 -1
- package/dist/contracts/adapters/identity-reader.d.ts +20 -4
- package/dist/contracts/adapters/identity-reader.d.ts.map +1 -1
- package/dist/contracts/adapters/identity-reader.js.map +1 -1
- package/dist/contracts/adapters/identity.d.ts +15 -0
- package/dist/contracts/adapters/identity.d.ts.map +1 -1
- package/dist/contracts/adapters/identity.js +5 -2
- package/dist/contracts/adapters/identity.js.map +1 -1
- package/dist/contracts/adapters/index.d.ts +68 -19
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +36 -13
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/job-queue.d.ts +55 -0
- package/dist/contracts/adapters/job-queue.d.ts.map +1 -1
- package/dist/contracts/adapters/job-queue.js +11 -9
- package/dist/contracts/adapters/job-queue.js.map +1 -1
- package/dist/contracts/adapters/kyc.d.ts +110 -11
- package/dist/contracts/adapters/kyc.d.ts.map +1 -1
- package/dist/contracts/adapters/kyc.js +23 -0
- package/dist/contracts/adapters/kyc.js.map +1 -1
- package/dist/contracts/adapters/login-enforcement.d.ts +8 -0
- package/dist/contracts/adapters/login-enforcement.d.ts.map +1 -1
- package/dist/contracts/adapters/login-enforcement.js +8 -6
- package/dist/contracts/adapters/login-enforcement.js.map +1 -1
- package/dist/contracts/adapters/mail.d.ts +30 -0
- package/dist/contracts/adapters/mail.d.ts.map +1 -0
- package/dist/contracts/adapters/mail.js +4 -0
- package/dist/contracts/adapters/mail.js.map +1 -0
- package/dist/contracts/adapters/outbox.d.ts +14 -0
- package/dist/contracts/adapters/outbox.d.ts.map +1 -1
- package/dist/contracts/adapters/outbox.js +14 -12
- package/dist/contracts/adapters/outbox.js.map +1 -1
- package/dist/contracts/adapters/payment.d.ts +141 -3
- package/dist/contracts/adapters/payment.d.ts.map +1 -1
- package/dist/contracts/adapters/payment.js +11 -3
- package/dist/contracts/adapters/payment.js.map +1 -1
- package/dist/contracts/adapters/play-eligibility.d.ts +15 -0
- package/dist/contracts/adapters/play-eligibility.d.ts.map +1 -0
- package/dist/contracts/adapters/play-eligibility.js +3 -0
- package/dist/contracts/adapters/play-eligibility.js.map +1 -0
- package/dist/contracts/adapters/player-activity.d.ts +6 -0
- package/dist/contracts/adapters/player-activity.d.ts.map +1 -0
- package/dist/contracts/adapters/player-activity.js +3 -0
- package/dist/contracts/adapters/player-activity.js.map +1 -0
- package/dist/contracts/adapters/player-provisioning.d.ts +29 -0
- package/dist/contracts/adapters/player-provisioning.d.ts.map +1 -0
- package/dist/contracts/adapters/player-provisioning.js +3 -0
- package/dist/contracts/adapters/player-provisioning.js.map +1 -0
- package/dist/contracts/adapters/player-tags.d.ts +4 -0
- package/dist/contracts/adapters/player-tags.d.ts.map +1 -1
- package/dist/contracts/adapters/player-tags.js.map +1 -1
- package/dist/contracts/adapters/rate-limit.d.ts +41 -3
- package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
- package/dist/contracts/adapters/rate-limit.js +29 -6
- package/dist/contracts/adapters/rate-limit.js.map +1 -1
- package/dist/contracts/adapters/realtime.d.ts +156 -7
- package/dist/contracts/adapters/realtime.d.ts.map +1 -1
- package/dist/contracts/adapters/realtime.js +33 -10
- package/dist/contracts/adapters/realtime.js.map +1 -1
- package/dist/contracts/adapters/rg-limits.d.ts +47 -0
- package/dist/contracts/adapters/rg-limits.d.ts.map +1 -0
- package/dist/contracts/adapters/rg-limits.js +18 -0
- package/dist/contracts/adapters/rg-limits.js.map +1 -0
- package/dist/contracts/adapters/rng.d.ts +11 -0
- package/dist/contracts/adapters/rng.d.ts.map +1 -1
- package/dist/contracts/adapters/rng.js +11 -9
- package/dist/contracts/adapters/rng.js.map +1 -1
- package/dist/contracts/adapters/sms.d.ts +15 -0
- package/dist/contracts/adapters/sms.d.ts.map +1 -0
- package/dist/contracts/adapters/sms.js +9 -0
- package/dist/contracts/adapters/sms.js.map +1 -0
- package/dist/contracts/adapters/social-commands.d.ts +12 -0
- package/dist/contracts/adapters/social-commands.d.ts.map +1 -0
- package/dist/contracts/adapters/social-commands.js +7 -0
- package/dist/contracts/adapters/social-commands.js.map +1 -0
- package/dist/contracts/adapters/swap.d.ts +75 -0
- package/dist/contracts/adapters/swap.d.ts.map +1 -0
- package/dist/contracts/adapters/swap.js +5 -0
- package/dist/contracts/adapters/swap.js.map +1 -0
- package/dist/contracts/adapters/tag-evaluation-commands.d.ts +20 -0
- package/dist/contracts/adapters/tag-evaluation-commands.d.ts.map +1 -0
- package/dist/contracts/adapters/tag-evaluation-commands.js +13 -0
- package/dist/contracts/adapters/tag-evaluation-commands.js.map +1 -0
- package/dist/contracts/adapters/token.d.ts +28 -5
- package/dist/contracts/adapters/token.d.ts.map +1 -1
- package/dist/contracts/adapters/token.js +10 -8
- package/dist/contracts/adapters/token.js.map +1 -1
- package/dist/contracts/adapters/wallet-asset-catalog.d.ts +34 -0
- package/dist/contracts/adapters/wallet-asset-catalog.d.ts.map +1 -0
- package/dist/contracts/adapters/wallet-asset-catalog.js +3 -0
- package/dist/contracts/adapters/wallet-asset-catalog.js.map +1 -0
- package/dist/contracts/adapters/wallet-commands.d.ts +17 -0
- package/dist/contracts/adapters/wallet-commands.d.ts.map +1 -1
- package/dist/contracts/adapters/wallet-commands.js.map +1 -1
- package/dist/contracts/adapters/wallet-reader.d.ts +21 -1
- package/dist/contracts/adapters/wallet-reader.d.ts.map +1 -1
- package/dist/contracts/adapters/wallet-reader.js.map +1 -1
- package/dist/contracts/kit.d.ts +15 -0
- package/dist/contracts/kit.d.ts.map +1 -1
- package/dist/contracts/kit.js +1 -0
- package/dist/contracts/kit.js.map +1 -1
- package/dist/contracts/schemas/__tests__/common-schemas.test.js +33 -4
- package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -1
- package/dist/contracts/schemas/__tests__/events.test.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/events.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/events.test.js +169 -0
- package/dist/contracts/schemas/__tests__/events.test.js.map +1 -0
- package/dist/contracts/schemas/__tests__/igaming-config.test.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/igaming-config.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/igaming-config.test.js +38 -0
- package/dist/contracts/schemas/__tests__/igaming-config.test.js.map +1 -0
- package/dist/contracts/schemas/__tests__/platform-config.test.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/platform-config.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/platform-config.test.js +16 -0
- package/dist/contracts/schemas/__tests__/platform-config.test.js.map +1 -0
- package/dist/contracts/schemas/__tests__/player-schemas.test.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/player-schemas.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/player-schemas.test.js +30 -0
- package/dist/contracts/schemas/__tests__/player-schemas.test.js.map +1 -0
- package/dist/contracts/schemas/__tests__/tag-schemas.test.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/tag-schemas.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/tag-schemas.test.js +42 -0
- package/dist/contracts/schemas/__tests__/tag-schemas.test.js.map +1 -0
- package/dist/contracts/schemas/chat-attachment.d.ts +20 -0
- package/dist/contracts/schemas/chat-attachment.d.ts.map +1 -0
- package/dist/contracts/schemas/chat-attachment.js +14 -0
- package/dist/contracts/schemas/chat-attachment.js.map +1 -0
- package/dist/contracts/schemas/chat-command-metadata.d.ts +73 -0
- package/dist/contracts/schemas/chat-command-metadata.d.ts.map +1 -0
- package/dist/contracts/schemas/chat-command-metadata.js +67 -0
- package/dist/contracts/schemas/chat-command-metadata.js.map +1 -0
- package/dist/contracts/schemas/chat-command.d.ts +224 -0
- package/dist/contracts/schemas/chat-command.d.ts.map +1 -0
- package/dist/contracts/schemas/chat-command.js +55 -0
- package/dist/contracts/schemas/chat-command.js.map +1 -0
- package/dist/contracts/schemas/common.d.ts +36 -0
- package/dist/contracts/schemas/common.d.ts.map +1 -1
- package/dist/contracts/schemas/common.js +67 -2
- package/dist/contracts/schemas/common.js.map +1 -1
- package/dist/contracts/schemas/compliance.d.ts +23 -1
- package/dist/contracts/schemas/compliance.d.ts.map +1 -1
- package/dist/contracts/schemas/compliance.js +12 -0
- package/dist/contracts/schemas/compliance.js.map +1 -1
- package/dist/contracts/schemas/display-currency.d.ts +14 -0
- package/dist/contracts/schemas/display-currency.d.ts.map +1 -0
- package/dist/contracts/schemas/display-currency.js +45 -0
- package/dist/contracts/schemas/display-currency.js.map +1 -0
- package/dist/contracts/schemas/events.d.ts +908 -7
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +564 -69
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/contracts/schemas/game.d.ts +9 -0
- package/dist/contracts/schemas/game.d.ts.map +1 -0
- package/dist/contracts/schemas/game.js +4 -0
- package/dist/contracts/schemas/game.js.map +1 -0
- package/dist/contracts/schemas/iam.d.ts +30 -0
- package/dist/contracts/schemas/iam.d.ts.map +1 -1
- package/dist/contracts/schemas/iam.js +33 -0
- package/dist/contracts/schemas/iam.js.map +1 -1
- package/dist/contracts/schemas/identity.d.ts +156 -3
- package/dist/contracts/schemas/identity.d.ts.map +1 -1
- package/dist/contracts/schemas/identity.js +142 -8
- package/dist/contracts/schemas/identity.js.map +1 -1
- package/dist/contracts/schemas/igaming-config.d.ts +31 -1
- package/dist/contracts/schemas/igaming-config.d.ts.map +1 -1
- package/dist/contracts/schemas/igaming-config.js +9 -1
- package/dist/contracts/schemas/igaming-config.js.map +1 -1
- package/dist/contracts/schemas/index.d.ts +7 -0
- package/dist/contracts/schemas/index.d.ts.map +1 -1
- package/dist/contracts/schemas/index.js +7 -0
- package/dist/contracts/schemas/index.js.map +1 -1
- package/dist/contracts/schemas/mail.d.ts +166 -0
- package/dist/contracts/schemas/mail.d.ts.map +1 -0
- package/dist/contracts/schemas/mail.js +74 -0
- package/dist/contracts/schemas/mail.js.map +1 -0
- package/dist/contracts/schemas/platform-config.d.ts +206 -32
- package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
- package/dist/contracts/schemas/platform-config.js +226 -7
- package/dist/contracts/schemas/platform-config.js.map +1 -1
- package/dist/contracts/schemas/player.d.ts +96 -4
- package/dist/contracts/schemas/player.d.ts.map +1 -1
- package/dist/contracts/schemas/player.js +83 -9
- package/dist/contracts/schemas/player.js.map +1 -1
- package/dist/contracts/schemas/reporting.d.ts +20 -0
- package/dist/contracts/schemas/reporting.d.ts.map +1 -0
- package/dist/contracts/schemas/reporting.js +13 -0
- package/dist/contracts/schemas/reporting.js.map +1 -0
- package/dist/contracts/schemas/tag.d.ts +86 -2
- package/dist/contracts/schemas/tag.d.ts.map +1 -1
- package/dist/contracts/schemas/tag.js +13 -1
- package/dist/contracts/schemas/tag.js.map +1 -1
- package/dist/contracts/schemas/wallet-tx.d.ts +47 -3
- package/dist/contracts/schemas/wallet-tx.d.ts.map +1 -1
- package/dist/contracts/schemas/wallet-tx.js +47 -3
- package/dist/contracts/schemas/wallet-tx.js.map +1 -1
- package/dist/engagement/chat/__tests__/chat-moderation-expiry.int.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/chat-moderation-expiry.int.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/chat-moderation-expiry.int.test.js +155 -0
- package/dist/engagement/chat/__tests__/chat-moderation-expiry.int.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/chat-mute-listing.int.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/chat-mute-listing.int.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/chat-mute-listing.int.test.js +81 -0
- package/dist/engagement/chat/__tests__/chat-mute-listing.int.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/chat.router.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/chat.router.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/chat.router.test.js +44 -0
- package/dist/engagement/chat/__tests__/chat.router.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/chat.service.int.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/chat.service.int.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/chat.service.int.test.js +2349 -0
- package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/contract.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/contract.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/contract.test.js +44 -0
- package/dist/engagement/chat/__tests__/contract.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/global-chat-room.int.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/global-chat-room.int.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/global-chat-room.int.test.js +100 -0
- package/dist/engagement/chat/__tests__/global-chat-room.int.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/moderation.test.js +2 -0
- package/dist/engagement/chat/__tests__/moderation.test.js.map +1 -1
- package/dist/engagement/chat/__tests__/room-ownership-handover.int.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/room-ownership-handover.int.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/room-ownership-handover.int.test.js +736 -0
- package/dist/engagement/chat/__tests__/room-ownership-handover.int.test.js.map +1 -0
- package/dist/engagement/chat/__tests__/validate-attachment.test.d.ts +2 -0
- package/dist/engagement/chat/__tests__/validate-attachment.test.d.ts.map +1 -0
- package/dist/engagement/chat/__tests__/validate-attachment.test.js +38 -0
- package/dist/engagement/chat/__tests__/validate-attachment.test.js.map +1 -0
- package/dist/engagement/chat/contract/constants.d.ts +15 -0
- package/dist/engagement/chat/contract/constants.d.ts.map +1 -0
- package/dist/engagement/chat/contract/constants.js +20 -0
- package/dist/engagement/chat/contract/constants.js.map +1 -0
- package/dist/engagement/chat/contract/index.d.ts +2191 -17
- package/dist/engagement/chat/contract/index.d.ts.map +1 -1
- package/dist/engagement/chat/contract/index.js +458 -13
- package/dist/engagement/chat/contract/index.js.map +1 -1
- package/dist/engagement/chat/drizzle/migrations/0001_cloudy_groot.sql +32 -0
- package/dist/engagement/chat/drizzle/migrations/0002_steep_zodiak.sql +3 -0
- package/dist/engagement/chat/drizzle/migrations/0003_stormy_king_bedlam.sql +9 -0
- package/dist/engagement/chat/drizzle/migrations/0004_panoramic_robin_chapel.sql +6 -0
- package/dist/engagement/chat/drizzle/migrations/0005_tranquil_gwen_stacy.sql +100 -0
- package/dist/engagement/chat/drizzle/migrations/0006_tiny_ultron.sql +3 -0
- package/dist/engagement/chat/drizzle/migrations/0007_seed_global_chat_room.sql +8 -0
- package/dist/engagement/chat/drizzle/migrations/0008_robust_korvac.sql +1 -0
- package/dist/engagement/chat/drizzle/migrations/0009_massive_bill_hollister.sql +1 -0
- package/dist/engagement/chat/drizzle/migrations/0010_backfill_role_assigned_at.sql +9 -0
- package/dist/engagement/chat/drizzle/migrations/0011_light_changeling.sql +1 -0
- package/dist/engagement/chat/drizzle/migrations/0012_strange_mephisto.sql +3 -0
- package/dist/engagement/chat/drizzle/migrations/0013_chilly_sprite.sql +6 -0
- package/dist/engagement/chat/drizzle/migrations/0014_chat_moderation_expiry_recorded.sql +19 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0001_snapshot.json +557 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0002_snapshot.json +576 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0003_snapshot.json +652 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0004_snapshot.json +666 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0005_snapshot.json +1422 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0006_snapshot.json +1456 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0007_snapshot.json +1456 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0008_snapshot.json +1462 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0009_snapshot.json +1468 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0010_snapshot.json +1468 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0011_snapshot.json +1489 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0012_snapshot.json +1517 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0013_snapshot.json +1517 -0
- package/dist/engagement/chat/drizzle/migrations/meta/0014_snapshot.json +1544 -0
- package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +98 -0
- package/dist/engagement/chat/index.d.ts +1 -2
- package/dist/engagement/chat/index.d.ts.map +1 -1
- package/dist/engagement/chat/index.js +1 -2
- package/dist/engagement/chat/index.js.map +1 -1
- package/dist/engagement/chat/moderation/index.d.ts +1 -0
- package/dist/engagement/chat/moderation/index.d.ts.map +1 -1
- package/dist/engagement/chat/moderation/index.js +1 -0
- package/dist/engagement/chat/moderation/index.js.map +1 -1
- package/dist/engagement/chat/moderation/profanity.d.ts.map +1 -1
- package/dist/engagement/chat/moderation/profanity.js +2 -0
- package/dist/engagement/chat/moderation/profanity.js.map +1 -1
- package/dist/engagement/chat/moderation/validate-attachment.d.ts +9 -0
- package/dist/engagement/chat/moderation/validate-attachment.d.ts.map +1 -0
- package/dist/engagement/chat/moderation/validate-attachment.js +27 -0
- package/dist/engagement/chat/moderation/validate-attachment.js.map +1 -0
- package/dist/engagement/chat/plugin.d.ts +181 -1
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat/plugin.js +211 -5
- package/dist/engagement/chat/plugin.js.map +1 -1
- package/dist/engagement/chat/router/index.d.ts +1663 -17
- package/dist/engagement/chat/router/index.d.ts.map +1 -1
- package/dist/engagement/chat/router/index.js +302 -27
- package/dist/engagement/chat/router/index.js.map +1 -1
- package/dist/engagement/chat/schema/index.d.ts +1630 -0
- package/dist/engagement/chat/schema/index.d.ts.map +1 -1
- package/dist/engagement/chat/schema/index.js +189 -4
- package/dist/engagement/chat/schema/index.js.map +1 -1
- package/dist/engagement/chat/service/chat-ban.service.d.ts +26 -0
- package/dist/engagement/chat/service/chat-ban.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-ban.service.js +144 -0
- package/dist/engagement/chat/service/chat-ban.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.d.ts +14 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.js +48 -0
- package/dist/engagement/chat/service/chat-message-moderation.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-moderation-expiry.service.d.ts +22 -0
- package/dist/engagement/chat/service/chat-moderation-expiry.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-moderation-expiry.service.js +80 -0
- package/dist/engagement/chat/service/chat-moderation-expiry.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-moderation.service.d.ts +30 -0
- package/dist/engagement/chat/service/chat-moderation.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-moderation.service.js +40 -0
- package/dist/engagement/chat/service/chat-moderation.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-mute.service.d.ts +26 -0
- package/dist/engagement/chat/service/chat-mute.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-mute.service.js +159 -0
- package/dist/engagement/chat/service/chat-mute.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-ban.service.d.ts +29 -0
- package/dist/engagement/chat/service/chat-room-ban.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-ban.service.js +107 -0
- package/dist/engagement/chat/service/chat-room-ban.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-membership.service.d.ts +107 -0
- package/dist/engagement/chat/service/chat-room-membership.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-membership.service.js +536 -0
- package/dist/engagement/chat/service/chat-room-membership.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-mute.service.d.ts +25 -0
- package/dist/engagement/chat/service/chat-room-mute.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-mute.service.js +89 -0
- package/dist/engagement/chat/service/chat-room-mute.service.js.map +1 -0
- package/dist/engagement/chat/service/chat-room-purge.service.d.ts +13 -0
- package/dist/engagement/chat/service/chat-room-purge.service.d.ts.map +1 -0
- package/dist/engagement/chat/service/chat-room-purge.service.js +75 -0
- package/dist/engagement/chat/service/chat-room-purge.service.js.map +1 -0
- package/dist/engagement/chat/service/chat.service.d.ts +1144 -35
- package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.js +1220 -70
- package/dist/engagement/chat/service/chat.service.js.map +1 -1
- package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts +42 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts.map +1 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.js +32 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.js.map +1 -0
- package/dist/engagement/chat-commands/__tests__/migration-upgrade.int.test.d.ts +2 -0
- package/dist/engagement/chat-commands/__tests__/migration-upgrade.int.test.d.ts.map +1 -0
- package/dist/engagement/chat-commands/__tests__/migration-upgrade.int.test.js +52 -0
- package/dist/engagement/chat-commands/__tests__/migration-upgrade.int.test.js.map +1 -0
- package/dist/engagement/chat-commands/contract/index.d.ts +165 -0
- package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -0
- package/dist/engagement/chat-commands/contract/index.js +67 -0
- package/dist/engagement/chat-commands/contract/index.js.map +1 -0
- package/dist/engagement/chat-commands/drizzle/migrations/0000_daffy_lady_bullseye.sql +24 -0
- package/dist/engagement/chat-commands/drizzle/migrations/0001_sturdy_barracuda.sql +1 -0
- package/dist/engagement/chat-commands/drizzle/migrations/meta/0000_snapshot.json +164 -0
- package/dist/engagement/chat-commands/drizzle/migrations/meta/0001_snapshot.json +83 -0
- package/dist/engagement/chat-commands/drizzle/migrations/meta/_journal.json +20 -0
- package/dist/engagement/chat-commands/drizzle.config.d.ts +4 -0
- package/dist/engagement/chat-commands/drizzle.config.d.ts.map +1 -0
- package/dist/engagement/chat-commands/drizzle.config.js +21 -0
- package/dist/engagement/chat-commands/drizzle.config.js.map +1 -0
- package/dist/engagement/chat-commands/migrate.d.ts +2 -0
- package/dist/engagement/chat-commands/migrate.d.ts.map +1 -0
- package/dist/engagement/chat-commands/migrate.js +20 -0
- package/dist/engagement/chat-commands/migrate.js.map +1 -0
- package/dist/engagement/chat-commands/plugin.d.ts +182 -0
- package/dist/engagement/chat-commands/plugin.d.ts.map +1 -0
- package/dist/engagement/chat-commands/plugin.js +15 -0
- package/dist/engagement/chat-commands/plugin.js.map +1 -0
- package/dist/engagement/chat-commands/router/index.d.ts +113 -0
- package/dist/engagement/chat-commands/router/index.d.ts.map +1 -0
- package/dist/engagement/chat-commands/router/index.js +24 -0
- package/dist/engagement/chat-commands/router/index.js.map +1 -0
- package/dist/engagement/chat-commands/schema/index.d.ts +138 -0
- package/dist/engagement/chat-commands/schema/index.d.ts.map +1 -0
- package/dist/engagement/chat-commands/schema/index.js +11 -0
- package/dist/engagement/chat-commands/schema/index.js.map +1 -0
- package/dist/engagement/chat-commands/seed/index.d.ts +3 -0
- package/dist/engagement/chat-commands/seed/index.d.ts.map +1 -0
- package/dist/engagement/chat-commands/seed/index.js +66 -0
- package/dist/engagement/chat-commands/seed/index.js.map +1 -0
- package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.d.ts +2 -0
- package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.d.ts.map +1 -0
- package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +146 -0
- package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -0
- package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +54 -0
- package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -0
- package/dist/engagement/chat-commands/service/chat-commands.service.js +147 -0
- package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -0
- package/dist/engagement/contracts.d.ts +2 -0
- package/dist/engagement/contracts.d.ts.map +1 -1
- package/dist/engagement/contracts.js +2 -0
- package/dist/engagement/contracts.js.map +1 -1
- package/dist/engagement/index.d.ts +2 -0
- package/dist/engagement/index.d.ts.map +1 -1
- package/dist/engagement/index.js +2 -0
- package/dist/engagement/index.js.map +1 -1
- package/dist/engagement/notifications/__tests__/chat-room-notifications.int.test.d.ts +2 -0
- package/dist/engagement/notifications/__tests__/chat-room-notifications.int.test.d.ts.map +1 -0
- package/dist/engagement/notifications/__tests__/chat-room-notifications.int.test.js +184 -0
- package/dist/engagement/notifications/__tests__/chat-room-notifications.int.test.js.map +1 -0
- package/dist/engagement/notifications/__tests__/notification-event-map.test.d.ts +2 -0
- package/dist/engagement/notifications/__tests__/notification-event-map.test.d.ts.map +1 -0
- package/dist/engagement/notifications/__tests__/notification-event-map.test.js +306 -0
- package/dist/engagement/notifications/__tests__/notification-event-map.test.js.map +1 -0
- package/dist/engagement/notifications/__tests__/notifications.router.int.test.d.ts +2 -0
- package/dist/engagement/notifications/__tests__/notifications.router.int.test.d.ts.map +1 -0
- package/dist/engagement/notifications/__tests__/notifications.router.int.test.js +148 -0
- package/dist/engagement/notifications/__tests__/notifications.router.int.test.js.map +1 -0
- package/dist/engagement/notifications/__tests__/notifications.service.int.test.d.ts +2 -0
- package/dist/engagement/notifications/__tests__/notifications.service.int.test.d.ts.map +1 -0
- package/dist/engagement/notifications/__tests__/notifications.service.int.test.js +298 -0
- package/dist/engagement/notifications/__tests__/notifications.service.int.test.js.map +1 -0
- package/dist/engagement/notifications/contract/index.d.ts +126 -13
- package/dist/engagement/notifications/contract/index.d.ts.map +1 -1
- package/dist/engagement/notifications/contract/index.js +46 -5
- package/dist/engagement/notifications/contract/index.js.map +1 -1
- package/dist/engagement/notifications/drizzle/migrations/0001_classy_pixie.sql +1 -0
- package/dist/engagement/notifications/drizzle/migrations/0002_open_madame_web.sql +2 -0
- package/dist/engagement/notifications/drizzle/migrations/meta/0001_snapshot.json +98 -0
- package/dist/engagement/notifications/drizzle/migrations/meta/0002_snapshot.json +119 -0
- package/dist/engagement/notifications/drizzle/migrations/meta/_journal.json +14 -0
- package/dist/engagement/notifications/plugin.d.ts +198 -1
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.js +421 -47
- package/dist/engagement/notifications/plugin.js.map +1 -1
- package/dist/engagement/notifications/react/notifications.d.ts +20 -0
- package/dist/engagement/notifications/react/notifications.d.ts.map +1 -0
- package/dist/engagement/notifications/react/notifications.js +39 -0
- package/dist/engagement/notifications/react/notifications.js.map +1 -0
- package/dist/engagement/notifications/router/index.d.ts +74 -13
- package/dist/engagement/notifications/router/index.d.ts.map +1 -1
- package/dist/engagement/notifications/router/index.js +37 -16
- package/dist/engagement/notifications/router/index.js.map +1 -1
- package/dist/engagement/notifications/schema/index.d.ts +36 -0
- package/dist/engagement/notifications/schema/index.d.ts.map +1 -1
- package/dist/engagement/notifications/schema/index.js +7 -2
- package/dist/engagement/notifications/schema/index.js.map +1 -1
- package/dist/engagement/notifications/service/notifications.service.d.ts +33 -21
- package/dist/engagement/notifications/service/notifications.service.d.ts.map +1 -1
- package/dist/engagement/notifications/service/notifications.service.js +41 -11
- package/dist/engagement/notifications/service/notifications.service.js.map +1 -1
- package/dist/engagement/react.d.ts +1 -1
- package/dist/engagement/react.d.ts.map +1 -1
- package/dist/engagement/react.js +2 -2
- package/dist/engagement/react.js.map +1 -1
- package/dist/engagement/server.d.ts +2 -0
- package/dist/engagement/server.d.ts.map +1 -1
- package/dist/engagement/server.js +2 -0
- package/dist/engagement/server.js.map +1 -1
- package/dist/engagement/social/__tests__/social.plugin.int.test.d.ts +2 -0
- package/dist/engagement/social/__tests__/social.plugin.int.test.d.ts.map +1 -0
- package/dist/engagement/social/__tests__/social.plugin.int.test.js +100 -0
- package/dist/engagement/social/__tests__/social.plugin.int.test.js.map +1 -0
- package/dist/engagement/social/__tests__/social.router.int.test.d.ts +2 -0
- package/dist/engagement/social/__tests__/social.router.int.test.d.ts.map +1 -0
- package/dist/engagement/social/__tests__/social.router.int.test.js +215 -0
- package/dist/engagement/social/__tests__/social.router.int.test.js.map +1 -0
- package/dist/engagement/social/__tests__/social.service.int.test.d.ts +2 -0
- package/dist/engagement/social/__tests__/social.service.int.test.d.ts.map +1 -0
- package/dist/engagement/social/__tests__/social.service.int.test.js +810 -0
- package/dist/engagement/social/__tests__/social.service.int.test.js.map +1 -0
- package/dist/engagement/social/contract/index.d.ts +187 -0
- package/dist/engagement/social/contract/index.d.ts.map +1 -0
- package/dist/engagement/social/contract/index.js +107 -0
- package/dist/engagement/social/contract/index.js.map +1 -0
- package/dist/engagement/social/drizzle/migrations/0000_fine_jamie_braddock.sql +24 -0
- package/dist/engagement/social/drizzle/migrations/0001_lame_eddie_brock.sql +10 -0
- package/dist/engagement/social/drizzle/migrations/0002_foamy_saracen.sql +1 -0
- package/dist/engagement/social/drizzle/migrations/0003_fuzzy_shadow_king.sql +4 -0
- package/dist/engagement/social/drizzle/migrations/0004_friendship-cancel-constraint.sql +2 -0
- package/dist/engagement/social/drizzle/migrations/meta/0000_snapshot.json +232 -0
- package/dist/engagement/social/drizzle/migrations/meta/0001_snapshot.json +129 -0
- package/dist/engagement/social/drizzle/migrations/meta/0002_snapshot.json +134 -0
- package/dist/engagement/social/drizzle/migrations/meta/0003_snapshot.json +145 -0
- package/dist/engagement/social/drizzle/migrations/meta/0004_snapshot.json +145 -0
- package/dist/engagement/social/drizzle/migrations/meta/_journal.json +41 -0
- package/dist/engagement/social/drizzle.config.d.ts +4 -0
- package/dist/engagement/social/drizzle.config.d.ts.map +1 -0
- package/dist/engagement/social/drizzle.config.js +21 -0
- package/dist/engagement/social/drizzle.config.js.map +1 -0
- package/dist/engagement/social/index.d.ts +3 -0
- package/dist/engagement/social/index.d.ts.map +1 -0
- package/dist/engagement/social/index.js +6 -0
- package/dist/engagement/social/index.js.map +1 -0
- package/dist/engagement/social/migrate.d.ts +5 -0
- package/dist/engagement/social/migrate.d.ts.map +1 -0
- package/dist/engagement/social/migrate.js +17 -0
- package/dist/engagement/social/migrate.js.map +1 -0
- package/dist/engagement/social/plugin.d.ts +182 -0
- package/dist/engagement/social/plugin.d.ts.map +1 -0
- package/dist/engagement/social/plugin.js +17 -0
- package/dist/engagement/social/plugin.js.map +1 -0
- package/dist/engagement/social/router/index.d.ts +98 -0
- package/dist/engagement/social/router/index.d.ts.map +1 -0
- package/dist/engagement/social/router/index.js +68 -0
- package/dist/engagement/social/router/index.js.map +1 -0
- package/dist/engagement/social/schema/index.d.ts +145 -0
- package/dist/engagement/social/schema/index.d.ts.map +1 -0
- package/dist/engagement/social/schema/index.js +24 -0
- package/dist/engagement/social/schema/index.js.map +1 -0
- package/dist/engagement/social/service/social.service.d.ts +73 -0
- package/dist/engagement/social/service/social.service.d.ts.map +1 -0
- package/dist/engagement/social/service/social.service.js +479 -0
- package/dist/engagement/social/service/social.service.js.map +1 -0
- package/dist/fx/contracts.d.ts +2 -0
- package/dist/fx/contracts.d.ts.map +1 -0
- package/dist/fx/contracts.js +2 -0
- package/dist/fx/contracts.js.map +1 -0
- package/dist/fx/exchange-rate/__tests__/exchange-rate-reader.service.int.test.d.ts +2 -0
- package/dist/fx/exchange-rate/__tests__/exchange-rate-reader.service.int.test.d.ts.map +1 -0
- package/dist/fx/exchange-rate/__tests__/exchange-rate-reader.service.int.test.js +222 -0
- package/dist/fx/exchange-rate/__tests__/exchange-rate-reader.service.int.test.js.map +1 -0
- package/dist/fx/exchange-rate/__tests__/select-provider.test.d.ts +2 -0
- package/dist/fx/exchange-rate/__tests__/select-provider.test.d.ts.map +1 -0
- package/dist/fx/exchange-rate/__tests__/select-provider.test.js +26 -0
- package/dist/fx/exchange-rate/__tests__/select-provider.test.js.map +1 -0
- package/dist/fx/exchange-rate/adapters/exchange-rate-reader.service.d.ts +59 -0
- package/dist/fx/exchange-rate/adapters/exchange-rate-reader.service.d.ts.map +1 -0
- package/dist/fx/exchange-rate/adapters/exchange-rate-reader.service.js +212 -0
- package/dist/fx/exchange-rate/adapters/exchange-rate-reader.service.js.map +1 -0
- package/dist/fx/exchange-rate/contract/index.d.ts +44 -0
- package/dist/fx/exchange-rate/contract/index.d.ts.map +1 -0
- package/dist/fx/exchange-rate/contract/index.js +30 -0
- package/dist/fx/exchange-rate/contract/index.js.map +1 -0
- package/dist/fx/exchange-rate/drizzle/migrations/0000_hot_trauma.sql +10 -0
- package/dist/fx/exchange-rate/drizzle/migrations/meta/0000_snapshot.json +92 -0
- package/dist/fx/exchange-rate/drizzle/migrations/meta/_journal.json +13 -0
- package/dist/fx/exchange-rate/drizzle.config.d.ts +4 -0
- package/dist/fx/exchange-rate/drizzle.config.d.ts.map +1 -0
- package/dist/fx/exchange-rate/drizzle.config.js +18 -0
- package/dist/fx/exchange-rate/drizzle.config.js.map +1 -0
- package/dist/fx/exchange-rate/index.d.ts +3 -0
- package/dist/fx/exchange-rate/index.d.ts.map +1 -0
- package/dist/fx/exchange-rate/index.js +3 -0
- package/dist/fx/exchange-rate/index.js.map +1 -0
- package/dist/fx/exchange-rate/migrate.d.ts +5 -0
- package/dist/fx/exchange-rate/migrate.d.ts.map +1 -0
- package/dist/fx/exchange-rate/migrate.js +14 -0
- package/dist/fx/exchange-rate/migrate.js.map +1 -0
- package/dist/fx/exchange-rate/plugin.d.ts +181 -0
- package/dist/fx/exchange-rate/plugin.d.ts.map +1 -0
- package/dist/fx/exchange-rate/plugin.js +46 -0
- package/dist/fx/exchange-rate/plugin.js.map +1 -0
- package/dist/fx/exchange-rate/react/exchange-rate.d.ts +12 -0
- package/dist/fx/exchange-rate/react/exchange-rate.d.ts.map +1 -0
- package/dist/fx/exchange-rate/react/exchange-rate.js +17 -0
- package/dist/fx/exchange-rate/react/exchange-rate.js.map +1 -0
- package/dist/fx/exchange-rate/router/index.d.ts +22 -0
- package/dist/fx/exchange-rate/router/index.d.ts.map +1 -0
- package/dist/fx/exchange-rate/router/index.js +18 -0
- package/dist/fx/exchange-rate/router/index.js.map +1 -0
- package/dist/fx/exchange-rate/schema/index.d.ts +116 -0
- package/dist/fx/exchange-rate/schema/index.d.ts.map +1 -0
- package/dist/fx/exchange-rate/schema/index.js +18 -0
- package/dist/fx/exchange-rate/schema/index.js.map +1 -0
- package/dist/fx/exchange-rate/service/exchange-rate.service.d.ts +22 -0
- package/dist/fx/exchange-rate/service/exchange-rate.service.d.ts.map +1 -0
- package/dist/fx/exchange-rate/service/exchange-rate.service.js +38 -0
- package/dist/fx/exchange-rate/service/exchange-rate.service.js.map +1 -0
- package/dist/fx/index.d.ts +2 -0
- package/dist/fx/index.d.ts.map +1 -0
- package/dist/fx/index.js +2 -0
- package/dist/fx/index.js.map +1 -0
- package/dist/fx/react.d.ts +2 -0
- package/dist/fx/react.d.ts.map +1 -0
- package/dist/fx/react.js +2 -0
- package/dist/fx/react.js.map +1 -0
- package/dist/fx/server.d.ts +2 -0
- package/dist/fx/server.d.ts.map +1 -0
- package/dist/fx/server.js +2 -0
- package/dist/fx/server.js.map +1 -0
- package/dist/iam/__tests__/admin-player-activity.int.test.d.ts +2 -0
- package/dist/iam/__tests__/admin-player-activity.int.test.d.ts.map +1 -0
- package/dist/iam/__tests__/admin-player-activity.int.test.js +119 -0
- package/dist/iam/__tests__/admin-player-activity.int.test.js.map +1 -0
- package/dist/iam/__tests__/iam.service.int.test.d.ts +2 -0
- package/dist/iam/__tests__/iam.service.int.test.d.ts.map +1 -0
- package/dist/iam/__tests__/iam.service.int.test.js +580 -0
- package/dist/iam/__tests__/iam.service.int.test.js.map +1 -0
- package/dist/iam/adapters/admin-player-activity.d.ts +10 -0
- package/dist/iam/adapters/admin-player-activity.d.ts.map +1 -0
- package/dist/iam/adapters/admin-player-activity.js +106 -0
- package/dist/iam/adapters/admin-player-activity.js.map +1 -0
- package/dist/iam/adapters/admin-role-assignment-directory.d.ts +8 -0
- package/dist/iam/adapters/admin-role-assignment-directory.d.ts.map +1 -0
- package/dist/iam/adapters/admin-role-assignment-directory.js +23 -0
- package/dist/iam/adapters/admin-role-assignment-directory.js.map +1 -0
- package/dist/iam/contract/index.d.ts +58 -0
- package/dist/iam/contract/index.d.ts.map +1 -1
- package/dist/iam/contract/index.js +30 -4
- package/dist/iam/contract/index.js.map +1 -1
- package/dist/iam/plugin.d.ts +181 -1
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/iam/plugin.js +10 -5
- package/dist/iam/plugin.js.map +1 -1
- package/dist/iam/router/index.d.ts +37 -0
- package/dist/iam/router/index.d.ts.map +1 -1
- package/dist/iam/router/index.js +7 -1
- package/dist/iam/router/index.js.map +1 -1
- package/dist/iam/seed/data/default-admin-roles.d.ts.map +1 -1
- package/dist/iam/seed/data/default-admin-roles.js +4 -0
- package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
- package/dist/iam/service/iam.service.d.ts +55 -26
- package/dist/iam/service/iam.service.d.ts.map +1 -1
- package/dist/iam/service/iam.service.js +122 -17
- package/dist/iam/service/iam.service.js.map +1 -1
- package/dist/mail/__tests__/default-email-template-renderer.test.d.ts +2 -0
- package/dist/mail/__tests__/default-email-template-renderer.test.d.ts.map +1 -0
- package/dist/mail/__tests__/default-email-template-renderer.test.js +119 -0
- package/dist/mail/__tests__/default-email-template-renderer.test.js.map +1 -0
- package/dist/mail/__tests__/mail.service.test.d.ts +2 -0
- package/dist/mail/__tests__/mail.service.test.d.ts.map +1 -0
- package/dist/mail/__tests__/mail.service.test.js +215 -0
- package/dist/mail/__tests__/mail.service.test.js.map +1 -0
- package/dist/mail/adapters/default-email-template-renderer.d.ts +5 -0
- package/dist/mail/adapters/default-email-template-renderer.d.ts.map +1 -0
- package/dist/mail/adapters/default-email-template-renderer.js +107 -0
- package/dist/mail/adapters/default-email-template-renderer.js.map +1 -0
- package/dist/mail/adapters/stdout-email-sender.d.ts +5 -0
- package/dist/mail/adapters/stdout-email-sender.d.ts.map +1 -0
- package/dist/mail/adapters/stdout-email-sender.js +8 -0
- package/dist/mail/adapters/stdout-email-sender.js.map +1 -0
- package/dist/mail/contract/index.d.ts +120 -0
- package/dist/mail/contract/index.d.ts.map +1 -0
- package/dist/mail/contract/index.js +17 -0
- package/dist/mail/contract/index.js.map +1 -0
- package/dist/mail/index.d.ts +5 -0
- package/dist/mail/index.d.ts.map +1 -0
- package/dist/mail/index.js +5 -0
- package/dist/mail/index.js.map +1 -0
- package/dist/mail/plugin.d.ts +181 -0
- package/dist/mail/plugin.d.ts.map +1 -0
- package/dist/mail/plugin.js +66 -0
- package/dist/mail/plugin.js.map +1 -0
- package/dist/mail/service/mail-payload.service.d.ts +8 -0
- package/dist/mail/service/mail-payload.service.d.ts.map +1 -0
- package/dist/mail/service/mail-payload.service.js +43 -0
- package/dist/mail/service/mail-payload.service.js.map +1 -0
- package/dist/mail/service/mail.service.d.ts +30 -0
- package/dist/mail/service/mail.service.d.ts.map +1 -0
- package/dist/mail/service/mail.service.js +152 -0
- package/dist/mail/service/mail.service.js.map +1 -0
- package/dist/pam/identity/__tests__/admin-security.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/admin-security.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/admin-security.int.test.js +137 -0
- package/dist/pam/identity/__tests__/admin-security.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/admin-user-directory.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/admin-user-directory.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/admin-user-directory.int.test.js +234 -0
- package/dist/pam/identity/__tests__/admin-user-directory.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/device-fingerprint.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/device-fingerprint.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/device-fingerprint.test.js +105 -0
- package/dist/pam/identity/__tests__/device-fingerprint.test.js.map +1 -0
- package/dist/pam/identity/__tests__/identity.rate-limit.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/identity.rate-limit.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js +191 -0
- package/dist/pam/identity/__tests__/identity.rate-limit.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js +114 -0
- package/dist/pam/identity/__tests__/identity.registration-gates.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/identity.service.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/identity.service.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/identity.service.int.test.js +881 -0
- package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/login-enforcement.service.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/login-enforcement.service.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/login-enforcement.service.int.test.js +99 -0
- package/dist/pam/identity/__tests__/login-enforcement.service.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/phone-login.service.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/phone-login.service.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/phone-login.service.int.test.js +394 -0
- package/dist/pam/identity/__tests__/phone-login.service.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/phone-verification.service.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/phone-verification.service.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/phone-verification.service.int.test.js +273 -0
- package/dist/pam/identity/__tests__/phone-verification.service.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/play-eligibility.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/play-eligibility.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/play-eligibility.test.js +30 -0
- package/dist/pam/identity/__tests__/play-eligibility.test.js.map +1 -0
- package/dist/pam/identity/__tests__/rg-guard.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/rg-guard.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/rg-guard.test.js +21 -0
- package/dist/pam/identity/__tests__/rg-guard.test.js.map +1 -0
- package/dist/pam/identity/__tests__/session.service.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/session.service.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/session.service.int.test.js +88 -0
- package/dist/pam/identity/__tests__/session.service.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.js +39 -0
- package/dist/pam/identity/__tests__/user-commands.int.test.js.map +1 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.d.ts +2 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.d.ts.map +1 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.js +103 -0
- package/dist/pam/identity/__tests__/username-backfill.int.test.js.map +1 -0
- package/dist/pam/identity/adapters/identity-reader.service.d.ts +9 -4
- package/dist/pam/identity/adapters/identity-reader.service.d.ts.map +1 -1
- package/dist/pam/identity/adapters/identity-reader.service.js +61 -2
- package/dist/pam/identity/adapters/identity-reader.service.js.map +1 -1
- package/dist/pam/identity/adapters/mock/mock-kyc-adapter.d.ts +3 -3
- package/dist/pam/identity/adapters/mock/mock-kyc-adapter.d.ts.map +1 -1
- package/dist/pam/identity/adapters/mock/mock-kyc-adapter.js +3 -3
- package/dist/pam/identity/adapters/mock/mock-kyc-adapter.js.map +1 -1
- package/dist/pam/identity/adapters/mock/mock-sms-adapter.d.ts +8 -0
- package/dist/pam/identity/adapters/mock/mock-sms-adapter.d.ts.map +1 -0
- package/dist/pam/identity/adapters/mock/mock-sms-adapter.js +7 -0
- package/dist/pam/identity/adapters/mock/mock-sms-adapter.js.map +1 -0
- package/dist/pam/identity/admin-user-directory.d.ts +40 -8
- package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
- package/dist/pam/identity/admin-user-directory.js +92 -35
- package/dist/pam/identity/admin-user-directory.js.map +1 -1
- package/dist/pam/identity/contract/index.d.ts +345 -15
- package/dist/pam/identity/contract/index.d.ts.map +1 -1
- package/dist/pam/identity/contract/index.js +165 -7
- package/dist/pam/identity/contract/index.js.map +1 -1
- package/dist/pam/identity/drizzle/migrations/0001_rainy_peter_quill.sql +18 -0
- package/dist/pam/identity/drizzle/migrations/0002_outstanding_patriot.sql +1 -0
- package/dist/pam/identity/drizzle/migrations/0003_open_shotgun.sql +1 -0
- package/dist/pam/identity/drizzle/migrations/0004_round_giant_girl.sql +1 -0
- package/dist/pam/identity/drizzle/migrations/0005_daily_black_tom.sql +1 -0
- package/dist/pam/identity/drizzle/migrations/0006_brave_sabra.sql +1 -0
- package/dist/pam/identity/drizzle/migrations/0007_fuzzy_barracuda.sql +44 -0
- package/dist/pam/identity/drizzle/migrations/0008_pink_bucky.sql +23 -0
- package/dist/pam/identity/drizzle/migrations/0009_hard_sauron.sql +2 -0
- package/dist/pam/identity/drizzle/migrations/0010_lying_young_avengers.sql +19 -0
- package/dist/pam/identity/drizzle/migrations/meta/0001_snapshot.json +684 -0
- package/dist/pam/identity/drizzle/migrations/meta/0002_snapshot.json +690 -0
- package/dist/pam/identity/drizzle/migrations/meta/0003_snapshot.json +695 -0
- package/dist/pam/identity/drizzle/migrations/meta/0004_snapshot.json +680 -0
- package/dist/pam/identity/drizzle/migrations/meta/0005_snapshot.json +695 -0
- package/dist/pam/identity/drizzle/migrations/meta/0006_snapshot.json +701 -0
- package/dist/pam/identity/drizzle/migrations/meta/0007_snapshot.json +737 -0
- package/dist/pam/identity/drizzle/migrations/meta/0008_snapshot.json +913 -0
- package/dist/pam/identity/drizzle/migrations/meta/0009_snapshot.json +926 -0
- package/dist/pam/identity/drizzle/migrations/meta/0010_snapshot.json +1066 -0
- package/dist/pam/identity/drizzle/migrations/meta/_journal.json +70 -0
- package/dist/pam/identity/plugin.d.ts +180 -1
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/identity/plugin.js +113 -18
- package/dist/pam/identity/plugin.js.map +1 -1
- package/dist/pam/identity/react/account.d.ts +59 -11
- package/dist/pam/identity/react/account.d.ts.map +1 -1
- package/dist/pam/identity/react/account.js +46 -6
- package/dist/pam/identity/react/account.js.map +1 -1
- package/dist/pam/identity/react/auth.d.ts +21 -13
- package/dist/pam/identity/react/auth.d.ts.map +1 -1
- package/dist/pam/identity/router/index.d.ts +295 -16
- package/dist/pam/identity/router/index.d.ts.map +1 -1
- package/dist/pam/identity/router/index.js +135 -14
- package/dist/pam/identity/router/index.js.map +1 -1
- package/dist/pam/identity/schema/index.d.ts +755 -0
- package/dist/pam/identity/schema/index.d.ts.map +1 -1
- package/dist/pam/identity/schema/index.js +96 -2
- package/dist/pam/identity/schema/index.js.map +1 -1
- package/dist/pam/identity/service/admin-security.service.d.ts +84 -0
- package/dist/pam/identity/service/admin-security.service.d.ts.map +1 -0
- package/dist/pam/identity/service/admin-security.service.js +277 -0
- package/dist/pam/identity/service/admin-security.service.js.map +1 -0
- package/dist/pam/identity/service/capture-timezone.service.d.ts +10 -0
- package/dist/pam/identity/service/capture-timezone.service.d.ts.map +1 -0
- package/dist/pam/identity/service/capture-timezone.service.js +21 -0
- package/dist/pam/identity/service/capture-timezone.service.js.map +1 -0
- package/dist/pam/identity/service/device-fingerprint.service.d.ts +32 -0
- package/dist/pam/identity/service/device-fingerprint.service.d.ts.map +1 -0
- package/dist/pam/identity/service/device-fingerprint.service.js +79 -0
- package/dist/pam/identity/service/device-fingerprint.service.js.map +1 -0
- package/dist/pam/identity/service/identity.service.d.ts +150 -36
- package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
- package/dist/pam/identity/service/identity.service.js +1110 -138
- package/dist/pam/identity/service/identity.service.js.map +1 -1
- package/dist/pam/identity/service/lockout-policy.service.d.ts +30 -0
- package/dist/pam/identity/service/lockout-policy.service.d.ts.map +1 -0
- package/dist/pam/identity/service/lockout-policy.service.js +40 -0
- package/dist/pam/identity/service/lockout-policy.service.js.map +1 -0
- package/dist/pam/identity/service/phone-login.service.d.ts +65 -0
- package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -0
- package/dist/pam/identity/service/phone-login.service.js +393 -0
- package/dist/pam/identity/service/phone-login.service.js.map +1 -0
- package/dist/pam/identity/service/phone-verification.service.d.ts +38 -0
- package/dist/pam/identity/service/phone-verification.service.d.ts.map +1 -0
- package/dist/pam/identity/service/phone-verification.service.js +257 -0
- package/dist/pam/identity/service/phone-verification.service.js.map +1 -0
- package/dist/pam/identity/service/play-eligibility.service.d.ts +8 -0
- package/dist/pam/identity/service/play-eligibility.service.d.ts.map +1 -0
- package/dist/pam/identity/service/play-eligibility.service.js +21 -0
- package/dist/pam/identity/service/play-eligibility.service.js.map +1 -0
- package/dist/pam/identity/service/rg-guard.service.d.ts +37 -0
- package/dist/pam/identity/service/rg-guard.service.d.ts.map +1 -0
- package/dist/pam/identity/service/rg-guard.service.js +60 -0
- package/dist/pam/identity/service/rg-guard.service.js.map +1 -0
- package/dist/pam/identity/service/security-controls.service.d.ts +4 -0
- package/dist/pam/identity/service/security-controls.service.d.ts.map +1 -0
- package/dist/pam/identity/service/security-controls.service.js +28 -0
- package/dist/pam/identity/service/security-controls.service.js.map +1 -0
- package/dist/pam/identity/service/session.service.d.ts +63 -6
- package/dist/pam/identity/service/session.service.d.ts.map +1 -1
- package/dist/pam/identity/service/session.service.js +113 -21
- package/dist/pam/identity/service/session.service.js.map +1 -1
- package/dist/pam/identity/service/trusted-device.service.d.ts +56 -0
- package/dist/pam/identity/service/trusted-device.service.d.ts.map +1 -0
- package/dist/pam/identity/service/trusted-device.service.js +157 -0
- package/dist/pam/identity/service/trusted-device.service.js.map +1 -0
- package/dist/pam/identity/service/two-factor-lockout.service.d.ts +25 -0
- package/dist/pam/identity/service/two-factor-lockout.service.d.ts.map +1 -0
- package/dist/pam/identity/service/two-factor-lockout.service.js +121 -0
- package/dist/pam/identity/service/two-factor-lockout.service.js.map +1 -0
- package/dist/pam/identity/service/user-commands.service.d.ts +11 -0
- package/dist/pam/identity/service/user-commands.service.d.ts.map +1 -0
- package/dist/pam/identity/service/user-commands.service.js +32 -0
- package/dist/pam/identity/service/user-commands.service.js.map +1 -0
- package/dist/pam/player-management/__tests__/kyc-status-writer.int.test.d.ts +2 -0
- package/dist/pam/player-management/__tests__/kyc-status-writer.int.test.d.ts.map +1 -0
- package/dist/pam/player-management/__tests__/kyc-status-writer.int.test.js +76 -0
- package/dist/pam/player-management/__tests__/kyc-status-writer.int.test.js.map +1 -0
- package/dist/pam/player-management/__tests__/player.router.int.test.d.ts +2 -0
- package/dist/pam/player-management/__tests__/player.router.int.test.d.ts.map +1 -0
- package/dist/pam/player-management/__tests__/player.router.int.test.js +107 -0
- package/dist/pam/player-management/__tests__/player.router.int.test.js.map +1 -0
- package/dist/pam/player-management/__tests__/player.service.int.test.d.ts +2 -0
- package/dist/pam/player-management/__tests__/player.service.int.test.d.ts.map +1 -0
- package/dist/pam/player-management/__tests__/player.service.int.test.js +479 -0
- package/dist/pam/player-management/__tests__/player.service.int.test.js.map +1 -0
- package/dist/pam/player-management/contract/index.d.ts +125 -15
- package/dist/pam/player-management/contract/index.d.ts.map +1 -1
- package/dist/pam/player-management/contract/index.js +35 -5
- package/dist/pam/player-management/contract/index.js.map +1 -1
- package/dist/pam/player-management/plugin.d.ts +180 -1
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.js +11 -8
- package/dist/pam/player-management/plugin.js.map +1 -1
- package/dist/pam/player-management/router/index.d.ts +95 -15
- package/dist/pam/player-management/router/index.d.ts.map +1 -1
- package/dist/pam/player-management/router/index.js +54 -17
- package/dist/pam/player-management/router/index.js.map +1 -1
- package/dist/pam/player-management/service/kyc-status-writer.d.ts +5 -7
- package/dist/pam/player-management/service/kyc-status-writer.d.ts.map +1 -1
- package/dist/pam/player-management/service/kyc-status-writer.js +23 -19
- package/dist/pam/player-management/service/kyc-status-writer.js.map +1 -1
- package/dist/pam/player-management/service/player.service.d.ts +65 -22
- package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
- package/dist/pam/player-management/service/player.service.js +148 -43
- package/dist/pam/player-management/service/player.service.js.map +1 -1
- package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts +2 -0
- package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts.map +1 -0
- package/dist/pam/player-note/__tests__/player-note.router.int.test.js +52 -0
- package/dist/pam/player-note/__tests__/player-note.router.int.test.js.map +1 -0
- package/dist/pam/player-note/contract/index.d.ts +14 -0
- package/dist/pam/player-note/contract/index.d.ts.map +1 -1
- package/dist/pam/player-note/contract/index.js +8 -2
- package/dist/pam/player-note/contract/index.js.map +1 -1
- package/dist/pam/player-note/plugin.d.ts +180 -1
- package/dist/pam/player-note/plugin.d.ts.map +1 -1
- package/dist/pam/player-note/plugin.js +6 -4
- package/dist/pam/player-note/plugin.js.map +1 -1
- package/dist/pam/player-note/router/index.d.ts +10 -1
- package/dist/pam/player-note/router/index.d.ts.map +1 -1
- package/dist/pam/player-note/router/index.js +20 -3
- package/dist/pam/player-note/router/index.js.map +1 -1
- package/dist/pam/player-note/service/player-note.service.d.ts +5 -3
- package/dist/pam/player-note/service/player-note.service.d.ts.map +1 -1
- package/dist/pam/player-note/service/player-note.service.js +5 -3
- package/dist/pam/player-note/service/player-note.service.js.map +1 -1
- package/dist/pam/profile/__tests__/profile.service.int.test.d.ts +2 -0
- package/dist/pam/profile/__tests__/profile.service.int.test.d.ts.map +1 -0
- package/dist/pam/profile/__tests__/profile.service.int.test.js +296 -0
- package/dist/pam/profile/__tests__/profile.service.int.test.js.map +1 -0
- package/dist/pam/profile/contract/index.d.ts +74 -36
- package/dist/pam/profile/contract/index.d.ts.map +1 -1
- package/dist/pam/profile/contract/index.js +16 -1
- package/dist/pam/profile/contract/index.js.map +1 -1
- package/dist/pam/profile/drizzle/migrations/0001_powerful_tiger_shark.sql +1 -0
- package/dist/pam/profile/drizzle/migrations/0002_sour_alex_wilder.sql +7 -0
- package/dist/pam/profile/drizzle/migrations/0003_absurd_morbius.sql +4 -0
- package/dist/pam/profile/drizzle/migrations/0004_fuzzy_korvac.sql +1 -0
- package/dist/pam/profile/drizzle/migrations/0005_moaning_rachel_grey.sql +2 -0
- package/dist/pam/profile/drizzle/migrations/meta/0001_snapshot.json +191 -0
- package/dist/pam/profile/drizzle/migrations/meta/0002_snapshot.json +200 -0
- package/dist/pam/profile/drizzle/migrations/meta/0003_snapshot.json +224 -0
- package/dist/pam/profile/drizzle/migrations/meta/0004_snapshot.json +230 -0
- package/dist/pam/profile/drizzle/migrations/meta/0005_snapshot.json +242 -0
- package/dist/pam/profile/drizzle/migrations/meta/_journal.json +35 -0
- package/dist/pam/profile/migrate.d.ts.map +1 -1
- package/dist/pam/profile/migrate.js +3 -1
- package/dist/pam/profile/migrate.js.map +1 -1
- package/dist/pam/profile/plugin.d.ts +180 -1
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.js +8 -4
- package/dist/pam/profile/plugin.js.map +1 -1
- package/dist/pam/profile/react/profile.d.ts +34 -6
- package/dist/pam/profile/react/profile.d.ts.map +1 -1
- package/dist/pam/profile/react/profile.js +12 -0
- package/dist/pam/profile/react/profile.js.map +1 -1
- package/dist/pam/profile/router/index.d.ts +32 -4
- package/dist/pam/profile/router/index.d.ts.map +1 -1
- package/dist/pam/profile/router/index.js +4 -1
- package/dist/pam/profile/router/index.js.map +1 -1
- package/dist/pam/profile/schema/index.d.ts +193 -6
- package/dist/pam/profile/schema/index.d.ts.map +1 -1
- package/dist/pam/profile/schema/index.js +22 -10
- package/dist/pam/profile/schema/index.js.map +1 -1
- package/dist/pam/profile/service/profile.service.d.ts +55 -8
- package/dist/pam/profile/service/profile.service.d.ts.map +1 -1
- package/dist/pam/profile/service/profile.service.js +128 -23
- package/dist/pam/profile/service/profile.service.js.map +1 -1
- package/dist/pam/react.d.ts +2 -2
- package/dist/pam/react.d.ts.map +1 -1
- package/dist/pam/react.js +2 -2
- package/dist/pam/react.js.map +1 -1
- package/dist/pam/shared/__tests__/shared-mappers.test.d.ts +2 -0
- package/dist/pam/shared/__tests__/shared-mappers.test.d.ts.map +1 -0
- package/dist/pam/shared/__tests__/shared-mappers.test.js +61 -0
- package/dist/pam/shared/__tests__/shared-mappers.test.js.map +1 -0
- package/dist/pam/shared/language.d.ts +3 -1
- package/dist/pam/shared/language.d.ts.map +1 -1
- package/dist/pam/shared/language.js +6 -0
- package/dist/pam/shared/language.js.map +1 -1
- package/dist/pam/shared/otp.d.ts +3 -0
- package/dist/pam/shared/otp.d.ts.map +1 -0
- package/dist/pam/shared/otp.js +11 -0
- package/dist/pam/shared/otp.js.map +1 -0
- package/dist/pam/shared/player-mapper.d.ts +14 -4
- package/dist/pam/shared/player-mapper.d.ts.map +1 -1
- package/dist/pam/shared/player-mapper.js +14 -5
- package/dist/pam/shared/player-mapper.js.map +1 -1
- package/dist/pam/tag/__tests__/get-active-tag-keys.int.test.d.ts +2 -0
- package/dist/pam/tag/__tests__/get-active-tag-keys.int.test.d.ts.map +1 -0
- package/dist/pam/tag/__tests__/get-active-tag-keys.int.test.js +77 -0
- package/dist/pam/tag/__tests__/get-active-tag-keys.int.test.js.map +1 -0
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.d.ts +2 -0
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.d.ts.map +1 -0
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js +1024 -0
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js.map +1 -0
- package/dist/pam/tag/__tests__/tag-mappers.test.js +25 -0
- package/dist/pam/tag/__tests__/tag-mappers.test.js.map +1 -1
- package/dist/pam/tag/__tests__/tag-rule.service.int.test.d.ts +2 -0
- package/dist/pam/tag/__tests__/tag-rule.service.int.test.d.ts.map +1 -0
- package/dist/pam/tag/__tests__/tag-rule.service.int.test.js +145 -0
- package/dist/pam/tag/__tests__/tag-rule.service.int.test.js.map +1 -0
- package/dist/pam/tag/__tests__/tag.router.int.test.d.ts +2 -0
- package/dist/pam/tag/__tests__/tag.router.int.test.d.ts.map +1 -0
- package/dist/pam/tag/__tests__/tag.router.int.test.js +222 -0
- package/dist/pam/tag/__tests__/tag.router.int.test.js.map +1 -0
- package/dist/pam/tag/__tests__/tag.service.int.test.d.ts +2 -0
- package/dist/pam/tag/__tests__/tag.service.int.test.d.ts.map +1 -0
- package/dist/pam/tag/__tests__/tag.service.int.test.js +571 -0
- package/dist/pam/tag/__tests__/tag.service.int.test.js.map +1 -0
- package/dist/pam/tag/contract/index.d.ts +139 -1
- package/dist/pam/tag/contract/index.d.ts.map +1 -1
- package/dist/pam/tag/contract/index.js +12 -2
- package/dist/pam/tag/contract/index.js.map +1 -1
- package/dist/pam/tag/contract/player-tag-assign-metadata.d.ts +37 -0
- package/dist/pam/tag/contract/player-tag-assign-metadata.d.ts.map +1 -0
- package/dist/pam/tag/contract/player-tag-assign-metadata.js +20 -0
- package/dist/pam/tag/contract/player-tag-assign-metadata.js.map +1 -0
- package/dist/pam/tag/drizzle/migrations/0002_silent_skaar.sql +4 -0
- package/dist/pam/tag/drizzle/migrations/0003_overconfident_guardian.sql +3 -0
- package/dist/pam/tag/drizzle/migrations/0004_curvy_wither.sql +2 -0
- package/dist/pam/tag/drizzle/migrations/meta/0002_snapshot.json +335 -0
- package/dist/pam/tag/drizzle/migrations/meta/0003_snapshot.json +343 -0
- package/dist/pam/tag/drizzle/migrations/meta/0004_snapshot.json +345 -0
- package/dist/pam/tag/drizzle/migrations/meta/_journal.json +21 -0
- package/dist/pam/tag/migrate.d.ts.map +1 -1
- package/dist/pam/tag/migrate.js +34 -0
- package/dist/pam/tag/migrate.js.map +1 -1
- package/dist/pam/tag/plugin.d.ts +180 -1
- package/dist/pam/tag/plugin.d.ts.map +1 -1
- package/dist/pam/tag/plugin.js +46 -19
- package/dist/pam/tag/plugin.js.map +1 -1
- package/dist/pam/tag/router/index.d.ts +114 -1
- package/dist/pam/tag/router/index.d.ts.map +1 -1
- package/dist/pam/tag/router/index.js +38 -9
- package/dist/pam/tag/router/index.js.map +1 -1
- package/dist/pam/tag/schema/index.d.ts +42 -3
- package/dist/pam/tag/schema/index.d.ts.map +1 -1
- package/dist/pam/tag/schema/index.js +13 -2
- package/dist/pam/tag/schema/index.js.map +1 -1
- package/dist/pam/tag/seed/data/default-tag-rules.d.ts.map +1 -1
- package/dist/pam/tag/seed/data/default-tag-rules.js +42 -0
- package/dist/pam/tag/seed/data/default-tag-rules.js.map +1 -1
- package/dist/pam/tag/seed/data/default-tags.d.ts.map +1 -1
- package/dist/pam/tag/seed/data/default-tags.js +6 -0
- package/dist/pam/tag/seed/data/default-tags.js.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.d.ts +147 -17
- package/dist/pam/tag/service/tag-evaluation.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.js +491 -48
- package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
- package/dist/pam/tag/service/tag-mappers.d.ts +1 -1
- package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-mappers.js +1 -0
- package/dist/pam/tag/service/tag-mappers.js.map +1 -1
- package/dist/pam/tag/service/tag-rule.service.d.ts +8 -6
- package/dist/pam/tag/service/tag-rule.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-rule.service.js +8 -2
- package/dist/pam/tag/service/tag-rule.service.js.map +1 -1
- package/dist/pam/tag/service/tag.service.d.ts +162 -16
- package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag.service.js +297 -30
- package/dist/pam/tag/service/tag.service.js.map +1 -1
- package/dist/react/context/__tests__/realtime-client.test.d.ts +2 -0
- package/dist/react/context/__tests__/realtime-client.test.d.ts.map +1 -0
- package/dist/react/context/__tests__/realtime-client.test.js +75 -0
- package/dist/react/context/__tests__/realtime-client.test.js.map +1 -0
- package/dist/react/context/realtime-client.d.ts +15 -0
- package/dist/react/context/realtime-client.d.ts.map +1 -1
- package/dist/react/context/realtime-client.js.map +1 -1
- package/dist/react/hooks/__tests__/use-event-stream.test.d.ts +2 -0
- package/dist/react/hooks/__tests__/use-event-stream.test.d.ts.map +1 -0
- package/dist/react/hooks/__tests__/use-event-stream.test.js +153 -0
- package/dist/react/hooks/__tests__/use-event-stream.test.js.map +1 -0
- package/dist/react/hooks/use-event-stream.d.ts +3 -3
- package/dist/react/hooks/use-event-stream.d.ts.map +1 -1
- package/dist/react/hooks/use-event-stream.js +60 -28
- package/dist/react/hooks/use-event-stream.js.map +1 -1
- package/dist/server/auth/__tests__/admin-guard.int.test.d.ts +2 -0
- package/dist/server/auth/__tests__/admin-guard.int.test.d.ts.map +1 -0
- package/dist/server/auth/__tests__/admin-guard.int.test.js +155 -0
- package/dist/server/auth/__tests__/admin-guard.int.test.js.map +1 -0
- package/dist/server/auth/__tests__/auth.test.d.ts +2 -0
- package/dist/server/auth/__tests__/auth.test.d.ts.map +1 -0
- package/dist/server/auth/__tests__/auth.test.js +150 -0
- package/dist/server/auth/__tests__/auth.test.js.map +1 -0
- package/dist/server/auth/__tests__/permission-levels.test.d.ts +2 -0
- package/dist/server/auth/__tests__/permission-levels.test.d.ts.map +1 -0
- package/dist/server/auth/__tests__/permission-levels.test.js +89 -0
- package/dist/server/auth/__tests__/permission-levels.test.js.map +1 -0
- package/dist/server/auth/__tests__/permissions.test.d.ts +2 -0
- package/dist/server/auth/__tests__/permissions.test.d.ts.map +1 -0
- package/dist/server/auth/__tests__/permissions.test.js +15 -0
- package/dist/server/auth/__tests__/permissions.test.js.map +1 -0
- package/dist/server/auth/__tests__/session-resolver.int.test.d.ts +2 -0
- package/dist/server/auth/__tests__/session-resolver.int.test.d.ts.map +1 -0
- package/dist/server/auth/__tests__/session-resolver.int.test.js +59 -0
- package/dist/server/auth/__tests__/session-resolver.int.test.js.map +1 -0
- package/dist/server/auth/__tests__/sign-session-cookie.test.d.ts +2 -0
- package/dist/server/auth/__tests__/sign-session-cookie.test.d.ts.map +1 -0
- package/dist/server/auth/__tests__/sign-session-cookie.test.js +59 -0
- package/dist/server/auth/__tests__/sign-session-cookie.test.js.map +1 -0
- package/dist/server/auth/admin-guard.d.ts +13 -10
- package/dist/server/auth/admin-guard.d.ts.map +1 -1
- package/dist/server/auth/admin-guard.js +106 -44
- package/dist/server/auth/admin-guard.js.map +1 -1
- package/dist/server/auth/auth.d.ts +48 -5
- package/dist/server/auth/auth.d.ts.map +1 -1
- package/dist/server/auth/auth.js +75 -19
- package/dist/server/auth/auth.js.map +1 -1
- package/dist/server/auth/index.d.ts +3 -1
- package/dist/server/auth/index.d.ts.map +1 -1
- package/dist/server/auth/index.js +1 -0
- package/dist/server/auth/index.js.map +1 -1
- package/dist/server/auth/permissions.d.ts +121 -14
- package/dist/server/auth/permissions.d.ts.map +1 -1
- package/dist/server/auth/permissions.js +14 -20
- package/dist/server/auth/permissions.js.map +1 -1
- package/dist/server/auth/session-resolver.d.ts +4 -0
- package/dist/server/auth/session-resolver.d.ts.map +1 -1
- package/dist/server/auth/session-resolver.js +9 -2
- package/dist/server/auth/session-resolver.js.map +1 -1
- package/dist/server/auth/sign-session-cookie.d.ts +18 -0
- package/dist/server/auth/sign-session-cookie.d.ts.map +1 -0
- package/dist/server/auth/sign-session-cookie.js +15 -0
- package/dist/server/auth/sign-session-cookie.js.map +1 -0
- package/dist/server/db/__tests__/migrate.test.d.ts +2 -0
- package/dist/server/db/__tests__/migrate.test.d.ts.map +1 -0
- package/dist/server/db/__tests__/migrate.test.js +148 -0
- package/dist/server/db/__tests__/migrate.test.js.map +1 -0
- package/dist/server/db/__tests__/query-helpers.test.js +166 -1
- package/dist/server/db/__tests__/query-helpers.test.js.map +1 -1
- package/dist/server/db/drizzle.service.d.ts.map +1 -1
- package/dist/server/db/drizzle.service.js +8 -0
- package/dist/server/db/drizzle.service.js.map +1 -1
- package/dist/server/db/index.d.ts +1 -1
- package/dist/server/db/index.d.ts.map +1 -1
- package/dist/server/db/index.js +1 -1
- package/dist/server/db/index.js.map +1 -1
- package/dist/server/db/migrate.d.ts +38 -0
- package/dist/server/db/migrate.d.ts.map +1 -1
- package/dist/server/db/migrate.js +81 -12
- package/dist/server/db/migrate.js.map +1 -1
- package/dist/server/db/outbox/__tests__/relay.int.test.d.ts +2 -0
- package/dist/server/db/outbox/__tests__/relay.int.test.d.ts.map +1 -0
- package/dist/server/db/outbox/__tests__/relay.int.test.js +117 -0
- package/dist/server/db/outbox/__tests__/relay.int.test.js.map +1 -0
- package/dist/server/db/query-helpers.d.ts +8 -0
- package/dist/server/db/query-helpers.d.ts.map +1 -1
- package/dist/server/db/query-helpers.js +67 -0
- package/dist/server/db/query-helpers.js.map +1 -1
- package/dist/server/kernel/__tests__/bullmq-job-queue.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/bullmq-job-queue.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/bullmq-job-queue.int.test.js +240 -0
- package/dist/server/kernel/__tests__/bullmq-job-queue.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/cache.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/cache.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/cache.int.test.js +52 -0
- package/dist/server/kernel/__tests__/cache.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/domain-error.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/domain-error.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/domain-error.test.js +35 -0
- package/dist/server/kernel/__tests__/domain-error.test.js.map +1 -0
- package/dist/server/kernel/__tests__/error-reporter.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/error-reporter.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/error-reporter.test.js +52 -0
- package/dist/server/kernel/__tests__/error-reporter.test.js.map +1 -0
- package/dist/server/kernel/__tests__/event-bus.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/event-bus.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/event-bus.int.test.js +173 -0
- package/dist/server/kernel/__tests__/event-bus.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/helpers.test.js +26 -0
- package/dist/server/kernel/__tests__/helpers.test.js.map +1 -1
- package/dist/server/kernel/__tests__/logger.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/logger.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/logger.test.js +44 -0
- package/dist/server/kernel/__tests__/logger.test.js.map +1 -0
- package/dist/server/kernel/__tests__/orpc-error-map.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/orpc-error-map.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/orpc-error-map.test.js +54 -0
- package/dist/server/kernel/__tests__/orpc-error-map.test.js.map +1 -0
- package/dist/server/kernel/__tests__/platform-config-loader.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/platform-config-loader.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/platform-config-loader.test.js +112 -0
- package/dist/server/kernel/__tests__/platform-config-loader.test.js.map +1 -0
- package/dist/server/kernel/__tests__/rate-limiter.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/rate-limiter.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/rate-limiter.int.test.js +41 -0
- package/dist/server/kernel/__tests__/rate-limiter.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/redis-cache.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/redis-cache.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/redis-cache.int.test.js +49 -0
- package/dist/server/kernel/__tests__/redis-cache.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/redis-pubsub-realtime-transport.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/redis-pubsub-realtime-transport.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/redis-pubsub-realtime-transport.int.test.js +251 -0
- package/dist/server/kernel/__tests__/redis-pubsub-realtime-transport.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/redis-rate-limiter.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/redis-rate-limiter.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/redis-rate-limiter.int.test.js +61 -0
- package/dist/server/kernel/__tests__/redis-rate-limiter.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/redis-streams-broker.int.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/redis-streams-broker.int.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/redis-streams-broker.int.test.js +190 -0
- package/dist/server/kernel/__tests__/redis-streams-broker.int.test.js.map +1 -0
- package/dist/server/kernel/__tests__/request-context.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/request-context.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/request-context.test.js +64 -0
- package/dist/server/kernel/__tests__/request-context.test.js.map +1 -0
- package/dist/server/kernel/__tests__/router-utils.test.d.ts +2 -0
- package/dist/server/kernel/__tests__/router-utils.test.d.ts.map +1 -0
- package/dist/server/kernel/__tests__/router-utils.test.js +87 -0
- package/dist/server/kernel/__tests__/router-utils.test.js.map +1 -0
- package/dist/server/kernel/bullmq-job-queue.d.ts.map +1 -1
- package/dist/server/kernel/bullmq-job-queue.js +27 -4
- package/dist/server/kernel/bullmq-job-queue.js.map +1 -1
- package/dist/server/kernel/cache.d.ts +0 -12
- package/dist/server/kernel/cache.d.ts.map +1 -1
- package/dist/server/kernel/cache.js +0 -55
- package/dist/server/kernel/cache.js.map +1 -1
- package/dist/server/kernel/container.d.ts +7 -6
- package/dist/server/kernel/container.d.ts.map +1 -1
- package/dist/server/kernel/container.js +3 -0
- package/dist/server/kernel/container.js.map +1 -1
- package/dist/server/kernel/domain-error.d.ts +15 -5
- package/dist/server/kernel/domain-error.d.ts.map +1 -1
- package/dist/server/kernel/domain-error.js +4 -2
- package/dist/server/kernel/domain-error.js.map +1 -1
- package/dist/server/kernel/error-reporter.d.ts +5 -0
- package/dist/server/kernel/error-reporter.d.ts.map +1 -0
- package/dist/server/kernel/error-reporter.js +20 -0
- package/dist/server/kernel/error-reporter.js.map +1 -0
- package/dist/server/kernel/event-bus.d.ts +2 -18
- package/dist/server/kernel/event-bus.d.ts.map +1 -1
- package/dist/server/kernel/event-bus.js +11 -34
- package/dist/server/kernel/event-bus.js.map +1 -1
- package/dist/server/kernel/event-stream.d.ts.map +1 -1
- package/dist/server/kernel/event-stream.js +19 -4
- package/dist/server/kernel/event-stream.js.map +1 -1
- package/dist/server/kernel/index.d.ts +10 -8
- package/dist/server/kernel/index.d.ts.map +1 -1
- package/dist/server/kernel/index.js +8 -7
- package/dist/server/kernel/index.js.map +1 -1
- package/dist/server/kernel/logger.d.ts +7 -0
- package/dist/server/kernel/logger.d.ts.map +1 -1
- package/dist/server/kernel/logger.js +36 -2
- package/dist/server/kernel/logger.js.map +1 -1
- package/dist/server/kernel/orpc-error-map.d.ts.map +1 -1
- package/dist/server/kernel/orpc-error-map.js +4 -1
- package/dist/server/kernel/orpc-error-map.js.map +1 -1
- package/dist/server/kernel/rate-limiter.d.ts +2 -10
- package/dist/server/kernel/rate-limiter.d.ts.map +1 -1
- package/dist/server/kernel/rate-limiter.js +0 -34
- package/dist/server/kernel/rate-limiter.js.map +1 -1
- package/dist/server/kernel/realtime-authorizer.d.ts +2 -4
- package/dist/server/kernel/realtime-authorizer.d.ts.map +1 -1
- package/dist/server/kernel/realtime-authorizer.js +3 -2
- package/dist/server/kernel/realtime-authorizer.js.map +1 -1
- package/dist/server/kernel/redis-cache.d.ts +3 -0
- package/dist/server/kernel/redis-cache.d.ts.map +1 -1
- package/dist/server/kernel/redis-cache.js +10 -0
- package/dist/server/kernel/redis-cache.js.map +1 -1
- package/dist/server/kernel/redis-client.d.ts.map +1 -1
- package/dist/server/kernel/redis-client.js +5 -1
- package/dist/server/kernel/redis-client.js.map +1 -1
- package/dist/server/kernel/redis-pubsub-realtime-transport.d.ts +51 -0
- package/dist/server/kernel/redis-pubsub-realtime-transport.d.ts.map +1 -0
- package/dist/server/kernel/redis-pubsub-realtime-transport.js +0 -0
- package/dist/server/kernel/redis-pubsub-realtime-transport.js.map +1 -0
- package/dist/server/kernel/redis-rate-limiter.d.ts +1 -0
- package/dist/server/kernel/redis-rate-limiter.d.ts.map +1 -1
- package/dist/server/kernel/redis-rate-limiter.js +11 -0
- package/dist/server/kernel/redis-rate-limiter.js.map +1 -1
- package/dist/server/kernel/redis-streams-broker.d.ts +65 -0
- package/dist/server/kernel/redis-streams-broker.d.ts.map +1 -0
- package/dist/server/kernel/redis-streams-broker.js +203 -0
- package/dist/server/kernel/redis-streams-broker.js.map +1 -0
- package/dist/server/kernel/request-context.d.ts +4 -0
- package/dist/server/kernel/request-context.d.ts.map +1 -1
- package/dist/server/kernel/request-context.js +4 -0
- package/dist/server/kernel/request-context.js.map +1 -1
- package/dist/server/kernel/router-utils.d.ts +7 -0
- package/dist/server/kernel/router-utils.d.ts.map +1 -1
- package/dist/server/kernel/router-utils.js +31 -2
- package/dist/server/kernel/router-utils.js.map +1 -1
- package/dist/server/plugin-host/__tests__/core-plugins.test.d.ts +2 -0
- package/dist/server/plugin-host/__tests__/core-plugins.test.d.ts.map +1 -0
- package/dist/server/plugin-host/__tests__/core-plugins.test.js +27 -0
- package/dist/server/plugin-host/__tests__/core-plugins.test.js.map +1 -0
- package/dist/server/plugin-host/__tests__/load-plugins.test.d.ts +2 -0
- package/dist/server/plugin-host/__tests__/load-plugins.test.d.ts.map +1 -0
- package/dist/server/plugin-host/__tests__/load-plugins.test.js +31 -0
- package/dist/server/plugin-host/__tests__/load-plugins.test.js.map +1 -0
- package/dist/server/plugin-host/__tests__/module-registry.test.js.map +1 -1
- package/dist/server/plugin-host/__tests__/required-ports.test.js +1 -0
- package/dist/server/plugin-host/__tests__/required-ports.test.js.map +1 -1
- package/dist/server/plugin-host/__tests__/typed-plugin.test.d.ts +2 -0
- package/dist/server/plugin-host/__tests__/typed-plugin.test.d.ts.map +1 -0
- package/dist/server/plugin-host/__tests__/typed-plugin.test.js +82 -0
- package/dist/server/plugin-host/__tests__/typed-plugin.test.js.map +1 -0
- package/dist/server/plugin-host/core-plugins.d.ts +16 -0
- package/dist/server/plugin-host/core-plugins.d.ts.map +1 -0
- package/dist/server/plugin-host/core-plugins.js +42 -0
- package/dist/server/plugin-host/core-plugins.js.map +1 -0
- package/dist/server/plugin-host/define-plugin.d.ts +24 -24
- package/dist/server/plugin-host/define-plugin.d.ts.map +1 -1
- package/dist/server/plugin-host/define-plugin.js +1 -3
- package/dist/server/plugin-host/define-plugin.js.map +1 -1
- package/dist/server/plugin-host/index.d.ts +3 -3
- package/dist/server/plugin-host/index.d.ts.map +1 -1
- package/dist/server/plugin-host/index.js +2 -2
- package/dist/server/plugin-host/index.js.map +1 -1
- package/dist/server/plugin-host/load-extensions.d.ts +2 -2
- package/dist/server/plugin-host/load-extensions.js +2 -2
- package/dist/server/plugin-host/load-plugins.d.ts +7 -3
- package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
- package/dist/server/plugin-host/load-plugins.js +10 -2
- package/dist/server/plugin-host/load-plugins.js.map +1 -1
- package/dist/server/plugin-host/module-registry.d.ts +9 -14
- package/dist/server/plugin-host/module-registry.d.ts.map +1 -1
- package/dist/server/plugin-host/module-registry.js +2 -9
- package/dist/server/plugin-host/module-registry.js.map +1 -1
- package/dist/server/runtime/__tests__/create-app.test.d.ts +2 -0
- package/dist/server/runtime/__tests__/create-app.test.d.ts.map +1 -0
- package/dist/server/runtime/__tests__/create-app.test.js +98 -0
- package/dist/server/runtime/__tests__/create-app.test.js.map +1 -0
- package/dist/server/runtime/assert-durable-seams.d.ts +19 -0
- package/dist/server/runtime/assert-durable-seams.d.ts.map +1 -0
- package/dist/server/runtime/assert-durable-seams.js +37 -0
- package/dist/server/runtime/assert-durable-seams.js.map +1 -0
- package/dist/server/runtime/core-token-catalog.d.ts +179 -0
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -0
- package/dist/server/runtime/core-token-catalog.js +69 -0
- package/dist/server/runtime/core-token-catalog.js.map +1 -0
- package/dist/server/runtime/create-app.d.ts +18 -23
- package/dist/server/runtime/create-app.d.ts.map +1 -1
- package/dist/server/runtime/create-app.js +133 -80
- package/dist/server/runtime/create-app.js.map +1 -1
- package/dist/server/runtime/index.d.ts +2 -3
- package/dist/server/runtime/index.d.ts.map +1 -1
- package/dist/server/runtime/index.js +0 -2
- package/dist/server/runtime/index.js.map +1 -1
- package/dist/testing/index.d.ts +6 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +6 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock.d.ts +58 -15
- package/dist/testing/mock.d.ts.map +1 -1
- package/dist/testing/mock.js +163 -39
- package/dist/testing/mock.js.map +1 -1
- package/dist/testing/real-infra.d.ts +47 -0
- package/dist/testing/real-infra.d.ts.map +1 -0
- package/dist/testing/real-infra.js +151 -0
- package/dist/testing/real-infra.js.map +1 -0
- package/dist/testing/realtime-transport-conformance.d.ts +35 -0
- package/dist/testing/realtime-transport-conformance.d.ts.map +1 -0
- package/dist/testing/realtime-transport-conformance.js +94 -0
- package/dist/testing/realtime-transport-conformance.js.map +1 -0
- package/dist/testing/seed-player.d.ts +107 -0
- package/dist/testing/seed-player.d.ts.map +1 -0
- package/dist/testing/seed-player.js +43 -0
- package/dist/testing/seed-player.js.map +1 -0
- package/dist/testing/seed-wallet.d.ts +9 -0
- package/dist/testing/seed-wallet.d.ts.map +1 -0
- package/dist/testing/seed-wallet.js +27 -0
- package/dist/testing/seed-wallet.js.map +1 -0
- package/dist/wallet/__tests__/admin-reporting.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/admin-reporting.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/admin-reporting.int.test.js +236 -0
- package/dist/wallet/__tests__/admin-reporting.int.test.js.map +1 -0
- package/dist/wallet/__tests__/bonus-rollover-concurrency.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/bonus-rollover-concurrency.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/bonus-rollover-concurrency.int.test.js +163 -0
- package/dist/wallet/__tests__/bonus-rollover-concurrency.int.test.js.map +1 -0
- package/dist/wallet/__tests__/bonus-rollover.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/bonus-rollover.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/bonus-rollover.int.test.js +444 -0
- package/dist/wallet/__tests__/bonus-rollover.int.test.js.map +1 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.d.ts +2 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.js +70 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.js.map +1 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.js +274 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.js.map +1 -0
- package/dist/wallet/__tests__/deposit-gate.test.d.ts +2 -0
- package/dist/wallet/__tests__/deposit-gate.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/deposit-gate.test.js +46 -0
- package/dist/wallet/__tests__/deposit-gate.test.js.map +1 -0
- package/dist/wallet/__tests__/rail-for.test.d.ts +2 -0
- package/dist/wallet/__tests__/rail-for.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/rail-for.test.js +29 -0
- package/dist/wallet/__tests__/rail-for.test.js.map +1 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.d.ts +2 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.js +49 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.js.map +1 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.js +444 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.js.map +1 -0
- package/dist/wallet/__tests__/settlement-network.test.d.ts +2 -0
- package/dist/wallet/__tests__/settlement-network.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/settlement-network.test.js +54 -0
- package/dist/wallet/__tests__/settlement-network.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-address-format.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-address-format.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-address-format.test.js +102 -0
- package/dist/wallet/__tests__/wallet-address-format.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.js +263 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js +137 -0
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js +205 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js +775 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-balance-stream.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-balance-stream.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-balance-stream.router.int.test.js +38 -0
- package/dist/wallet/__tests__/wallet-balance-stream.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-bonus-rollover-config.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-bonus-rollover-config.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-bonus-rollover-config.router.int.test.js +114 -0
- package/dist/wallet/__tests__/wallet-bonus-rollover-config.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-commands.service.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-commands.service.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-commands.service.int.test.js +299 -0
- package/dist/wallet/__tests__/wallet-commands.service.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-currency-code.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-currency-code.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-currency-code.test.js +48 -0
- package/dist/wallet/__tests__/wallet-currency-code.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.js +129 -0
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-kyc-gate.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-kyc-gate.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-kyc-gate.int.test.js +104 -0
- package/dist/wallet/__tests__/wallet-kyc-gate.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-rg-limit-gate.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-rg-limit-gate.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-rg-limit-gate.int.test.js +93 -0
- package/dist/wallet/__tests__/wallet-rg-limit-gate.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-transaction-direction-backfill.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-transaction-direction-backfill.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-transaction-direction-backfill.test.js +36 -0
- package/dist/wallet/__tests__/wallet-transaction-direction-backfill.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.js +310 -0
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address-cap.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address-cap.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address-cap.int.test.js +64 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address-cap.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address.router.int.test.js +179 -0
- package/dist/wallet/__tests__/wallet-withdrawal-address.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet.rate-limit.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet.rate-limit.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet.rate-limit.int.test.js +117 -0
- package/dist/wallet/__tests__/wallet.rate-limit.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet.router.int.test.js +104 -0
- package/dist/wallet/__tests__/wallet.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet.service.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet.service.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet.service.int.test.js +1483 -0
- package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.d.ts +14 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.d.ts.map +1 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.js +37 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.js.map +1 -0
- package/dist/wallet/adapters/wallet-reader.service.d.ts +3 -1
- package/dist/wallet/adapters/wallet-reader.service.d.ts.map +1 -1
- package/dist/wallet/adapters/wallet-reader.service.js +22 -1
- package/dist/wallet/adapters/wallet-reader.service.js.map +1 -1
- package/dist/wallet/admin-reporting.d.ts +3 -3
- package/dist/wallet/admin-reporting.d.ts.map +1 -1
- package/dist/wallet/admin-reporting.js +11 -3
- package/dist/wallet/admin-reporting.js.map +1 -1
- package/dist/wallet/contract/index.d.ts +925 -19
- package/dist/wallet/contract/index.d.ts.map +1 -1
- package/dist/wallet/contract/index.js +460 -15
- package/dist/wallet/contract/index.js.map +1 -1
- package/dist/wallet/drizzle/migrations/0003_certain_ogun.sql +2 -0
- package/dist/wallet/drizzle/migrations/0004_reflective_shriek.sql +2 -0
- package/dist/wallet/drizzle/migrations/0005_gigantic_dust.sql +10 -0
- package/dist/wallet/drizzle/migrations/0006_lush_morg.sql +1 -0
- package/dist/wallet/drizzle/migrations/0007_bouncy_swordsman.sql +17 -0
- package/dist/wallet/drizzle/migrations/0008_gorgeous_colonel_america.sql +1 -0
- package/dist/wallet/drizzle/migrations/0009_smooth_sue_storm.sql +17 -0
- package/dist/wallet/drizzle/migrations/0010_worthless_quasimodo.sql +84 -0
- package/dist/wallet/drizzle/migrations/0011_premium_natasha_romanoff.sql +30 -0
- package/dist/wallet/drizzle/migrations/0012_long_wong.sql +15 -0
- package/dist/wallet/drizzle/migrations/0013_polite_peter_parker.sql +1 -0
- package/dist/wallet/drizzle/migrations/0014_abandoned_madripoor.sql +20 -0
- package/dist/wallet/drizzle/migrations/0015_right_oracle.sql +3 -0
- package/dist/wallet/drizzle/migrations/0016_curly_ben_urich.sql +2 -0
- package/dist/wallet/drizzle/migrations/0017_workable_wolf_cub.sql +2 -0
- package/dist/wallet/drizzle/migrations/meta/0003_snapshot.json +567 -0
- package/dist/wallet/drizzle/migrations/meta/0004_snapshot.json +631 -0
- package/dist/wallet/drizzle/migrations/meta/0006_snapshot.json +638 -0
- package/dist/wallet/drizzle/migrations/meta/0007_snapshot.json +723 -0
- package/dist/wallet/drizzle/migrations/meta/0008_snapshot.json +716 -0
- package/dist/wallet/drizzle/migrations/meta/0009_snapshot.json +895 -0
- package/dist/wallet/drizzle/migrations/meta/0010_snapshot.json +1565 -0
- package/dist/wallet/drizzle/migrations/meta/0011_snapshot.json +1777 -0
- package/dist/wallet/drizzle/migrations/meta/0012_snapshot.json +1907 -0
- package/dist/wallet/drizzle/migrations/meta/0013_snapshot.json +1913 -0
- package/dist/wallet/drizzle/migrations/meta/0014_snapshot.json +1925 -0
- package/dist/wallet/drizzle/migrations/meta/0015_snapshot.json +1937 -0
- package/dist/wallet/drizzle/migrations/meta/0016_snapshot.json +1943 -0
- package/dist/wallet/drizzle/migrations/meta/0017_snapshot.json +1945 -0
- package/dist/wallet/drizzle/migrations/meta/_journal.json +105 -0
- package/dist/wallet/index.d.ts.map +1 -1
- package/dist/wallet/index.js +0 -2
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/migrate.d.ts +0 -1
- package/dist/wallet/migrate.d.ts.map +1 -1
- package/dist/wallet/migrate.js +0 -4
- package/dist/wallet/migrate.js.map +1 -1
- package/dist/wallet/plugin.d.ts +181 -1
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +179 -19
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/router/index.d.ts +499 -12
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +229 -37
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/schema/index.d.ts +1956 -9
- package/dist/wallet/schema/index.d.ts.map +1 -1
- package/dist/wallet/schema/index.js +280 -6
- package/dist/wallet/schema/index.js.map +1 -1
- package/dist/wallet/seed/index.d.ts +3 -0
- package/dist/wallet/seed/index.d.ts.map +1 -0
- package/dist/wallet/seed/index.js +3 -0
- package/dist/wallet/seed/index.js.map +1 -0
- package/dist/wallet/seed/seed-auto-withdrawal-config.d.ts +11 -0
- package/dist/wallet/seed/seed-auto-withdrawal-config.d.ts.map +1 -0
- package/dist/wallet/seed/seed-auto-withdrawal-config.js +16 -0
- package/dist/wallet/seed/seed-auto-withdrawal-config.js.map +1 -0
- package/dist/wallet/seed/seed-bonus-rollover-config.d.ts +3 -0
- package/dist/wallet/seed/seed-bonus-rollover-config.d.ts.map +1 -0
- package/dist/wallet/seed/seed-bonus-rollover-config.js +8 -0
- package/dist/wallet/seed/seed-bonus-rollover-config.js.map +1 -0
- package/dist/wallet/service/custody-sweep.service.d.ts +77 -0
- package/dist/wallet/service/custody-sweep.service.d.ts.map +1 -0
- package/dist/wallet/service/custody-sweep.service.js +388 -0
- package/dist/wallet/service/custody-sweep.service.js.map +1 -0
- package/dist/wallet/service/reconciliation-finding.service.d.ts +39 -0
- package/dist/wallet/service/reconciliation-finding.service.d.ts.map +1 -0
- package/dist/wallet/service/reconciliation-finding.service.js +47 -0
- package/dist/wallet/service/reconciliation-finding.service.js.map +1 -0
- package/dist/wallet/service/reconciliation.service.d.ts +118 -0
- package/dist/wallet/service/reconciliation.service.d.ts.map +1 -0
- package/dist/wallet/service/reconciliation.service.js +533 -0
- package/dist/wallet/service/reconciliation.service.js.map +1 -0
- package/dist/wallet/service/wallet-commands.service.d.ts +18 -4
- package/dist/wallet/service/wallet-commands.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet-commands.service.js +196 -29
- package/dist/wallet/service/wallet-commands.service.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +668 -29
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +1257 -127
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/generators/src/config.ts +547 -0
- package/generators/src/templates/adapter.hbs +19 -0
- package/generators/src/templates/contract.hbs +19 -0
- package/generators/src/templates/job-worker.hbs +34 -0
- package/generators/src/templates/module/drizzle.config.hbs +22 -0
- package/generators/src/templates/module/index.hbs +5 -0
- package/generators/src/templates/module/migrate.hbs +17 -0
- package/generators/src/templates/module/plugin.hbs +19 -0
- package/generators/src/templates/module/router.hbs +19 -0
- package/generators/src/templates/module/schema.hbs +14 -0
- package/generators/src/templates/module/service.hbs +26 -0
- package/generators/src/templates/plugin.hbs +20 -0
- package/package.json +168 -11
- package/dist/admin-console/__tests__/backoffice.service.test.d.ts +0 -2
- package/dist/admin-console/__tests__/backoffice.service.test.d.ts.map +0 -1
- package/dist/admin-console/__tests__/backoffice.service.test.js +0 -156
- package/dist/admin-console/__tests__/backoffice.service.test.js.map +0 -1
- package/dist/audit/__tests__/audit.service.test.d.ts +0 -2
- package/dist/audit/__tests__/audit.service.test.d.ts.map +0 -1
- package/dist/audit/__tests__/audit.service.test.js +0 -442
- package/dist/audit/__tests__/audit.service.test.js.map +0 -1
- package/dist/casino/gaming/__tests__/gaming.service.test.d.ts +0 -2
- package/dist/casino/gaming/__tests__/gaming.service.test.d.ts.map +0 -1
- package/dist/casino/gaming/__tests__/gaming.service.test.js +0 -55
- package/dist/casino/gaming/__tests__/gaming.service.test.js.map +0 -1
- package/dist/casino/lobby/__tests__/lobby.cache.test.d.ts +0 -2
- package/dist/casino/lobby/__tests__/lobby.cache.test.d.ts.map +0 -1
- package/dist/casino/lobby/__tests__/lobby.cache.test.js +0 -47
- package/dist/casino/lobby/__tests__/lobby.cache.test.js.map +0 -1
- package/dist/casino/lobby/__tests__/lobby.service.test.d.ts +0 -2
- package/dist/casino/lobby/__tests__/lobby.service.test.d.ts.map +0 -1
- package/dist/casino/lobby/__tests__/lobby.service.test.js +0 -11
- package/dist/casino/lobby/__tests__/lobby.service.test.js.map +0 -1
- package/dist/cms/__tests__/cms.cache.test.d.ts +0 -2
- package/dist/cms/__tests__/cms.cache.test.d.ts.map +0 -1
- package/dist/cms/__tests__/cms.cache.test.js +0 -87
- package/dist/cms/__tests__/cms.cache.test.js.map +0 -1
- package/dist/cms/__tests__/cms.router.test.d.ts +0 -2
- package/dist/cms/__tests__/cms.router.test.d.ts.map +0 -1
- package/dist/cms/__tests__/cms.router.test.js +0 -51
- package/dist/cms/__tests__/cms.router.test.js.map +0 -1
- package/dist/cms/__tests__/cms.service.test.d.ts +0 -2
- package/dist/cms/__tests__/cms.service.test.d.ts.map +0 -1
- package/dist/cms/__tests__/cms.service.test.js +0 -17
- package/dist/cms/__tests__/cms.service.test.js.map +0 -1
- package/dist/compliance/__tests__/compliance.service.test.d.ts +0 -2
- package/dist/compliance/__tests__/compliance.service.test.d.ts.map +0 -1
- package/dist/compliance/__tests__/compliance.service.test.js +0 -96
- package/dist/compliance/__tests__/compliance.service.test.js.map +0 -1
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.d.ts +0 -2
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.d.ts.map +0 -1
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.js +0 -25
- package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.js.map +0 -1
- package/dist/compliance/__tests__/kyc.service.test.d.ts +0 -2
- package/dist/compliance/__tests__/kyc.service.test.d.ts.map +0 -1
- package/dist/compliance/__tests__/kyc.service.test.js +0 -177
- package/dist/compliance/__tests__/kyc.service.test.js.map +0 -1
- package/dist/compliance/__tests__/rg-monitoring.service.test.d.ts +0 -2
- package/dist/compliance/__tests__/rg-monitoring.service.test.d.ts.map +0 -1
- package/dist/compliance/__tests__/rg-monitoring.service.test.js +0 -110
- package/dist/compliance/__tests__/rg-monitoring.service.test.js.map +0 -1
- package/dist/compliance/__tests__/rg.router.test.d.ts +0 -2
- package/dist/compliance/__tests__/rg.router.test.d.ts.map +0 -1
- package/dist/compliance/__tests__/rg.router.test.js +0 -66
- package/dist/compliance/__tests__/rg.router.test.js.map +0 -1
- package/dist/compliance/__tests__/rg.service.test.d.ts +0 -2
- package/dist/compliance/__tests__/rg.service.test.d.ts.map +0 -1
- package/dist/compliance/__tests__/rg.service.test.js +0 -212
- package/dist/compliance/__tests__/rg.service.test.js.map +0 -1
- package/dist/contracts/adapters/email.d.ts +0 -10
- package/dist/contracts/adapters/email.d.ts.map +0 -1
- package/dist/contracts/adapters/email.js +0 -8
- package/dist/contracts/adapters/email.js.map +0 -1
- package/dist/contracts/adapters/notification.d.ts +0 -6
- package/dist/contracts/adapters/notification.d.ts.map +0 -1
- package/dist/contracts/adapters/notification.js +0 -8
- package/dist/contracts/adapters/notification.js.map +0 -1
- package/dist/contracts/schemas/__tests__/identity-schemas.test.d.ts +0 -2
- package/dist/contracts/schemas/__tests__/identity-schemas.test.d.ts.map +0 -1
- package/dist/contracts/schemas/__tests__/identity-schemas.test.js +0 -38
- package/dist/contracts/schemas/__tests__/identity-schemas.test.js.map +0 -1
- package/dist/engagement/chat/__tests__/chat.service.test.d.ts +0 -2
- package/dist/engagement/chat/__tests__/chat.service.test.d.ts.map +0 -1
- package/dist/engagement/chat/__tests__/chat.service.test.js +0 -170
- package/dist/engagement/chat/__tests__/chat.service.test.js.map +0 -1
- package/dist/engagement/chat/react/use-chat-stream.d.ts +0 -26
- package/dist/engagement/chat/react/use-chat-stream.d.ts.map +0 -1
- package/dist/engagement/chat/react/use-chat-stream.js +0 -54
- package/dist/engagement/chat/react/use-chat-stream.js.map +0 -1
- package/dist/engagement/notifications/__tests__/notifications.service.test.d.ts +0 -2
- package/dist/engagement/notifications/__tests__/notifications.service.test.d.ts.map +0 -1
- package/dist/engagement/notifications/__tests__/notifications.service.test.js +0 -84
- package/dist/engagement/notifications/__tests__/notifications.service.test.js.map +0 -1
- package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.d.ts +0 -5
- package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.d.ts.map +0 -1
- package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.js +0 -6
- package/dist/engagement/notifications/adapters/mock/mock-notification-adapter.js.map +0 -1
- package/dist/iam/__tests__/iam.service.test.d.ts +0 -2
- package/dist/iam/__tests__/iam.service.test.d.ts.map +0 -1
- package/dist/iam/__tests__/iam.service.test.js +0 -744
- package/dist/iam/__tests__/iam.service.test.js.map +0 -1
- package/dist/pam/identity/__tests__/admin-user-directory.test.d.ts +0 -2
- package/dist/pam/identity/__tests__/admin-user-directory.test.d.ts.map +0 -1
- package/dist/pam/identity/__tests__/admin-user-directory.test.js +0 -93
- package/dist/pam/identity/__tests__/admin-user-directory.test.js.map +0 -1
- package/dist/pam/identity/__tests__/identity.rate-limit.test.d.ts +0 -2
- package/dist/pam/identity/__tests__/identity.rate-limit.test.d.ts.map +0 -1
- package/dist/pam/identity/__tests__/identity.rate-limit.test.js +0 -127
- package/dist/pam/identity/__tests__/identity.rate-limit.test.js.map +0 -1
- package/dist/pam/identity/__tests__/identity.service.test.d.ts +0 -2
- package/dist/pam/identity/__tests__/identity.service.test.d.ts.map +0 -1
- package/dist/pam/identity/__tests__/identity.service.test.js +0 -292
- package/dist/pam/identity/__tests__/identity.service.test.js.map +0 -1
- package/dist/pam/identity/__tests__/login-enforcement.service.test.d.ts +0 -2
- package/dist/pam/identity/__tests__/login-enforcement.service.test.d.ts.map +0 -1
- package/dist/pam/identity/__tests__/login-enforcement.service.test.js +0 -41
- package/dist/pam/identity/__tests__/login-enforcement.service.test.js.map +0 -1
- package/dist/pam/player-management/__tests__/kyc-status-writer.test.d.ts +0 -2
- package/dist/pam/player-management/__tests__/kyc-status-writer.test.d.ts.map +0 -1
- package/dist/pam/player-management/__tests__/kyc-status-writer.test.js +0 -38
- package/dist/pam/player-management/__tests__/kyc-status-writer.test.js.map +0 -1
- package/dist/pam/player-management/__tests__/player.router.test.d.ts +0 -2
- package/dist/pam/player-management/__tests__/player.router.test.d.ts.map +0 -1
- package/dist/pam/player-management/__tests__/player.router.test.js +0 -57
- package/dist/pam/player-management/__tests__/player.router.test.js.map +0 -1
- package/dist/pam/player-management/__tests__/player.service.test.d.ts +0 -2
- package/dist/pam/player-management/__tests__/player.service.test.d.ts.map +0 -1
- package/dist/pam/player-management/__tests__/player.service.test.js +0 -144
- package/dist/pam/player-management/__tests__/player.service.test.js.map +0 -1
- package/dist/pam/profile/__tests__/profile.service.test.d.ts +0 -2
- package/dist/pam/profile/__tests__/profile.service.test.d.ts.map +0 -1
- package/dist/pam/profile/__tests__/profile.service.test.js +0 -48
- package/dist/pam/profile/__tests__/profile.service.test.js.map +0 -1
- package/dist/pam/tag/__tests__/get-active-tag-keys.test.d.ts +0 -2
- package/dist/pam/tag/__tests__/get-active-tag-keys.test.d.ts.map +0 -1
- package/dist/pam/tag/__tests__/get-active-tag-keys.test.js +0 -38
- package/dist/pam/tag/__tests__/get-active-tag-keys.test.js.map +0 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.test.d.ts +0 -2
- package/dist/pam/tag/__tests__/tag-evaluation.service.test.d.ts.map +0 -1
- package/dist/pam/tag/__tests__/tag-evaluation.service.test.js +0 -269
- package/dist/pam/tag/__tests__/tag-evaluation.service.test.js.map +0 -1
- package/dist/pam/tag/__tests__/tag-rule.service.test.d.ts +0 -2
- package/dist/pam/tag/__tests__/tag-rule.service.test.d.ts.map +0 -1
- package/dist/pam/tag/__tests__/tag-rule.service.test.js +0 -149
- package/dist/pam/tag/__tests__/tag-rule.service.test.js.map +0 -1
- package/dist/pam/tag/__tests__/tag.router.test.d.ts +0 -2
- package/dist/pam/tag/__tests__/tag.router.test.d.ts.map +0 -1
- package/dist/pam/tag/__tests__/tag.router.test.js +0 -38
- package/dist/pam/tag/__tests__/tag.router.test.js.map +0 -1
- package/dist/pam/tag/__tests__/tag.service.test.d.ts +0 -2
- package/dist/pam/tag/__tests__/tag.service.test.d.ts.map +0 -1
- package/dist/pam/tag/__tests__/tag.service.test.js +0 -262
- package/dist/pam/tag/__tests__/tag.service.test.js.map +0 -1
- package/dist/server/auth/__tests__/admin-guard.test.d.ts +0 -2
- package/dist/server/auth/__tests__/admin-guard.test.d.ts.map +0 -1
- package/dist/server/auth/__tests__/admin-guard.test.js +0 -133
- package/dist/server/auth/__tests__/admin-guard.test.js.map +0 -1
- package/dist/server/auth/__tests__/session-resolver.test.d.ts +0 -2
- package/dist/server/auth/__tests__/session-resolver.test.d.ts.map +0 -1
- package/dist/server/auth/__tests__/session-resolver.test.js +0 -27
- package/dist/server/auth/__tests__/session-resolver.test.js.map +0 -1
- package/dist/server/db/outbox/__tests__/relay.test.d.ts +0 -2
- package/dist/server/db/outbox/__tests__/relay.test.d.ts.map +0 -1
- package/dist/server/db/outbox/__tests__/relay.test.js +0 -124
- package/dist/server/db/outbox/__tests__/relay.test.js.map +0 -1
- package/dist/server/kernel/__tests__/bullmq-job-queue.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/bullmq-job-queue.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/bullmq-job-queue.test.js +0 -190
- package/dist/server/kernel/__tests__/bullmq-job-queue.test.js.map +0 -1
- package/dist/server/kernel/__tests__/cache.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/cache.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/cache.test.js +0 -84
- package/dist/server/kernel/__tests__/cache.test.js.map +0 -1
- package/dist/server/kernel/__tests__/event-bus.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/event-bus.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/event-bus.test.js +0 -116
- package/dist/server/kernel/__tests__/event-bus.test.js.map +0 -1
- package/dist/server/kernel/__tests__/job-queue.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/job-queue.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/job-queue.test.js +0 -135
- package/dist/server/kernel/__tests__/job-queue.test.js.map +0 -1
- package/dist/server/kernel/__tests__/rate-limiter.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/rate-limiter.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/rate-limiter.test.js +0 -74
- package/dist/server/kernel/__tests__/rate-limiter.test.js.map +0 -1
- package/dist/server/kernel/__tests__/realtime-authorizer.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/realtime-authorizer.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/realtime-authorizer.test.js +0 -19
- package/dist/server/kernel/__tests__/realtime-authorizer.test.js.map +0 -1
- package/dist/server/kernel/__tests__/realtime-transport.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/realtime-transport.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/realtime-transport.test.js +0 -50
- package/dist/server/kernel/__tests__/realtime-transport.test.js.map +0 -1
- package/dist/server/kernel/__tests__/redis-cache.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/redis-cache.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/redis-cache.test.js +0 -49
- package/dist/server/kernel/__tests__/redis-cache.test.js.map +0 -1
- package/dist/server/kernel/__tests__/redis-rate-limiter.test.d.ts +0 -2
- package/dist/server/kernel/__tests__/redis-rate-limiter.test.d.ts.map +0 -1
- package/dist/server/kernel/__tests__/redis-rate-limiter.test.js +0 -56
- package/dist/server/kernel/__tests__/redis-rate-limiter.test.js.map +0 -1
- package/dist/server/kernel/job-queue.d.ts +0 -40
- package/dist/server/kernel/job-queue.d.ts.map +0 -1
- package/dist/server/kernel/job-queue.js +0 -200
- package/dist/server/kernel/job-queue.js.map +0 -1
- package/dist/server/kernel/realtime-transport.d.ts +0 -8
- package/dist/server/kernel/realtime-transport.d.ts.map +0 -1
- package/dist/server/kernel/realtime-transport.js +0 -57
- package/dist/server/kernel/realtime-transport.js.map +0 -1
- package/dist/server/runtime/openapi.d.ts +0 -15
- package/dist/server/runtime/openapi.d.ts.map +0 -1
- package/dist/server/runtime/openapi.js +0 -26
- package/dist/server/runtime/openapi.js.map +0 -1
- package/dist/wallet/__tests__/admin-reporting.test.d.ts +0 -2
- package/dist/wallet/__tests__/admin-reporting.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/admin-reporting.test.js +0 -124
- package/dist/wallet/__tests__/admin-reporting.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.js +0 -100
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +0 -517
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet-commands.service.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet-commands.service.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet-commands.service.test.js +0 -176
- package/dist/wallet/__tests__/wallet-commands.service.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet-kyc-gate.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet-kyc-gate.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet-kyc-gate.test.js +0 -61
- package/dist/wallet/__tests__/wallet-kyc-gate.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet-webhook.router.test.js +0 -78
- package/dist/wallet/__tests__/wallet-webhook.router.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet.rate-limit.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet.rate-limit.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet.rate-limit.test.js +0 -34
- package/dist/wallet/__tests__/wallet.rate-limit.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet.router.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet.router.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet.router.test.js +0 -45
- package/dist/wallet/__tests__/wallet.router.test.js.map +0 -1
- package/dist/wallet/__tests__/wallet.service.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet.service.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet.service.test.js +0 -971
- package/dist/wallet/__tests__/wallet.service.test.js.map +0 -1
- package/turbo-generators/src/config.ts +0 -478
- package/turbo-generators/src/templates/adapter.hbs +0 -19
- package/turbo-generators/src/templates/contract.hbs +0 -18
- package/turbo-generators/src/templates/job-worker.hbs +0 -34
- package/turbo-generators/src/templates/module/agents.hbs +0 -67
- package/turbo-generators/src/templates/module/drizzle.config.hbs +0 -22
- package/turbo-generators/src/templates/module/index.hbs +0 -5
- package/turbo-generators/src/templates/module/migrate.hbs +0 -15
- package/turbo-generators/src/templates/module/package.json.hbs +0 -62
- package/turbo-generators/src/templates/module/plugin.hbs +0 -20
- package/turbo-generators/src/templates/module/router.hbs +0 -19
- package/turbo-generators/src/templates/module/schema.hbs +0 -21
- package/turbo-generators/src/templates/module/service.hbs +0 -26
- package/turbo-generators/src/templates/module/tsconfig.json.hbs +0 -8
- package/turbo-generators/src/templates/plugin.hbs +0 -20
- /package/{turbo-generators → generators}/src/templates/adr.hbs +0 -0
- /package/{turbo-generators → generators}/src/templates/config.hbs +0 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
import { describe, it, expect, beforeAll, afterAll, beforeEach, vi } from 'vitest';
|
|
2
|
+
import { and, eq, sql } from 'drizzle-orm';
|
|
3
|
+
import { createTestDb } from '@openora/core/testing';
|
|
4
|
+
import { migrate } from '../migrate.js';
|
|
5
|
+
import { exchangeRateQuote } from '../schema/index.js';
|
|
6
|
+
import { ExchangeRateReaderService, } from '../adapters/exchange-rate-reader.service.js';
|
|
7
|
+
import { mock } from '../../../testing/mock.js';
|
|
8
|
+
let db;
|
|
9
|
+
beforeAll(async () => {
|
|
10
|
+
db = await createTestDb([migrate]);
|
|
11
|
+
});
|
|
12
|
+
afterAll(async () => {
|
|
13
|
+
await db.drop();
|
|
14
|
+
});
|
|
15
|
+
beforeEach(async () => {
|
|
16
|
+
await db.drizzle.db.execute(sql `TRUNCATE ${exchangeRateQuote} RESTART IDENTITY CASCADE`);
|
|
17
|
+
});
|
|
18
|
+
/** An ISO timestamp `ageMs` in the past. The reader ages a quote off its provider stamp. */
|
|
19
|
+
function agedIso(ageMs) {
|
|
20
|
+
return new Date(Date.now() - ageMs).toISOString();
|
|
21
|
+
}
|
|
22
|
+
async function seedQuote(base, quote, rate, opts = {}) {
|
|
23
|
+
await db.drizzle.db.insert(exchangeRateQuote).values({
|
|
24
|
+
baseCurrency: base,
|
|
25
|
+
quoteCurrency: quote,
|
|
26
|
+
rate,
|
|
27
|
+
providerAsOf: new Date(opts.asOf ?? agedIso(opts.ageMs ?? 0)),
|
|
28
|
+
updatedAt: new Date(),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
async function getRow(base, quote) {
|
|
32
|
+
const [row] = await db.drizzle.db
|
|
33
|
+
.select()
|
|
34
|
+
.from(exchangeRateQuote)
|
|
35
|
+
.where(and(eq(exchangeRateQuote.baseCurrency, base), eq(exchangeRateQuote.quoteCurrency, quote)));
|
|
36
|
+
return row ?? null;
|
|
37
|
+
}
|
|
38
|
+
function delayedProvider(rate, delayMs, asOf) {
|
|
39
|
+
const getRate = vi.fn(() => new Promise((resolve) => {
|
|
40
|
+
setTimeout(() => resolve({ rate, asOf: asOf ?? new Date().toISOString() }), delayMs);
|
|
41
|
+
}));
|
|
42
|
+
return mock({ getRate });
|
|
43
|
+
}
|
|
44
|
+
function baseDeps(over = {}) {
|
|
45
|
+
return {
|
|
46
|
+
drizzle: db.drizzle,
|
|
47
|
+
pivot: 'USD',
|
|
48
|
+
freshTtlMs: 200,
|
|
49
|
+
hardMaxAgeMs: 800,
|
|
50
|
+
providerTimeoutMs: 150,
|
|
51
|
+
...over,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async function wait(ms) {
|
|
55
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
56
|
+
}
|
|
57
|
+
const SOFT_STALE_AGE_MS = 400;
|
|
58
|
+
const HARD_STALE_AGE_MS = 1_000;
|
|
59
|
+
const PROVIDER_DELAY_PAST_TIMEOUT_MS = 500;
|
|
60
|
+
describe('ExchangeRateReaderService.getRate - identity and cross-pair derivation', () => {
|
|
61
|
+
it('returns the identity quote for the same currency on both sides without touching the table', async () => {
|
|
62
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
63
|
+
const quote = await reader.getRate('EUR', 'EUR');
|
|
64
|
+
expect(quote).not.toBeNull();
|
|
65
|
+
expect(quote?.rate).toBe('1.000000000000000000');
|
|
66
|
+
});
|
|
67
|
+
it('returns null when nothing is stored for either leg (no provider bound)', async () => {
|
|
68
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
69
|
+
expect(await reader.getRate('EUR', 'GBP')).toBeNull();
|
|
70
|
+
});
|
|
71
|
+
it('derives a cross rate as from/pivot ÷ to/pivot from fresh stored legs, with no provider call', async () => {
|
|
72
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000');
|
|
73
|
+
await seedQuote('GBP', 'USD', '1.250000000000000000');
|
|
74
|
+
const fiatProvider = delayedProvider('9.000000000000000000', 0);
|
|
75
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
76
|
+
const quote = await reader.getRate('EUR', 'GBP');
|
|
77
|
+
expect(quote?.rate).toBe('0.880000000000000000');
|
|
78
|
+
expect(fiatProvider.getRate).not.toHaveBeenCalled();
|
|
79
|
+
});
|
|
80
|
+
it('resolves a currency against the pivot directly using the pivot leg shortcut', async () => {
|
|
81
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000');
|
|
82
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
83
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
84
|
+
expect(quote?.rate).toBe('1.100000000000000000');
|
|
85
|
+
});
|
|
86
|
+
it('convert() scales an amount by the derived rate', async () => {
|
|
87
|
+
await seedQuote('EUR', 'USD', '2.000000000000000000');
|
|
88
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
89
|
+
expect(await reader.convert('10', 'EUR', 'USD')).toBe('20.000000000000000000');
|
|
90
|
+
});
|
|
91
|
+
it('convert() returns null when no rate is available', async () => {
|
|
92
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
93
|
+
expect(await reader.convert('10', 'EUR', 'GBP')).toBeNull();
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
describe('ExchangeRateReaderService.getRate - age bands', () => {
|
|
97
|
+
it('fresh: serves the stored quote with no provider call', async () => {
|
|
98
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: 10 });
|
|
99
|
+
const fiatProvider = delayedProvider('9.000000000000000000', 0);
|
|
100
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
101
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
102
|
+
expect(quote?.rate).toBe('1.100000000000000000');
|
|
103
|
+
expect(fiatProvider.getRate).not.toHaveBeenCalled();
|
|
104
|
+
});
|
|
105
|
+
it('soft-stale: returns the cached value immediately and refreshes in the background', async () => {
|
|
106
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: SOFT_STALE_AGE_MS });
|
|
107
|
+
const fiatProvider = delayedProvider('1.500000000000000000', 30);
|
|
108
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
109
|
+
const start = Date.now();
|
|
110
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
111
|
+
const elapsed = Date.now() - start;
|
|
112
|
+
expect(quote?.rate).toBe('1.100000000000000000');
|
|
113
|
+
expect(elapsed).toBeLessThan(30);
|
|
114
|
+
// Polled, not slept: the provider resolves after 30ms but the write behind it lands
|
|
115
|
+
// whenever the pool hands back a connection, which on a loaded runner is well past any
|
|
116
|
+
// fixed deadline. Same idiom as the cross-leg refresh test below.
|
|
117
|
+
await vi.waitFor(async () => expect((await getRow('EUR', 'USD'))?.rate).toBe('1.500000000000000000'));
|
|
118
|
+
expect(fiatProvider.getRate).toHaveBeenCalledTimes(1);
|
|
119
|
+
});
|
|
120
|
+
it('soft-stale: a background refresh timeout is completely invisible to the caller', async () => {
|
|
121
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: SOFT_STALE_AGE_MS });
|
|
122
|
+
const fiatProvider = delayedProvider('9.000000000000000000', PROVIDER_DELAY_PAST_TIMEOUT_MS);
|
|
123
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
124
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
125
|
+
expect(quote?.rate).toBe('1.100000000000000000');
|
|
126
|
+
await wait(200);
|
|
127
|
+
const row = await getRow('EUR', 'USD');
|
|
128
|
+
expect(row?.rate).toBe('1.100000000000000000');
|
|
129
|
+
});
|
|
130
|
+
it('hard-stale: fetches synchronously, persists, and returns the fresh quote', async () => {
|
|
131
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: HARD_STALE_AGE_MS });
|
|
132
|
+
const providerAsOf = agedIso(0);
|
|
133
|
+
const fiatProvider = delayedProvider('1.300000000000000000', 5, providerAsOf);
|
|
134
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
135
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
136
|
+
expect(quote).toEqual({ rate: '1.300000000000000000', asOf: providerAsOf });
|
|
137
|
+
expect(fiatProvider.getRate).toHaveBeenCalledTimes(1);
|
|
138
|
+
const row = await getRow('EUR', 'USD');
|
|
139
|
+
expect(row?.rate).toBe('1.300000000000000000');
|
|
140
|
+
});
|
|
141
|
+
it('hard-stale with no row at all: fetches synchronously and persists a first row', async () => {
|
|
142
|
+
const fiatProvider = delayedProvider('1.400000000000000000', 5);
|
|
143
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
144
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
145
|
+
expect(quote?.rate).toBe('1.400000000000000000');
|
|
146
|
+
expect((await getRow('EUR', 'USD'))?.rate).toBe('1.400000000000000000');
|
|
147
|
+
});
|
|
148
|
+
it('hard-stale + provider failure (throw) returns null and fails closed, without touching a stored row', async () => {
|
|
149
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: HARD_STALE_AGE_MS });
|
|
150
|
+
const fiatProvider = mock({
|
|
151
|
+
getRate: vi.fn(async () => {
|
|
152
|
+
throw new Error('vendor unreachable');
|
|
153
|
+
}),
|
|
154
|
+
});
|
|
155
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
156
|
+
expect(await reader.getRate('EUR', 'USD')).toBeNull();
|
|
157
|
+
expect((await getRow('EUR', 'USD'))?.rate).toBe('1.100000000000000000');
|
|
158
|
+
});
|
|
159
|
+
it('hard-stale + provider returning null returns null and fails closed', async () => {
|
|
160
|
+
const fiatProvider = mock({ getRate: vi.fn(async () => null) });
|
|
161
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
162
|
+
expect(await reader.getRate('EUR', 'USD')).toBeNull();
|
|
163
|
+
});
|
|
164
|
+
it('hard-stale + no provider bound for the rail returns null and fails closed', async () => {
|
|
165
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
166
|
+
expect(await reader.getRate('EUR', 'USD')).toBeNull();
|
|
167
|
+
});
|
|
168
|
+
it('hard-stale: a provider call exceeding providerTimeoutMs returns null promptly (does not hang)', async () => {
|
|
169
|
+
const fiatProvider = delayedProvider('9.000000000000000000', 5_000);
|
|
170
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider, providerTimeoutMs: 30 }));
|
|
171
|
+
const start = Date.now();
|
|
172
|
+
const quote = await reader.getRate('EUR', 'USD');
|
|
173
|
+
const elapsed = Date.now() - start;
|
|
174
|
+
expect(quote).toBeNull();
|
|
175
|
+
expect(elapsed).toBeLessThan(500);
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
describe('ExchangeRateReaderService.getRate - single-flight', () => {
|
|
179
|
+
it('collapses concurrent hard-stale callers for the same leg into one provider call', async () => {
|
|
180
|
+
const providerAsOf = agedIso(0);
|
|
181
|
+
const fiatProvider = delayedProvider('1.200000000000000000', 40, providerAsOf);
|
|
182
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
183
|
+
const [a, b, c] = await Promise.all([
|
|
184
|
+
reader.getRate('EUR', 'USD'),
|
|
185
|
+
reader.getRate('EUR', 'USD'),
|
|
186
|
+
reader.getRate('EUR', 'USD'),
|
|
187
|
+
]);
|
|
188
|
+
expect(a).toEqual({ rate: '1.200000000000000000', asOf: providerAsOf });
|
|
189
|
+
expect(b).toEqual(a);
|
|
190
|
+
expect(c).toEqual(a);
|
|
191
|
+
expect(fiatProvider.getRate).toHaveBeenCalledTimes(1);
|
|
192
|
+
});
|
|
193
|
+
it('a settled in-flight call is removed from the single-flight map so a later call fetches again', async () => {
|
|
194
|
+
const fiatProvider = delayedProvider('1.200000000000000000', 5);
|
|
195
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider, freshTtlMs: 0, hardMaxAgeMs: 50 }));
|
|
196
|
+
await reader.getRate('EUR', 'USD');
|
|
197
|
+
await wait(80);
|
|
198
|
+
await reader.getRate('EUR', 'USD');
|
|
199
|
+
expect(fiatProvider.getRate).toHaveBeenCalledTimes(2);
|
|
200
|
+
});
|
|
201
|
+
});
|
|
202
|
+
describe('ExchangeRateReaderService.getRate - cross-pair freshness', () => {
|
|
203
|
+
it('a derived pair is only as fresh as its staler leg', async () => {
|
|
204
|
+
const stalerAsOf = agedIso(SOFT_STALE_AGE_MS);
|
|
205
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: 10 });
|
|
206
|
+
await seedQuote('GBP', 'USD', '1.250000000000000000', { asOf: stalerAsOf });
|
|
207
|
+
const fiatProvider = delayedProvider('1.300000000000000000', 30);
|
|
208
|
+
const reader = new ExchangeRateReaderService(baseDeps({ fiatProvider }));
|
|
209
|
+
const quote = await reader.getRate('EUR', 'GBP');
|
|
210
|
+
expect(quote?.rate).toBe('0.880000000000000000');
|
|
211
|
+
expect(quote?.asOf).toBe(stalerAsOf);
|
|
212
|
+
// The staler leg refreshes in the background. Let that write land before the next
|
|
213
|
+
// test truncates, or it lands after the truncate and leaves a fresh GBP/USD row.
|
|
214
|
+
await vi.waitFor(async () => expect((await getRow('GBP', 'USD'))?.rate).toBe('1.300000000000000000'));
|
|
215
|
+
});
|
|
216
|
+
it('returns null when one leg is hard-stale and its fetch fails, even if the other leg is fresh', async () => {
|
|
217
|
+
await seedQuote('EUR', 'USD', '1.100000000000000000', { ageMs: 10 });
|
|
218
|
+
const reader = new ExchangeRateReaderService(baseDeps());
|
|
219
|
+
expect(await reader.getRate('EUR', 'GBP')).toBeNull();
|
|
220
|
+
});
|
|
221
|
+
});
|
|
222
|
+
//# sourceMappingURL=exchange-rate-reader.service.int.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange-rate-reader.service.int.test.js","sourceRoot":"","sources":["../../../../src/fx/exchange-rate/__tests__/exchange-rate-reader.service.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-provider.test.d.ts","sourceRoot":"","sources":["../../../../src/fx/exchange-rate/__tests__/select-provider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { mock } from '../../../testing/mock.js';
|
|
3
|
+
import { selectProvider } from '../adapters/exchange-rate-reader.service.js';
|
|
4
|
+
const cryptoProvider = mock({});
|
|
5
|
+
const fiatProvider = mock({});
|
|
6
|
+
describe('selectProvider', () => {
|
|
7
|
+
it('routes a crypto currency to the crypto provider via railFor', () => {
|
|
8
|
+
expect(selectProvider('BTC', cryptoProvider, fiatProvider)).toBe(cryptoProvider);
|
|
9
|
+
});
|
|
10
|
+
it('routes a fiat currency to the fiat provider via railFor', () => {
|
|
11
|
+
expect(selectProvider('EUR', cryptoProvider, fiatProvider)).toBe(fiatProvider);
|
|
12
|
+
});
|
|
13
|
+
it('returns undefined when the rail has no provider bound', () => {
|
|
14
|
+
expect(selectProvider('BTC', undefined, fiatProvider)).toBeUndefined();
|
|
15
|
+
expect(selectProvider('EUR', cryptoProvider, undefined)).toBeUndefined();
|
|
16
|
+
});
|
|
17
|
+
it('returns undefined when neither provider is bound', () => {
|
|
18
|
+
expect(selectProvider('BTC', undefined, undefined)).toBeUndefined();
|
|
19
|
+
expect(selectProvider('EUR', undefined, undefined)).toBeUndefined();
|
|
20
|
+
});
|
|
21
|
+
it('respects a custom crypto-currency override list, same as railFor', () => {
|
|
22
|
+
expect(selectProvider('SOL', cryptoProvider, fiatProvider, ['SOL'])).toBe(cryptoProvider);
|
|
23
|
+
expect(selectProvider('BTC', cryptoProvider, fiatProvider, ['SOL'])).toBe(fiatProvider);
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=select-provider.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-provider.test.js","sourceRoot":"","sources":["../../../../src/fx/exchange-rate/__tests__/select-provider.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAE7E,MAAM,cAAc,GAAG,IAAI,CAAuB,EAAE,CAAC,CAAC;AACtD,MAAM,YAAY,GAAG,IAAI,CAAuB,EAAE,CAAC,CAAC;AAEpD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACnF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACpE,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;QAC1E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1F,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { DrizzleService } from '@openora/core/server';
|
|
2
|
+
import type { ExchangeRateProvider, ExchangeRateQuote, ExchangeRateReader } from '@openora/core/contracts';
|
|
3
|
+
export declare function selectProvider(currency: string, cryptoProvider: ExchangeRateProvider | undefined, fiatProvider: ExchangeRateProvider | undefined, cryptoCurrencies?: readonly string[]): ExchangeRateProvider | undefined;
|
|
4
|
+
export type ExchangeRateReaderServiceDeps = {
|
|
5
|
+
drizzle: DrizzleService;
|
|
6
|
+
pivot: string;
|
|
7
|
+
cryptoProvider?: ExchangeRateProvider;
|
|
8
|
+
fiatProvider?: ExchangeRateProvider;
|
|
9
|
+
cryptoCurrencies?: readonly string[];
|
|
10
|
+
freshTtlMs: number;
|
|
11
|
+
hardMaxAgeMs: number;
|
|
12
|
+
providerTimeoutMs: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Read-through cache in front of the two exchange-rate provider ports. A player
|
|
16
|
+
* request MAY reach a vendor: a hard-stale or missing quote is fetched
|
|
17
|
+
* synchronously (with a short timeout, failing closed to `null` on error) before
|
|
18
|
+
* answering. Three age bands off the quote's own provider timestamp
|
|
19
|
+
* (`exchange_rate_quote.providerAsOf`), never off the local write time - re-persisting
|
|
20
|
+
* an old quote must not make it look fresh:
|
|
21
|
+
* - fresh (age < freshTtlMs): return the stored value, no provider call.
|
|
22
|
+
* - soft-stale (freshTtlMs <= age < hardMaxAgeMs): return the stored value
|
|
23
|
+
* immediately, kick a single-flight background refresh that is invisible to
|
|
24
|
+
* the caller (its failure is logged, never thrown).
|
|
25
|
+
* - hard-stale (age >= hardMaxAgeMs) or no row at all: fetch synchronously
|
|
26
|
+
* through the same single-flight path; on success persist and return; on
|
|
27
|
+
* failure return `null`.
|
|
28
|
+
* Concurrent callers for the same (currency, pivot) leg share one in-flight
|
|
29
|
+
* provider call.
|
|
30
|
+
*/
|
|
31
|
+
export declare class ExchangeRateReaderService implements ExchangeRateReader {
|
|
32
|
+
private readonly drizzle;
|
|
33
|
+
private readonly pivot;
|
|
34
|
+
private readonly cryptoProvider?;
|
|
35
|
+
private readonly fiatProvider?;
|
|
36
|
+
private readonly cryptoCurrencies?;
|
|
37
|
+
private readonly freshTtlMs;
|
|
38
|
+
private readonly hardMaxAgeMs;
|
|
39
|
+
private readonly providerTimeoutMs;
|
|
40
|
+
private readonly inFlight;
|
|
41
|
+
private readonly failedUntil;
|
|
42
|
+
constructor(deps: ExchangeRateReaderServiceDeps);
|
|
43
|
+
getRate(from: string, to: string): Promise<ExchangeRateQuote | null>;
|
|
44
|
+
convert(amount: string, from: string, to: string): Promise<string | null>;
|
|
45
|
+
private resolveLeg;
|
|
46
|
+
/** Records a cooldown, evicting expired entries first so the map cannot grow without bound. */
|
|
47
|
+
private rememberFailure;
|
|
48
|
+
private readRow;
|
|
49
|
+
private fetchLeg;
|
|
50
|
+
private fetchFromProvider;
|
|
51
|
+
/**
|
|
52
|
+
* A rate is money arithmetic: a zero, negative, absurd or unparseable one would silently
|
|
53
|
+
* convert a wager to nothing and walk it past an RG limit, and a timestamp we cannot trust
|
|
54
|
+
* would age wrong. Refuse before persisting, so the bad value never enters the cache.
|
|
55
|
+
*/
|
|
56
|
+
private assertUsableQuote;
|
|
57
|
+
private persist;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=exchange-rate-reader.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange-rate-reader.service.d.ts","sourceRoot":"","sources":["../../../../src/fx/exchange-rate/adapters/exchange-rate-reader.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA2C,MAAM,sBAAsB,CAAC;AAC/F,OAAO,KAAK,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAcjC,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,oBAAoB,GAAG,SAAS,EAChD,YAAY,EAAE,oBAAoB,GAAG,SAAS,EAC9C,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,GACnC,oBAAoB,GAAG,SAAS,CAElC;AAoBD,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,yBAA0B,YAAW,kBAAkB;IAClE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuB;IACvD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiD;IAC1E,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;gBAE7C,IAAI,EAAE,6BAA6B;IAWzC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAoBpE,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YAQjE,UAAU;IA4CxB,+FAA+F;IAC/F,OAAO,CAAC,eAAe;YAiBT,OAAO;IAgBrB,OAAO,CAAC,QAAQ;YAgBF,iBAAiB;IAyB/B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;YAmBX,OAAO;CAUtB"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
import { moneyDivide, moneyScaleBy, createLogger } from '@openora/core/server';
|
|
2
|
+
import { railFor } from '@openora/core/contracts';
|
|
3
|
+
import { and, eq } from 'drizzle-orm';
|
|
4
|
+
import { exchangeRateQuote } from '../schema/index.js';
|
|
5
|
+
const logger = createLogger('exchange-rate-reader');
|
|
6
|
+
/** Tolerated forward clock skew between the provider's `asOf` and this process. */
|
|
7
|
+
const MAX_PROVIDER_CLOCK_SKEW_MS = 60_000;
|
|
8
|
+
/** Upper bound on a plausible pivot-denominated rate; anything beyond is a provider defect. */
|
|
9
|
+
const MAX_PLAUSIBLE_RATE = 1e12;
|
|
10
|
+
/** Hard cap on the failure-cooldown map, so an unbounded code space cannot grow it. */
|
|
11
|
+
const MAX_FAILURE_ENTRIES = 512;
|
|
12
|
+
export function selectProvider(currency, cryptoProvider, fiatProvider, cryptoCurrencies) {
|
|
13
|
+
return railFor(currency, cryptoCurrencies) === 'crypto' ? cryptoProvider : fiatProvider;
|
|
14
|
+
}
|
|
15
|
+
function withTimeout(promise, timeoutMs, label) {
|
|
16
|
+
return new Promise((resolve, reject) => {
|
|
17
|
+
const timer = setTimeout(() => {
|
|
18
|
+
reject(new Error(`exchange rate provider timed out fetching ${label}`));
|
|
19
|
+
}, timeoutMs);
|
|
20
|
+
promise.then((value) => {
|
|
21
|
+
clearTimeout(timer);
|
|
22
|
+
resolve(value);
|
|
23
|
+
}, (err) => {
|
|
24
|
+
clearTimeout(timer);
|
|
25
|
+
reject(err instanceof Error ? err : new Error(String(err)));
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Read-through cache in front of the two exchange-rate provider ports. A player
|
|
31
|
+
* request MAY reach a vendor: a hard-stale or missing quote is fetched
|
|
32
|
+
* synchronously (with a short timeout, failing closed to `null` on error) before
|
|
33
|
+
* answering. Three age bands off the quote's own provider timestamp
|
|
34
|
+
* (`exchange_rate_quote.providerAsOf`), never off the local write time - re-persisting
|
|
35
|
+
* an old quote must not make it look fresh:
|
|
36
|
+
* - fresh (age < freshTtlMs): return the stored value, no provider call.
|
|
37
|
+
* - soft-stale (freshTtlMs <= age < hardMaxAgeMs): return the stored value
|
|
38
|
+
* immediately, kick a single-flight background refresh that is invisible to
|
|
39
|
+
* the caller (its failure is logged, never thrown).
|
|
40
|
+
* - hard-stale (age >= hardMaxAgeMs) or no row at all: fetch synchronously
|
|
41
|
+
* through the same single-flight path; on success persist and return; on
|
|
42
|
+
* failure return `null`.
|
|
43
|
+
* Concurrent callers for the same (currency, pivot) leg share one in-flight
|
|
44
|
+
* provider call.
|
|
45
|
+
*/
|
|
46
|
+
export class ExchangeRateReaderService {
|
|
47
|
+
drizzle;
|
|
48
|
+
pivot;
|
|
49
|
+
cryptoProvider;
|
|
50
|
+
fiatProvider;
|
|
51
|
+
cryptoCurrencies;
|
|
52
|
+
freshTtlMs;
|
|
53
|
+
hardMaxAgeMs;
|
|
54
|
+
providerTimeoutMs;
|
|
55
|
+
inFlight = new Map();
|
|
56
|
+
failedUntil = new Map();
|
|
57
|
+
constructor(deps) {
|
|
58
|
+
this.drizzle = deps.drizzle;
|
|
59
|
+
this.pivot = deps.pivot.toUpperCase();
|
|
60
|
+
this.cryptoProvider = deps.cryptoProvider;
|
|
61
|
+
this.fiatProvider = deps.fiatProvider;
|
|
62
|
+
this.cryptoCurrencies = deps.cryptoCurrencies;
|
|
63
|
+
this.freshTtlMs = deps.freshTtlMs;
|
|
64
|
+
this.hardMaxAgeMs = deps.hardMaxAgeMs;
|
|
65
|
+
this.providerTimeoutMs = deps.providerTimeoutMs;
|
|
66
|
+
}
|
|
67
|
+
async getRate(from, to) {
|
|
68
|
+
const fromCode = from.toUpperCase();
|
|
69
|
+
const toCode = to.toUpperCase();
|
|
70
|
+
if (fromCode === toCode) {
|
|
71
|
+
return { rate: '1.000000000000000000', asOf: new Date().toISOString() };
|
|
72
|
+
}
|
|
73
|
+
const [fromLeg, toLeg] = await Promise.all([
|
|
74
|
+
this.resolveLeg(fromCode),
|
|
75
|
+
this.resolveLeg(toCode),
|
|
76
|
+
]);
|
|
77
|
+
if (!fromLeg || !toLeg) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
const rate = moneyDivide(fromLeg.rate, toLeg.rate);
|
|
81
|
+
const asOf = fromLeg.asOf < toLeg.asOf ? fromLeg.asOf : toLeg.asOf;
|
|
82
|
+
return { rate, asOf };
|
|
83
|
+
}
|
|
84
|
+
async convert(amount, from, to) {
|
|
85
|
+
const quote = await this.getRate(from, to);
|
|
86
|
+
if (!quote) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
return moneyScaleBy(amount, quote.rate);
|
|
90
|
+
}
|
|
91
|
+
async resolveLeg(currency) {
|
|
92
|
+
if (currency === this.pivot) {
|
|
93
|
+
return { rate: '1.000000000000000000', asOf: new Date().toISOString() };
|
|
94
|
+
}
|
|
95
|
+
const row = await this.readRow(currency);
|
|
96
|
+
// A clock ahead of ours only ever makes a quote look newer, never older, so clamp at 0.
|
|
97
|
+
const ageMs = row
|
|
98
|
+
? Math.max(0, Date.now() - row.providerAsOf.getTime())
|
|
99
|
+
: Number.POSITIVE_INFINITY;
|
|
100
|
+
if (row && ageMs < this.freshTtlMs) {
|
|
101
|
+
return { rate: row.rate, asOf: row.providerAsOf.toISOString() };
|
|
102
|
+
}
|
|
103
|
+
if (row && ageMs < this.hardMaxAgeMs) {
|
|
104
|
+
void this.fetchLeg(currency).catch((err) => {
|
|
105
|
+
logger.warn({ err, currency, pivot: this.pivot }, 'background exchange rate refresh failed');
|
|
106
|
+
});
|
|
107
|
+
return { rate: row.rate, asOf: row.providerAsOf.toISOString() };
|
|
108
|
+
}
|
|
109
|
+
const cooldownUntil = this.failedUntil.get(currency);
|
|
110
|
+
if (cooldownUntil !== undefined && Date.now() < cooldownUntil) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
const quote = await this.fetchLeg(currency);
|
|
115
|
+
this.failedUntil.delete(currency);
|
|
116
|
+
return quote;
|
|
117
|
+
}
|
|
118
|
+
catch (err) {
|
|
119
|
+
this.rememberFailure(currency);
|
|
120
|
+
logger.error({ err, currency, pivot: this.pivot, hadRow: row !== null }, 'exchange rate hard-stale and unavailable; failing closed');
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/** Records a cooldown, evicting expired entries first so the map cannot grow without bound. */
|
|
125
|
+
rememberFailure(currency) {
|
|
126
|
+
const now = Date.now();
|
|
127
|
+
for (const [key, until] of this.failedUntil) {
|
|
128
|
+
if (until <= now) {
|
|
129
|
+
this.failedUntil.delete(key);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
while (this.failedUntil.size >= MAX_FAILURE_ENTRIES) {
|
|
133
|
+
const [oldest] = this.failedUntil.keys();
|
|
134
|
+
if (oldest === undefined) {
|
|
135
|
+
break;
|
|
136
|
+
}
|
|
137
|
+
this.failedUntil.delete(oldest);
|
|
138
|
+
}
|
|
139
|
+
this.failedUntil.set(currency, now + this.providerTimeoutMs);
|
|
140
|
+
}
|
|
141
|
+
async readRow(currency) {
|
|
142
|
+
const [row] = await this.drizzle.db
|
|
143
|
+
.select({
|
|
144
|
+
rate: exchangeRateQuote.rate,
|
|
145
|
+
providerAsOf: exchangeRateQuote.providerAsOf,
|
|
146
|
+
})
|
|
147
|
+
.from(exchangeRateQuote)
|
|
148
|
+
.where(and(eq(exchangeRateQuote.baseCurrency, currency), eq(exchangeRateQuote.quoteCurrency, this.pivot)));
|
|
149
|
+
return row ?? null;
|
|
150
|
+
}
|
|
151
|
+
fetchLeg(currency) {
|
|
152
|
+
const key = `${currency}:${this.pivot}`;
|
|
153
|
+
const existing = this.inFlight.get(key);
|
|
154
|
+
if (existing) {
|
|
155
|
+
return existing;
|
|
156
|
+
}
|
|
157
|
+
const attempt = this.fetchFromProvider(currency).finally(() => {
|
|
158
|
+
if (this.inFlight.get(key) === attempt) {
|
|
159
|
+
this.inFlight.delete(key);
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
this.inFlight.set(key, attempt);
|
|
163
|
+
return attempt;
|
|
164
|
+
}
|
|
165
|
+
async fetchFromProvider(currency) {
|
|
166
|
+
const provider = selectProvider(currency, this.cryptoProvider, this.fiatProvider, this.cryptoCurrencies);
|
|
167
|
+
if (!provider) {
|
|
168
|
+
throw new Error(`no exchange rate provider bound for ${currency}/${this.pivot}`);
|
|
169
|
+
}
|
|
170
|
+
const quote = await withTimeout(provider.getRate(currency, this.pivot), this.providerTimeoutMs, `${currency}/${this.pivot}`);
|
|
171
|
+
if (!quote) {
|
|
172
|
+
throw new Error(`exchange rate provider returned no quote for ${currency}/${this.pivot}`);
|
|
173
|
+
}
|
|
174
|
+
this.assertUsableQuote(currency, quote);
|
|
175
|
+
await this.persist(currency, quote);
|
|
176
|
+
return quote;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* A rate is money arithmetic: a zero, negative, absurd or unparseable one would silently
|
|
180
|
+
* convert a wager to nothing and walk it past an RG limit, and a timestamp we cannot trust
|
|
181
|
+
* would age wrong. Refuse before persisting, so the bad value never enters the cache.
|
|
182
|
+
*/
|
|
183
|
+
assertUsableQuote(currency, quote) {
|
|
184
|
+
const pair = `${currency}/${this.pivot}`;
|
|
185
|
+
const rate = Number(quote.rate);
|
|
186
|
+
if (!Number.isFinite(rate) || rate <= 0 || rate > MAX_PLAUSIBLE_RATE) {
|
|
187
|
+
throw new Error(`exchange rate provider returned an out-of-range rate for ${pair}`);
|
|
188
|
+
}
|
|
189
|
+
const asOf = new Date(quote.asOf).getTime();
|
|
190
|
+
if (Number.isNaN(asOf)) {
|
|
191
|
+
throw new Error(`exchange rate provider returned an unparseable timestamp for ${pair}`);
|
|
192
|
+
}
|
|
193
|
+
const now = Date.now();
|
|
194
|
+
if (asOf > now + MAX_PROVIDER_CLOCK_SKEW_MS) {
|
|
195
|
+
throw new Error(`exchange rate provider returned a future timestamp for ${pair}`);
|
|
196
|
+
}
|
|
197
|
+
if (now - asOf >= this.hardMaxAgeMs) {
|
|
198
|
+
throw new Error(`exchange rate provider returned an already hard-stale quote for ${pair}`);
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
async persist(base, value) {
|
|
202
|
+
const providerAsOf = new Date(value.asOf);
|
|
203
|
+
await this.drizzle.db
|
|
204
|
+
.insert(exchangeRateQuote)
|
|
205
|
+
.values({ baseCurrency: base, quoteCurrency: this.pivot, rate: value.rate, providerAsOf })
|
|
206
|
+
.onConflictDoUpdate({
|
|
207
|
+
target: [exchangeRateQuote.baseCurrency, exchangeRateQuote.quoteCurrency],
|
|
208
|
+
set: { rate: value.rate, providerAsOf, updatedAt: new Date() },
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=exchange-rate-reader.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange-rate-reader.service.js","sourceRoot":"","sources":["../../../../src/fx/exchange-rate/adapters/exchange-rate-reader.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
export declare const ExchangeRateQuoteSchema: z.ZodObject<{
|
|
3
|
+
rate: z.ZodString;
|
|
4
|
+
asOf: z.ZodISODateTime;
|
|
5
|
+
}, z.core.$strip>;
|
|
6
|
+
export type ExchangeRateQuoteDto = z.infer<typeof ExchangeRateQuoteSchema>;
|
|
7
|
+
export declare const GetExchangeRateInputSchema: z.ZodObject<{
|
|
8
|
+
from: z.ZodString;
|
|
9
|
+
to: z.ZodString;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
export type GetExchangeRateInput = z.infer<typeof GetExchangeRateInputSchema>;
|
|
12
|
+
export declare const GetExchangeRatesInputSchema: z.ZodObject<{
|
|
13
|
+
to: z.ZodString;
|
|
14
|
+
from: z.ZodArray<z.ZodString>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
export type GetExchangeRatesInput = z.infer<typeof GetExchangeRatesInputSchema>;
|
|
17
|
+
export declare const ExchangeRateBatchEntrySchema: z.ZodObject<{
|
|
18
|
+
from: z.ZodString;
|
|
19
|
+
quote: z.ZodNullable<z.ZodObject<{
|
|
20
|
+
rate: z.ZodString;
|
|
21
|
+
asOf: z.ZodISODateTime;
|
|
22
|
+
}, z.core.$strip>>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
export type ExchangeRateBatchEntry = z.infer<typeof ExchangeRateBatchEntrySchema>;
|
|
25
|
+
export declare const exchangeRateContract: {
|
|
26
|
+
getRate: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
27
|
+
from: z.ZodString;
|
|
28
|
+
to: z.ZodString;
|
|
29
|
+
}, z.core.$strip>, z.ZodNullable<z.ZodObject<{
|
|
30
|
+
rate: z.ZodString;
|
|
31
|
+
asOf: z.ZodISODateTime;
|
|
32
|
+
}, z.core.$strip>>, Record<never, never>, Record<never, never>>;
|
|
33
|
+
getRates: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
34
|
+
to: z.ZodString;
|
|
35
|
+
from: z.ZodArray<z.ZodString>;
|
|
36
|
+
}, z.core.$strip>, z.ZodArray<z.ZodObject<{
|
|
37
|
+
from: z.ZodString;
|
|
38
|
+
quote: z.ZodNullable<z.ZodObject<{
|
|
39
|
+
rate: z.ZodString;
|
|
40
|
+
asOf: z.ZodISODateTime;
|
|
41
|
+
}, z.core.$strip>>;
|
|
42
|
+
}, z.core.$strip>>, Record<never, never>, Record<never, never>>;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/fx/exchange-rate/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAQzB,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE3E,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,4BAA4B;;;;;;iBAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;CAUhC,CAAC"}
|