@openora/core 0.4.1-canary.9 → 0.4.1-canary.91
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 +15 -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 +333 -0
- package/dist/admin-console/__tests__/backoffice.service.int.test.js.map +1 -0
- package/dist/admin-console/contract/index.d.ts +274 -30
- package/dist/admin-console/contract/index.d.ts.map +1 -1
- package/dist/admin-console/contract/index.js +81 -13
- package/dist/admin-console/contract/index.js.map +1 -1
- package/dist/admin-console/plugin.d.ts +120 -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 +121 -19
- 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 +66 -40
- package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
- package/dist/admin-console/service/backoffice.service.js +80 -39
- 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 +122 -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 +633 -0
- package/dist/audit/__tests__/audit.service.int.test.js.map +1 -0
- package/dist/audit/contract/index.d.ts +68 -10
- package/dist/audit/contract/index.d.ts.map +1 -1
- package/dist/audit/contract/index.js +24 -4
- package/dist/audit/contract/index.js.map +1 -1
- package/dist/audit/plugin.d.ts +121 -1
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +383 -30
- package/dist/audit/plugin.js.map +1 -1
- package/dist/audit/router/index.d.ts +29 -5
- package/dist/audit/router/index.d.ts.map +1 -1
- package/dist/audit/router/index.js +1 -5
- package/dist/audit/router/index.js.map +1 -1
- package/dist/audit/service/audit.service.d.ts +10 -6
- package/dist/audit/service/audit.service.d.ts.map +1 -1
- package/dist/audit/service/audit.service.js +87 -34
- 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 +113 -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 +9 -3
- package/dist/casino/gaming/contract/index.js.map +1 -1
- package/dist/casino/gaming/drizzle/migrations/0001_easy_ben_grimm.sql +4 -0
- package/dist/casino/gaming/drizzle/migrations/0002_yummy_lifeguard.sql +4 -0
- package/dist/casino/gaming/drizzle/migrations/meta/0001_snapshot.json +188 -0
- package/dist/casino/gaming/drizzle/migrations/meta/0002_snapshot.json +237 -0
- package/dist/casino/gaming/drizzle/migrations/meta/_journal.json +14 -0
- package/dist/casino/gaming/plugin.d.ts +121 -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 +6 -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 +13 -3
- package/dist/casino/gaming/schema/index.js.map +1 -1
- package/dist/casino/gaming/service/gaming.service.d.ts +19 -12
- package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
- package/dist/casino/gaming/service/gaming.service.js +42 -24
- 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 +119 -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/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 +96 -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 +119 -0
- package/dist/cms/__tests__/cms.service.int.test.js.map +1 -0
- package/dist/cms/plugin.d.ts +119 -1
- package/dist/cms/plugin.d.ts.map +1 -1
- package/dist/cms/plugin.js +3 -3
- package/dist/cms/plugin.js.map +1 -1
- package/dist/cms/router/index.d.ts.map +1 -1
- package/dist/cms/router/index.js +12 -12
- package/dist/cms/router/index.js.map +1 -1
- package/dist/cms/service/cms.service.d.ts +7 -7
- package/dist/cms/service/cms.service.d.ts.map +1 -1
- package/dist/cms/service/cms.service.js +81 -25
- 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 +162 -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 +192 -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 +173 -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 +275 -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 +43 -0
- package/dist/compliance/__tests__/limits.contract.test.js.map +1 -0
- 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 +271 -0
- package/dist/compliance/__tests__/rg-monitoring.service.int.test.js.map +1 -0
- package/dist/compliance/__tests__/rg.contract.test.js +32 -14
- 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 +158 -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 +356 -0
- package/dist/compliance/__tests__/rg.service.int.test.js.map +1 -0
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.d.ts +18 -5
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.d.ts.map +1 -1
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.js +58 -7
- package/dist/compliance/adapters/hmac-kyc-webhook-verifier.js.map +1 -1
- package/dist/compliance/contract/index.d.ts +428 -20
- package/dist/compliance/contract/index.d.ts.map +1 -1
- package/dist/compliance/contract/index.js +63 -4
- package/dist/compliance/contract/index.js.map +1 -1
- package/dist/compliance/contract/limits.d.ts +9 -2
- package/dist/compliance/contract/limits.d.ts.map +1 -1
- package/dist/compliance/contract/limits.js +21 -3
- package/dist/compliance/contract/limits.js.map +1 -1
- package/dist/compliance/contract/rg.d.ts +104 -34
- package/dist/compliance/contract/rg.d.ts.map +1 -1
- package/dist/compliance/contract/rg.js +37 -11
- package/dist/compliance/contract/rg.js.map +1 -1
- package/dist/compliance/drizzle/migrations/0001_funny_vance_astro.sql +5 -0
- 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/meta/0001_snapshot.json +660 -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/_journal.json +28 -0
- package/dist/compliance/plugin.d.ts +122 -1
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.js +72 -20
- package/dist/compliance/plugin.js.map +1 -1
- package/dist/compliance/router/index.d.ts +262 -22
- package/dist/compliance/router/index.d.ts.map +1 -1
- package/dist/compliance/router/index.js +85 -25
- package/dist/compliance/router/index.js.map +1 -1
- package/dist/compliance/schema/index.d.ts +97 -18
- package/dist/compliance/schema/index.d.ts.map +1 -1
- package/dist/compliance/schema/index.js +19 -8
- package/dist/compliance/schema/index.js.map +1 -1
- package/dist/compliance/service/compliance.service.d.ts +39 -26
- package/dist/compliance/service/compliance.service.d.ts.map +1 -1
- package/dist/compliance/service/compliance.service.js +45 -38
- package/dist/compliance/service/compliance.service.js.map +1 -1
- package/dist/compliance/service/kyc.service.d.ts +167 -19
- package/dist/compliance/service/kyc.service.d.ts.map +1 -1
- package/dist/compliance/service/kyc.service.js +300 -55
- package/dist/compliance/service/kyc.service.js.map +1 -1
- package/dist/compliance/service/re-kyc-trigger.d.ts +4 -4
- package/dist/compliance/service/re-kyc-trigger.d.ts.map +1 -1
- package/dist/compliance/service/re-kyc-trigger.js +10 -6
- package/dist/compliance/service/re-kyc-trigger.js.map +1 -1
- package/dist/compliance/service/rg-eval.d.ts.map +1 -1
- package/dist/compliance/service/rg-eval.js +4 -2
- package/dist/compliance/service/rg-eval.js.map +1 -1
- package/dist/compliance/service/rg-monitoring.service.d.ts +7 -6
- package/dist/compliance/service/rg-monitoring.service.d.ts.map +1 -1
- package/dist/compliance/service/rg-monitoring.service.js +83 -40
- package/dist/compliance/service/rg-monitoring.service.js.map +1 -1
- package/dist/compliance/service/rg.service.d.ts +40 -7
- package/dist/compliance/service/rg.service.d.ts.map +1 -1
- package/dist/compliance/service/rg.service.js +163 -51
- 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/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 +10 -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-user-directory.d.ts +45 -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 +16 -5
- 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 +51 -0
- package/dist/contracts/adapters/email-template.d.ts.map +1 -0
- package/dist/contracts/adapters/email-template.js +50 -0
- package/dist/contracts/adapters/email-template.js.map +1 -0
- package/dist/contracts/adapters/email.d.ts +7 -0
- package/dist/contracts/adapters/email.d.ts.map +1 -1
- package/dist/contracts/adapters/email.js +7 -5
- package/dist/contracts/adapters/email.js.map +1 -1
- 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/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/gift-commands.d.ts +58 -0
- package/dist/contracts/adapters/gift-commands.d.ts.map +1 -0
- package/dist/contracts/adapters/gift-commands.js +11 -0
- package/dist/contracts/adapters/gift-commands.js.map +1 -0
- package/dist/contracts/adapters/identity-reader.d.ts +14 -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 +56 -13
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +31 -11
- 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 +121 -4
- package/dist/contracts/adapters/kyc.d.ts.map +1 -1
- package/dist/contracts/adapters/kyc.js +30 -5
- 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/notification.d.ts +7 -0
- package/dist/contracts/adapters/notification.d.ts.map +1 -1
- package/dist/contracts/adapters/notification.js +7 -5
- package/dist/contracts/adapters/notification.js.map +1 -1
- 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 +72 -2
- package/dist/contracts/adapters/payment.d.ts.map +1 -1
- package/dist/contracts/adapters/payment.js +6 -2
- 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 +21 -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/rain-commands.d.ts +27 -0
- package/dist/contracts/adapters/rain-commands.d.ts.map +1 -0
- package/dist/contracts/adapters/rain-commands.js +12 -0
- package/dist/contracts/adapters/rain-commands.js.map +1 -0
- package/dist/contracts/adapters/rate-limit.d.ts +40 -3
- package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
- package/dist/contracts/adapters/rate-limit.js +28 -6
- package/dist/contracts/adapters/rate-limit.js.map +1 -1
- package/dist/contracts/adapters/realtime.d.ts +106 -7
- package/dist/contracts/adapters/realtime.d.ts.map +1 -1
- package/dist/contracts/adapters/realtime.js +26 -10
- package/dist/contracts/adapters/realtime.js.map +1 -1
- 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/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-commands.d.ts +11 -5
- 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 +11 -3
- 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 +9 -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.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.js +20 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -0
- 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 +51 -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__/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-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 +213 -0
- package/dist/contracts/schemas/chat-command.d.ts.map +1 -0
- package/dist/contracts/schemas/chat-command.js +44 -0
- package/dist/contracts/schemas/chat-command.js.map +1 -0
- package/dist/contracts/schemas/common.d.ts +19 -5
- package/dist/contracts/schemas/common.d.ts.map +1 -1
- package/dist/contracts/schemas/common.js +26 -4
- package/dist/contracts/schemas/common.js.map +1 -1
- package/dist/contracts/schemas/compliance.d.ts +1 -1
- package/dist/contracts/schemas/events.d.ts +523 -10
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +371 -63
- 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/identity.d.ts +64 -2
- package/dist/contracts/schemas/identity.d.ts.map +1 -1
- package/dist/contracts/schemas/identity.js +51 -3
- package/dist/contracts/schemas/identity.js.map +1 -1
- package/dist/contracts/schemas/igaming-config.d.ts +25 -1
- package/dist/contracts/schemas/igaming-config.d.ts.map +1 -1
- package/dist/contracts/schemas/igaming-config.js +2 -1
- package/dist/contracts/schemas/igaming-config.js.map +1 -1
- package/dist/contracts/schemas/index.d.ts +4 -0
- package/dist/contracts/schemas/index.d.ts.map +1 -1
- package/dist/contracts/schemas/index.js +4 -0
- package/dist/contracts/schemas/index.js.map +1 -1
- package/dist/contracts/schemas/platform-config.d.ts +29 -35
- package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
- package/dist/contracts/schemas/platform-config.js +28 -9
- package/dist/contracts/schemas/platform-config.js.map +1 -1
- package/dist/contracts/schemas/player.d.ts +63 -5
- package/dist/contracts/schemas/player.d.ts.map +1 -1
- package/dist/contracts/schemas/player.js +32 -6
- 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 +88 -4
- package/dist/contracts/schemas/tag.d.ts.map +1 -1
- package/dist/contracts/schemas/tag.js +16 -4
- package/dist/contracts/schemas/tag.js.map +1 -1
- package/dist/contracts/schemas/wallet-tx.d.ts +3 -1
- package/dist/contracts/schemas/wallet-tx.d.ts.map +1 -1
- package/dist/contracts/schemas/wallet-tx.js +2 -0
- package/dist/contracts/schemas/wallet-tx.js.map +1 -1
- 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 +1430 -0
- package/dist/engagement/chat/__tests__/chat.service.int.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 +91 -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/contract/constants.d.ts +11 -0
- package/dist/engagement/chat/contract/constants.d.ts.map +1 -0
- package/dist/engagement/chat/contract/constants.js +11 -0
- package/dist/engagement/chat/contract/constants.js.map +1 -0
- package/dist/engagement/chat/contract/index.d.ts +1948 -17
- package/dist/engagement/chat/contract/index.d.ts.map +1 -1
- package/dist/engagement/chat/contract/index.js +407 -11
- 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/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/_journal.json +49 -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/moderate.d.ts.map +1 -1
- package/dist/engagement/chat/moderation/moderate.js +2 -1
- package/dist/engagement/chat/moderation/moderate.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/plugin.d.ts +120 -1
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat/plugin.js +34 -5
- package/dist/engagement/chat/plugin.js.map +1 -1
- package/dist/engagement/chat/router/index.d.ts +1515 -17
- package/dist/engagement/chat/router/index.d.ts.map +1 -1
- package/dist/engagement/chat/router/index.js +269 -28
- package/dist/engagement/chat/router/index.js.map +1 -1
- package/dist/engagement/chat/schema/index.d.ts +1508 -0
- package/dist/engagement/chat/schema/index.d.ts.map +1 -1
- package/dist/engagement/chat/schema/index.js +175 -3
- 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 +139 -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.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 +151 -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 +105 -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 +72 -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 +176 -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.service.d.ts +1030 -32
- package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
- package/dist/engagement/chat/service/chat.service.js +1071 -76
- package/dist/engagement/chat/service/chat.service.js.map +1 -1
- package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts +21 -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 +31 -0
- package/dist/engagement/chat/service/errors/chat-moderation.errors.js.map +1 -0
- package/dist/engagement/chat-commands/contract/index.d.ts +361 -0
- package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -0
- package/dist/engagement/chat-commands/contract/index.js +117 -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 +3 -0
- package/dist/engagement/chat-commands/migrate.d.ts.map +1 -0
- package/dist/engagement/chat-commands/migrate.js +15 -0
- package/dist/engagement/chat-commands/migrate.js.map +1 -0
- package/dist/engagement/chat-commands/plugin.d.ts +122 -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 +276 -0
- package/dist/engagement/chat-commands/router/index.d.ts.map +1 -0
- package/dist/engagement/chat-commands/router/index.js +76 -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 +431 -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 +73 -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 +258 -0
- package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -0
- package/dist/engagement/contracts.d.ts +3 -0
- package/dist/engagement/contracts.d.ts.map +1 -1
- package/dist/engagement/contracts.js +3 -0
- package/dist/engagement/contracts.js.map +1 -1
- package/dist/engagement/index.d.ts +3 -0
- package/dist/engagement/index.d.ts.map +1 -1
- package/dist/engagement/index.js +3 -0
- package/dist/engagement/index.js.map +1 -1
- 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 +175 -0
- package/dist/engagement/notifications/__tests__/notifications.service.int.test.js.map +1 -0
- package/dist/engagement/notifications/contract/index.d.ts +36 -2
- package/dist/engagement/notifications/contract/index.d.ts.map +1 -1
- package/dist/engagement/notifications/contract/index.js +16 -1
- package/dist/engagement/notifications/contract/index.js.map +1 -1
- package/dist/engagement/notifications/index.d.ts +1 -1
- package/dist/engagement/notifications/index.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.d.ts +121 -1
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.js +76 -9
- package/dist/engagement/notifications/plugin.js.map +1 -1
- package/dist/engagement/notifications/router/index.d.ts +7 -1
- package/dist/engagement/notifications/router/index.d.ts.map +1 -1
- package/dist/engagement/notifications/router/index.js +15 -6
- package/dist/engagement/notifications/router/index.js.map +1 -1
- package/dist/engagement/notifications/service/notifications.service.d.ts +6 -13
- package/dist/engagement/notifications/service/notifications.service.d.ts.map +1 -1
- package/dist/engagement/notifications/service/notifications.service.js +6 -14
- package/dist/engagement/notifications/service/notifications.service.js.map +1 -1
- package/dist/engagement/server.d.ts +3 -0
- package/dist/engagement/server.d.ts.map +1 -1
- package/dist/engagement/server.js +3 -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 +122 -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 +55 -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/engagement/social-transfers/contract/index.d.ts +85 -0
- package/dist/engagement/social-transfers/contract/index.d.ts.map +1 -0
- package/dist/engagement/social-transfers/contract/index.js +21 -0
- package/dist/engagement/social-transfers/contract/index.js.map +1 -0
- package/dist/engagement/social-transfers/drizzle/migrations/0000_clammy_rattler.sql +46 -0
- package/dist/engagement/social-transfers/drizzle/migrations/0001_fearless_molecule_man.sql +5 -0
- package/dist/engagement/social-transfers/drizzle/migrations/meta/0000_snapshot.json +287 -0
- package/dist/engagement/social-transfers/drizzle/migrations/meta/0001_snapshot.json +287 -0
- package/dist/engagement/social-transfers/drizzle/migrations/meta/_journal.json +20 -0
- package/dist/engagement/social-transfers/drizzle.config.d.ts +4 -0
- package/dist/engagement/social-transfers/drizzle.config.d.ts.map +1 -0
- package/dist/engagement/social-transfers/drizzle.config.js +21 -0
- package/dist/engagement/social-transfers/drizzle.config.js.map +1 -0
- package/dist/engagement/social-transfers/index.d.ts +3 -0
- package/dist/engagement/social-transfers/index.d.ts.map +1 -0
- package/dist/engagement/social-transfers/index.js +6 -0
- package/dist/engagement/social-transfers/index.js.map +1 -0
- package/dist/engagement/social-transfers/migrate.d.ts +5 -0
- package/dist/engagement/social-transfers/migrate.d.ts.map +1 -0
- package/dist/engagement/social-transfers/migrate.js +17 -0
- package/dist/engagement/social-transfers/migrate.js.map +1 -0
- package/dist/engagement/social-transfers/plugin.d.ts +122 -0
- package/dist/engagement/social-transfers/plugin.d.ts.map +1 -0
- package/dist/engagement/social-transfers/plugin.js +24 -0
- package/dist/engagement/social-transfers/plugin.js.map +1 -0
- package/dist/engagement/social-transfers/router/index.d.ts +77 -0
- package/dist/engagement/social-transfers/router/index.d.ts.map +1 -0
- package/dist/engagement/social-transfers/router/index.js +26 -0
- package/dist/engagement/social-transfers/router/index.js.map +1 -0
- package/dist/engagement/social-transfers/schema/index.d.ts +608 -0
- package/dist/engagement/social-transfers/schema/index.d.ts.map +1 -0
- package/dist/engagement/social-transfers/schema/index.js +61 -0
- package/dist/engagement/social-transfers/schema/index.js.map +1 -0
- package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.d.ts +2 -0
- package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.d.ts.map +1 -0
- package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.js +31 -0
- package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.js.map +1 -0
- package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts +2 -0
- package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts.map +1 -0
- package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +936 -0
- package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -0
- package/dist/engagement/social-transfers/service/social-transfers.service.d.ts +81 -0
- package/dist/engagement/social-transfers/service/social-transfers.service.d.ts.map +1 -0
- package/dist/engagement/social-transfers/service/social-transfers.service.js +807 -0
- package/dist/engagement/social-transfers/service/social-transfers.service.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 +573 -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 +120 -1
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/iam/plugin.js +13 -7
- 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 +3 -0
- package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
- package/dist/iam/seed/seed-default-roles.d.ts.map +1 -1
- package/dist/iam/seed/seed-default-roles.js +2 -1
- package/dist/iam/seed/seed-default-roles.js.map +1 -1
- package/dist/iam/service/iam.service.d.ts +40 -31
- package/dist/iam/service/iam.service.d.ts.map +1 -1
- package/dist/iam/service/iam.service.js +166 -43
- package/dist/iam/service/iam.service.js.map +1 -1
- 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 +217 -0
- package/dist/pam/identity/__tests__/admin-user-directory.int.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 +194 -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 +94 -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 +551 -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 +371 -0
- package/dist/pam/identity/__tests__/phone-login.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__/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/__tests__/default-email-template-renderer.test.d.ts +2 -0
- package/dist/pam/identity/adapters/__tests__/default-email-template-renderer.test.d.ts.map +1 -0
- package/dist/pam/identity/adapters/__tests__/default-email-template-renderer.test.js +25 -0
- package/dist/pam/identity/adapters/__tests__/default-email-template-renderer.test.js.map +1 -0
- package/dist/pam/identity/adapters/default-email-template-renderer.d.ts +8 -0
- package/dist/pam/identity/adapters/default-email-template-renderer.d.ts.map +1 -0
- package/dist/pam/identity/adapters/default-email-template-renderer.js +7 -0
- package/dist/pam/identity/adapters/default-email-template-renderer.js.map +1 -0
- package/dist/pam/identity/adapters/identity-reader.service.d.ts +8 -4
- package/dist/pam/identity/adapters/identity-reader.service.d.ts.map +1 -1
- package/dist/pam/identity/adapters/identity-reader.service.js +53 -2
- package/dist/pam/identity/adapters/identity-reader.service.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 +36 -8
- package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
- package/dist/pam/identity/admin-user-directory.js +103 -41
- package/dist/pam/identity/admin-user-directory.js.map +1 -1
- package/dist/pam/identity/contract/index.d.ts +93 -12
- package/dist/pam/identity/contract/index.d.ts.map +1 -1
- package/dist/pam/identity/contract/index.js +36 -6
- 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/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/_journal.json +49 -0
- package/dist/pam/identity/plugin.d.ts +119 -1
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/identity/plugin.js +43 -7
- package/dist/pam/identity/plugin.js.map +1 -1
- package/dist/pam/identity/react/account.d.ts +3 -0
- package/dist/pam/identity/react/account.d.ts.map +1 -1
- package/dist/pam/identity/react/auth.d.ts +17 -13
- package/dist/pam/identity/react/auth.d.ts.map +1 -1
- package/dist/pam/identity/router/index.d.ts +84 -13
- package/dist/pam/identity/router/index.d.ts.map +1 -1
- package/dist/pam/identity/router/index.js +48 -8
- package/dist/pam/identity/router/index.js.map +1 -1
- package/dist/pam/identity/schema/index.d.ts +246 -0
- package/dist/pam/identity/schema/index.d.ts.map +1 -1
- package/dist/pam/identity/schema/index.js +32 -2
- package/dist/pam/identity/schema/index.js.map +1 -1
- package/dist/pam/identity/service/identity.service.d.ts +80 -30
- package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
- package/dist/pam/identity/service/identity.service.js +621 -105
- 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/login-enforcement.service.d.ts +3 -3
- package/dist/pam/identity/service/login-enforcement.service.d.ts.map +1 -1
- package/dist/pam/identity/service/login-enforcement.service.js.map +1 -1
- package/dist/pam/identity/service/phone-login.service.d.ts +62 -0
- package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -0
- package/dist/pam/identity/service/phone-login.service.js +401 -0
- package/dist/pam/identity/service/phone-login.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 +5 -0
- package/dist/pam/identity/service/rg-guard.service.d.ts.map +1 -0
- package/dist/pam/identity/service/rg-guard.service.js +4 -0
- package/dist/pam/identity/service/rg-guard.service.js.map +1 -0
- package/dist/pam/identity/service/session.service.d.ts +11 -4
- package/dist/pam/identity/service/session.service.d.ts.map +1 -1
- package/dist/pam/identity/service/session.service.js +29 -12
- package/dist/pam/identity/service/session.service.js.map +1 -1
- 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 +89 -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 +429 -0
- package/dist/pam/player-management/__tests__/player.service.int.test.js.map +1 -0
- package/dist/pam/player-management/contract/index.d.ts +105 -25
- 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 +120 -1
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.js +10 -7
- package/dist/pam/player-management/plugin.js.map +1 -1
- package/dist/pam/player-management/router/index.d.ts +79 -23
- 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 +3 -2
- package/dist/pam/player-management/service/kyc-status-writer.d.ts.map +1 -1
- package/dist/pam/player-management/service/kyc-status-writer.js +26 -10
- package/dist/pam/player-management/service/kyc-status-writer.js.map +1 -1
- package/dist/pam/player-management/service/player.service.d.ts +45 -34
- package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
- package/dist/pam/player-management/service/player.service.js +139 -50
- 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 +120 -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/schema/index.d.ts +4 -4
- package/dist/pam/player-note/schema/index.js +6 -6
- package/dist/pam/player-note/schema/index.js.map +1 -1
- package/dist/pam/player-note/service/player-note.service.d.ts +13 -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 +6 -4
- 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 +88 -0
- package/dist/pam/profile/__tests__/profile.service.int.test.js.map +1 -0
- package/dist/pam/profile/contract/index.d.ts +8 -7
- package/dist/pam/profile/contract/index.d.ts.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/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/_journal.json +14 -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 +119 -1
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.js +7 -4
- package/dist/pam/profile/plugin.js.map +1 -1
- package/dist/pam/profile/react/profile.d.ts +10 -12
- package/dist/pam/profile/react/profile.d.ts.map +1 -1
- package/dist/pam/profile/react/profile.js.map +1 -1
- package/dist/pam/profile/router/index.d.ts +8 -7
- package/dist/pam/profile/router/index.d.ts.map +1 -1
- package/dist/pam/profile/schema/index.d.ts +88 -20
- package/dist/pam/profile/schema/index.d.ts.map +1 -1
- package/dist/pam/profile/schema/index.js +6 -9
- package/dist/pam/profile/schema/index.js.map +1 -1
- package/dist/pam/profile/service/profile.service.d.ts +24 -10
- package/dist/pam/profile/service/profile.service.d.ts.map +1 -1
- package/dist/pam/profile/service/profile.service.js +28 -17
- package/dist/pam/profile/service/profile.service.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 +55 -0
- package/dist/pam/shared/__tests__/shared-mappers.test.js.map +1 -0
- package/dist/pam/shared/headers-mapper.d.ts.map +1 -1
- package/dist/pam/shared/headers-mapper.js +2 -1
- package/dist/pam/shared/headers-mapper.js.map +1 -1
- package/dist/pam/shared/player-mapper.d.ts +22 -3
- package/dist/pam/shared/player-mapper.d.ts.map +1 -1
- package/dist/pam/shared/player-mapper.js +8 -7
- 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 +980 -0
- package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js.map +1 -0
- package/dist/pam/tag/__tests__/tag-mappers.test.js +31 -6
- 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 +142 -4
- 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/0001_neat_iron_monger.sql +2 -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/0001_snapshot.json +295 -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 +28 -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 +120 -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 +117 -4
- 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 +58 -19
- package/dist/pam/tag/schema/index.d.ts.map +1 -1
- package/dist/pam/tag/schema/index.js +32 -21
- 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 +48 -6
- 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/seed/seed-default-tag-rules.d.ts.map +1 -1
- package/dist/pam/tag/seed/seed-default-tag-rules.js +5 -3
- package/dist/pam/tag/seed/seed-default-tag-rules.js.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.d.ts +141 -17
- package/dist/pam/tag/service/tag-evaluation.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-evaluation.service.js +501 -62
- package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
- package/dist/pam/tag/service/tag-mappers.d.ts +8 -2
- package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-mappers.js +4 -8
- package/dist/pam/tag/service/tag-mappers.js.map +1 -1
- package/dist/pam/tag/service/tag-rule.service.d.ts +34 -4
- package/dist/pam/tag/service/tag-rule.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag-rule.service.js +17 -17
- package/dist/pam/tag/service/tag-rule.service.js.map +1 -1
- package/dist/pam/tag/service/tag.service.d.ts +188 -11
- package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
- package/dist/pam/tag/service/tag.service.js +302 -40
- package/dist/pam/tag/service/tag.service.js.map +1 -1
- package/dist/react/context/api-client.d.ts.map +1 -1
- package/dist/react/context/api-client.js +14 -7
- package/dist/react/context/api-client.js.map +1 -1
- package/dist/react/context/realtime-client.d.ts +1 -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 +63 -28
- package/dist/react/hooks/use-event-stream.js.map +1 -1
- package/dist/react/hooks/use-paginated-list.js +3 -3
- package/dist/react/hooks/use-paginated-list.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 +123 -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 +96 -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__/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 +23 -10
- package/dist/server/auth/admin-guard.d.ts.map +1 -1
- package/dist/server/auth/admin-guard.js +90 -44
- package/dist/server/auth/admin-guard.js.map +1 -1
- package/dist/server/auth/auth.d.ts +27 -0
- package/dist/server/auth/auth.d.ts.map +1 -1
- package/dist/server/auth/auth.js +70 -16
- package/dist/server/auth/auth.js.map +1 -1
- package/dist/server/auth/index.d.ts +2 -0
- 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/permission-levels.d.ts.map +1 -1
- package/dist/server/auth/permission-levels.js +12 -6
- package/dist/server/auth/permission-levels.js.map +1 -1
- package/dist/server/auth/permissions.d.ts +60 -0
- package/dist/server/auth/permissions.d.ts.map +1 -1
- package/dist/server/auth/permissions.js +10 -0
- package/dist/server/auth/permissions.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 +127 -0
- package/dist/server/db/__tests__/migrate.test.js.map +1 -0
- package/dist/server/db/__tests__/query-helpers.test.js +83 -1
- package/dist/server/db/__tests__/query-helpers.test.js.map +1 -1
- package/dist/server/db/drizzle.d.ts.map +1 -1
- package/dist/server/db/drizzle.js +2 -1
- package/dist/server/db/drizzle.js.map +1 -1
- package/dist/server/db/drizzle.service.d.ts.map +1 -1
- package/dist/server/db/drizzle.service.js +10 -1
- 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 +25 -0
- package/dist/server/db/migrate.d.ts.map +1 -1
- package/dist/server/db/migrate.js +75 -13
- 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/outbox/relay.d.ts +15 -0
- package/dist/server/db/outbox/relay.d.ts.map +1 -1
- package/dist/server/db/outbox/relay.js +21 -14
- package/dist/server/db/outbox/relay.js.map +1 -1
- package/dist/server/db/query-helpers.d.ts +3 -0
- package/dist/server/db/query-helpers.d.ts.map +1 -1
- package/dist/server/db/query-helpers.js +40 -1
- 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__/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__/realtime-transport.test.js +24 -4
- package/dist/server/kernel/__tests__/realtime-transport.test.js.map +1 -1
- 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-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 +172 -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 +12 -0
- package/dist/server/kernel/bullmq-job-queue.d.ts.map +1 -1
- package/dist/server/kernel/bullmq-job-queue.js +45 -7
- 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 +6 -54
- package/dist/server/kernel/cache.js.map +1 -1
- package/dist/server/kernel/container.d.ts +17 -6
- package/dist/server/kernel/container.d.ts.map +1 -1
- package/dist/server/kernel/container.js +15 -1
- package/dist/server/kernel/container.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 -9
- package/dist/server/kernel/event-bus.d.ts.map +1 -1
- package/dist/server/kernel/event-bus.js +11 -26
- 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 +2 -1
- package/dist/server/kernel/event-stream.js.map +1 -1
- package/dist/server/kernel/index.d.ts +9 -7
- package/dist/server/kernel/index.d.ts.map +1 -1
- package/dist/server/kernel/index.js +7 -6
- 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/ownership.d.ts.map +1 -1
- package/dist/server/kernel/ownership.js +2 -1
- package/dist/server/kernel/ownership.js.map +1 -1
- package/dist/server/kernel/platform-config-loader.d.ts.map +1 -1
- package/dist/server/kernel/platform-config-loader.js +34 -16
- package/dist/server/kernel/platform-config-loader.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 +4 -35
- 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/realtime-transport.d.ts +7 -2
- package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
- package/dist/server/kernel/realtime-transport.js +63 -22
- package/dist/server/kernel/realtime-transport.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 +20 -5
- 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-rate-limiter.d.ts +12 -0
- package/dist/server/kernel/redis-rate-limiter.d.ts.map +1 -1
- package/dist/server/kernel/redis-rate-limiter.js +24 -1
- 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 +208 -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 +5 -0
- package/dist/server/kernel/router-utils.d.ts.map +1 -1
- package/dist/server/kernel/router-utils.js +28 -2
- package/dist/server/kernel/router-utils.js.map +1 -1
- package/dist/server/kernel/serialize-row.d.ts.map +1 -1
- package/dist/server/kernel/serialize-row.js +4 -2
- package/dist/server/kernel/serialize-row.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 +40 -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 +4 -3
- package/dist/server/plugin-host/load-extensions.js.map +1 -1
- 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 +14 -4
- 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/plugin-host/service-manifest.d.ts.map +1 -1
- package/dist/server/plugin-host/service-manifest.js +4 -2
- package/dist/server/plugin-host/service-manifest.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 +73 -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 +32 -0
- package/dist/server/runtime/assert-durable-seams.js.map +1 -0
- package/dist/server/runtime/core-token-catalog.d.ts +119 -0
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -0
- package/dist/server/runtime/core-token-catalog.js +62 -0
- package/dist/server/runtime/core-token-catalog.js.map +1 -0
- package/dist/server/runtime/create-app.d.ts +20 -14
- package/dist/server/runtime/create-app.d.ts.map +1 -1
- package/dist/server/runtime/create-app.js +128 -65
- 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 +5 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +5 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/mock.d.ts +33 -15
- package/dist/testing/mock.d.ts.map +1 -1
- package/dist/testing/mock.js +86 -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 +122 -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 +81 -0
- package/dist/testing/realtime-transport-conformance.js.map +1 -0
- package/dist/testing/seed-player.d.ts +88 -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/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__/hmac-payment-webhook-verifier.test.d.ts +2 -0
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js +25 -0
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.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__/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 +124 -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 +192 -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 +772 -0
- package/dist/wallet/__tests__/wallet-auto-withdrawal.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 +193 -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 +14 -0
- package/dist/wallet/__tests__/wallet-currency-code.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 +103 -0
- package/dist/wallet/__tests__/wallet-kyc-gate.int.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 +166 -0
- package/dist/wallet/__tests__/wallet-webhook.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 +92 -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 +73 -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 +923 -0
- package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts +7 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts.map +1 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.js +30 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.js.map +1 -0
- package/dist/wallet/adapters/mock/mock-payment-adapter.d.ts +2 -2
- package/dist/wallet/adapters/wallet-reader.service.d.ts +2 -1
- package/dist/wallet/adapters/wallet-reader.service.d.ts.map +1 -1
- package/dist/wallet/adapters/wallet-reader.service.js +19 -2
- package/dist/wallet/adapters/wallet-reader.service.js.map +1 -1
- package/dist/wallet/admin-reporting.d.ts +7 -7
- package/dist/wallet/admin-reporting.d.ts.map +1 -1
- package/dist/wallet/admin-reporting.js +19 -11
- package/dist/wallet/admin-reporting.js.map +1 -1
- package/dist/wallet/contract/index.d.ts +305 -26
- package/dist/wallet/contract/index.d.ts.map +1 -1
- package/dist/wallet/contract/index.js +119 -18
- package/dist/wallet/contract/index.js.map +1 -1
- package/dist/wallet/drizzle/migrations/0001_redundant_micromacro.sql +4 -0
- package/dist/wallet/drizzle/migrations/0002_aromatic_archangel.sql +20 -0
- 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/meta/0001_snapshot.json +397 -0
- package/dist/wallet/drizzle/migrations/meta/0002_snapshot.json +513 -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/_journal.json +63 -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 +120 -1
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +23 -9
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/router/index.d.ts +165 -16
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +75 -21
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/schema/index.d.ts +542 -9
- package/dist/wallet/schema/index.d.ts.map +1 -1
- package/dist/wallet/schema/index.js +76 -5
- package/dist/wallet/schema/index.js.map +1 -1
- package/dist/wallet/seed/index.d.ts +2 -0
- package/dist/wallet/seed/index.d.ts.map +1 -0
- package/dist/wallet/seed/index.js +2 -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/service/wallet-commands.service.d.ts +7 -2
- package/dist/wallet/service/wallet-commands.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet-commands.service.js +45 -32
- package/dist/wallet/service/wallet-commands.service.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +363 -28
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +591 -140
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/generators/src/config.ts +548 -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/oxlint/oxlintrc.json +19 -3
- package/package.json +128 -16
- 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 -415
- 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.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 -95
- 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 -21
- 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 -152
- 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 -99
- 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 -65
- 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 -206
- package/dist/compliance/__tests__/rg.service.test.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 -27
- package/dist/engagement/chat/react/use-chat-stream.d.ts.map +0 -1
- package/dist/engagement/chat/react/use-chat-stream.js +0 -52
- 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 -83
- package/dist/engagement/notifications/__tests__/notifications.service.test.js.map +0 -1
- package/dist/engagement/react.d.ts +0 -2
- package/dist/engagement/react.d.ts.map +0 -1
- package/dist/engagement/react.js +0 -3
- package/dist/engagement/react.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 -739
- 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 -37
- 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 -143
- 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 -47
- 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 -37
- 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 -268
- 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.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 -122
- 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 -113
- 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 -132
- 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 -69
- 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__/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 -48
- 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 -28
- package/dist/server/kernel/job-queue.d.ts.map +0 -1
- package/dist/server/kernel/job-queue.js +0 -177
- package/dist/server/kernel/job-queue.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 -98
- 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 -408
- 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 -159
- 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.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 -43
- 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 -698
- package/dist/wallet/__tests__/wallet.service.test.js.map +0 -1
- package/turbo-generators/src/config.ts +0 -466
- 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 @@
|
|
|
1
|
+
{"version":3,"file":"redis-cache.int.test.js","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/redis-cache.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-rate-limiter.int.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/redis-rate-limiter.int.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { describe, it, expect, beforeAll, afterAll, beforeEach } from 'vitest';
|
|
2
|
+
import { createClient } from 'redis';
|
|
3
|
+
import { RedisRateLimiter } from '../redis-rate-limiter.js';
|
|
4
|
+
import { createTestRedis } from '@openora/core/testing';
|
|
5
|
+
const WINDOW = { limit: 3, windowMs: 5000 };
|
|
6
|
+
let redis;
|
|
7
|
+
function offlineLimiter() {
|
|
8
|
+
const client = createClient({ url: 'redis://localhost:6379' });
|
|
9
|
+
client.on('error', () => undefined);
|
|
10
|
+
return new RedisRateLimiter(client);
|
|
11
|
+
}
|
|
12
|
+
beforeAll(async () => {
|
|
13
|
+
redis = await createTestRedis();
|
|
14
|
+
});
|
|
15
|
+
afterAll(async () => {
|
|
16
|
+
await redis.quit();
|
|
17
|
+
});
|
|
18
|
+
beforeEach(async () => {
|
|
19
|
+
await redis.flush();
|
|
20
|
+
});
|
|
21
|
+
describe('RedisRateLimiter', () => {
|
|
22
|
+
it('allows up to the limit then denies, reporting a bounded back-off', async () => {
|
|
23
|
+
const limiter = new RedisRateLimiter(redis.client);
|
|
24
|
+
for (let i = 0; i < WINDOW.limit; i++) {
|
|
25
|
+
expect(await limiter.consume('login:a', WINDOW)).toEqual({ allowed: true, retryAfterMs: 0 });
|
|
26
|
+
}
|
|
27
|
+
const blocked = await limiter.consume('login:a', WINDOW);
|
|
28
|
+
expect(blocked.allowed).toBe(false);
|
|
29
|
+
expect(blocked.retryAfterMs).toBeGreaterThan(0);
|
|
30
|
+
expect(blocked.retryAfterMs).toBeLessThanOrEqual(WINDOW.windowMs);
|
|
31
|
+
});
|
|
32
|
+
it('sets the window expiry only on the first hit (subsequent hits reuse the TTL)', async () => {
|
|
33
|
+
const limiter = new RedisRateLimiter(redis.client);
|
|
34
|
+
await limiter.consume('login:a', WINDOW);
|
|
35
|
+
const firstTtl = await redis.client.pTTL('rl:login:a');
|
|
36
|
+
expect(firstTtl).toBeGreaterThan(0);
|
|
37
|
+
expect(firstTtl).toBeLessThanOrEqual(WINDOW.windowMs);
|
|
38
|
+
await limiter.consume('login:a', WINDOW);
|
|
39
|
+
const secondTtl = await redis.client.pTTL('rl:login:a');
|
|
40
|
+
// Second hit must NOT re-arm the window - the TTL only counts down.
|
|
41
|
+
expect(secondTtl).toBeLessThanOrEqual(firstTtl);
|
|
42
|
+
});
|
|
43
|
+
it('counts each key independently', async () => {
|
|
44
|
+
const limiter = new RedisRateLimiter(redis.client);
|
|
45
|
+
for (let i = 0; i < WINDOW.limit; i++) {
|
|
46
|
+
await limiter.consume('login:a', WINDOW);
|
|
47
|
+
}
|
|
48
|
+
expect((await limiter.consume('login:a', WINDOW)).allowed).toBe(false);
|
|
49
|
+
expect((await limiter.consume('login:b', WINDOW)).allowed).toBe(true);
|
|
50
|
+
});
|
|
51
|
+
it('fails open when the socket is not ready and the key does not opt into deny', async () => {
|
|
52
|
+
expect(await offlineLimiter().consume('login:a', WINDOW)).toEqual({
|
|
53
|
+
allowed: true,
|
|
54
|
+
retryAfterMs: 0,
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
it('fails closed with windowMs when not ready and the key opts into deny', async () => {
|
|
58
|
+
expect(await offlineLimiter().consume('login:a', { ...WINDOW, onUnavailable: 'deny' })).toEqual({ allowed: false, retryAfterMs: WINDOW.windowMs });
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
//# sourceMappingURL=redis-rate-limiter.int.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-rate-limiter.int.test.js","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/redis-rate-limiter.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-streams-broker.int.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/redis-streams-broker.int.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import { describe, it, expect, vi, beforeAll, afterEach, afterAll } from 'vitest';
|
|
2
|
+
import { randomUUID } from 'node:crypto';
|
|
3
|
+
import { RedisStreamsBroker } from '../redis-streams-broker.js';
|
|
4
|
+
import { createTestRedis, waitForConsumerGroup } from '@openora/core/testing';
|
|
5
|
+
let redis;
|
|
6
|
+
const brokers = [];
|
|
7
|
+
function makeBroker(serviceName) {
|
|
8
|
+
const broker = new RedisStreamsBroker(redis.client, { serviceName });
|
|
9
|
+
brokers.push(broker);
|
|
10
|
+
return broker;
|
|
11
|
+
}
|
|
12
|
+
// A fresh topic per test so streams/groups never leak between tests.
|
|
13
|
+
function uniqueTopic() {
|
|
14
|
+
return `test.${randomUUID()}`;
|
|
15
|
+
}
|
|
16
|
+
function streamOf(topic) {
|
|
17
|
+
return `oss:evt:${topic}`;
|
|
18
|
+
}
|
|
19
|
+
function makeEnvelope(topic) {
|
|
20
|
+
return {
|
|
21
|
+
eventId: randomUUID(),
|
|
22
|
+
topic,
|
|
23
|
+
payload: { ok: true },
|
|
24
|
+
occurredAt: '2026-01-01T00:00:00.000Z',
|
|
25
|
+
schemaVersion: 1,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
beforeAll(async () => {
|
|
29
|
+
redis = await createTestRedis();
|
|
30
|
+
});
|
|
31
|
+
afterEach(async () => {
|
|
32
|
+
await Promise.allSettled(brokers.map((b) => b.close()));
|
|
33
|
+
brokers.length = 0;
|
|
34
|
+
await redis.flush();
|
|
35
|
+
});
|
|
36
|
+
afterAll(async () => {
|
|
37
|
+
await redis.quit();
|
|
38
|
+
});
|
|
39
|
+
describe('RedisStreamsBroker', () => {
|
|
40
|
+
it('publish XADDs the serialized envelope to the topic stream', async () => {
|
|
41
|
+
const broker = makeBroker('svc');
|
|
42
|
+
const topic = uniqueTopic();
|
|
43
|
+
const envelope = makeEnvelope(topic);
|
|
44
|
+
await broker.publish(envelope);
|
|
45
|
+
const entries = await redis.client.xRange(streamOf(topic), '-', '+');
|
|
46
|
+
expect(entries).toHaveLength(1);
|
|
47
|
+
expect(JSON.parse(entries[0].message['data'])).toEqual(envelope);
|
|
48
|
+
});
|
|
49
|
+
it('coalesces two subscribers on one topic: both receive, the entry is ACKed', async () => {
|
|
50
|
+
const broker = makeBroker('wallet-svc');
|
|
51
|
+
const topic = uniqueTopic();
|
|
52
|
+
const seen1 = [];
|
|
53
|
+
const seen2 = [];
|
|
54
|
+
broker.subscribe(topic, (e) => {
|
|
55
|
+
seen1.push(e);
|
|
56
|
+
});
|
|
57
|
+
broker.subscribe(topic, (e) => {
|
|
58
|
+
seen2.push(e);
|
|
59
|
+
});
|
|
60
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'wallet-svc' });
|
|
61
|
+
const envelope = makeEnvelope(topic);
|
|
62
|
+
await broker.publish(envelope);
|
|
63
|
+
await vi.waitFor(() => {
|
|
64
|
+
expect(seen1).toEqual([envelope]);
|
|
65
|
+
expect(seen2).toEqual([envelope]);
|
|
66
|
+
});
|
|
67
|
+
await vi.waitFor(async () => {
|
|
68
|
+
const pending = await redis.client.xPending(streamOf(topic), 'wallet-svc');
|
|
69
|
+
expect(pending.pending).toBe(0);
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
it('uses the service name as the default consumer group', async () => {
|
|
73
|
+
const broker = makeBroker('wallet-svc');
|
|
74
|
+
const topic = uniqueTopic();
|
|
75
|
+
broker.subscribe(topic, () => undefined);
|
|
76
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'wallet-svc' });
|
|
77
|
+
const groups = await redis.client.xInfoGroups(streamOf(topic));
|
|
78
|
+
expect(groups.map((g) => g.name)).toEqual(['wallet-svc']);
|
|
79
|
+
});
|
|
80
|
+
it('opts.consumerGroup starts a second group that also receives the event', async () => {
|
|
81
|
+
const broker = makeBroker('wallet-svc');
|
|
82
|
+
const topic = uniqueTopic();
|
|
83
|
+
const seenDefault = [];
|
|
84
|
+
const seenCustom = [];
|
|
85
|
+
broker.subscribe(topic, (e) => {
|
|
86
|
+
seenDefault.push(e);
|
|
87
|
+
});
|
|
88
|
+
broker.subscribe(topic, (e) => {
|
|
89
|
+
seenCustom.push(e);
|
|
90
|
+
}, { consumerGroup: 'analytics' });
|
|
91
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'wallet-svc' });
|
|
92
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'analytics' });
|
|
93
|
+
const envelope = makeEnvelope(topic);
|
|
94
|
+
await broker.publish(envelope);
|
|
95
|
+
await vi.waitFor(() => {
|
|
96
|
+
expect(seenDefault).toEqual([envelope]);
|
|
97
|
+
expect(seenCustom).toEqual([envelope]);
|
|
98
|
+
});
|
|
99
|
+
const groups = await redis.client.xInfoGroups(streamOf(topic));
|
|
100
|
+
expect(groups.map((g) => g.name).sort()).toEqual(['analytics', 'wallet-svc']);
|
|
101
|
+
});
|
|
102
|
+
it('unsubscribe stops delivery to that handler', async () => {
|
|
103
|
+
const broker = makeBroker('svc');
|
|
104
|
+
const topic = uniqueTopic();
|
|
105
|
+
const seen1 = [];
|
|
106
|
+
const seen2 = [];
|
|
107
|
+
const unsubscribe1 = broker.subscribe(topic, (e) => {
|
|
108
|
+
seen1.push(e);
|
|
109
|
+
});
|
|
110
|
+
broker.subscribe(topic, (e) => {
|
|
111
|
+
seen2.push(e);
|
|
112
|
+
});
|
|
113
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'svc' });
|
|
114
|
+
unsubscribe1();
|
|
115
|
+
const envelope = makeEnvelope(topic);
|
|
116
|
+
await broker.publish(envelope);
|
|
117
|
+
await vi.waitFor(() => expect(seen2).toEqual([envelope]));
|
|
118
|
+
expect(seen1).toEqual([]);
|
|
119
|
+
});
|
|
120
|
+
it('close stops the read loop so a later publish is not delivered', async () => {
|
|
121
|
+
const broker = makeBroker('svc');
|
|
122
|
+
const topic = uniqueTopic();
|
|
123
|
+
const seen = [];
|
|
124
|
+
broker.subscribe(topic, (e) => {
|
|
125
|
+
seen.push(e);
|
|
126
|
+
});
|
|
127
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'svc' });
|
|
128
|
+
await broker.close();
|
|
129
|
+
await broker.publish(makeEnvelope(topic));
|
|
130
|
+
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
131
|
+
expect(seen).toEqual([]);
|
|
132
|
+
expect(await redis.client.xLen(streamOf(topic))).toBe(1);
|
|
133
|
+
});
|
|
134
|
+
it('two instances sharing a service name split events: exactly one handles each', async () => {
|
|
135
|
+
const topic = uniqueTopic();
|
|
136
|
+
const seenA = [];
|
|
137
|
+
const seenB = [];
|
|
138
|
+
makeBroker('svc').subscribe(topic, (e) => {
|
|
139
|
+
seenA.push(e);
|
|
140
|
+
});
|
|
141
|
+
makeBroker('svc').subscribe(topic, (e) => {
|
|
142
|
+
seenB.push(e);
|
|
143
|
+
});
|
|
144
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'svc' });
|
|
145
|
+
const envelope = makeEnvelope(topic);
|
|
146
|
+
await brokers[0].publish(envelope);
|
|
147
|
+
await vi.waitFor(() => expect(seenA.length + seenB.length).toBe(1));
|
|
148
|
+
// Give the other instance a beat to (wrongly) double-deliver - it must not.
|
|
149
|
+
await new Promise((resolve) => setTimeout(resolve, 150));
|
|
150
|
+
expect(seenA.length + seenB.length).toBe(1);
|
|
151
|
+
});
|
|
152
|
+
it('two instances with different service names both handle the event', async () => {
|
|
153
|
+
const topic = uniqueTopic();
|
|
154
|
+
const seenA = [];
|
|
155
|
+
const seenB = [];
|
|
156
|
+
makeBroker('svc-a').subscribe(topic, (e) => {
|
|
157
|
+
seenA.push(e);
|
|
158
|
+
});
|
|
159
|
+
makeBroker('svc-b').subscribe(topic, (e) => {
|
|
160
|
+
seenB.push(e);
|
|
161
|
+
});
|
|
162
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'svc-a' });
|
|
163
|
+
await waitForConsumerGroup(redis.client, { stream: streamOf(topic), group: 'svc-b' });
|
|
164
|
+
const envelope = makeEnvelope(topic);
|
|
165
|
+
await brokers[0].publish(envelope);
|
|
166
|
+
await vi.waitFor(() => {
|
|
167
|
+
expect(seenA).toEqual([envelope]);
|
|
168
|
+
expect(seenB).toEqual([envelope]);
|
|
169
|
+
});
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
//# sourceMappingURL=redis-streams-broker.int.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"redis-streams-broker.int.test.js","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/redis-streams-broker.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/request-context.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { withRequestContext, getCurrentRequestContext, getCurrentTraceId, getCurrentClientMeta, } from '../request-context.js';
|
|
3
|
+
const CLIENT_META = { ip: '203.0.113.7', userAgent: 'curl/8.4.0' };
|
|
4
|
+
const CONTEXT = { userId: 'user-1', traceId: 'trace-1', clientMeta: CLIENT_META };
|
|
5
|
+
describe('request context outside a request', () => {
|
|
6
|
+
it('has no context', () => {
|
|
7
|
+
expect(getCurrentRequestContext()).toBeUndefined();
|
|
8
|
+
});
|
|
9
|
+
it('has no trace id', () => {
|
|
10
|
+
expect(getCurrentTraceId()).toBeUndefined();
|
|
11
|
+
});
|
|
12
|
+
it('reports empty client meta rather than throwing on a background path', () => {
|
|
13
|
+
expect(getCurrentClientMeta()).toEqual({ ip: null, userAgent: null });
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe('withRequestContext', () => {
|
|
17
|
+
it('exposes the context to everything it wraps', () => {
|
|
18
|
+
withRequestContext(CONTEXT, () => {
|
|
19
|
+
expect(getCurrentRequestContext()).toEqual(CONTEXT);
|
|
20
|
+
expect(getCurrentTraceId()).toBe('trace-1');
|
|
21
|
+
expect(getCurrentClientMeta()).toEqual(CLIENT_META);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
it('returns whatever the wrapped function returns', () => {
|
|
25
|
+
expect(withRequestContext(CONTEXT, () => 'result')).toBe('result');
|
|
26
|
+
});
|
|
27
|
+
it('tears the context down once the call finishes', () => {
|
|
28
|
+
withRequestContext(CONTEXT, () => getCurrentTraceId());
|
|
29
|
+
expect(getCurrentRequestContext()).toBeUndefined();
|
|
30
|
+
});
|
|
31
|
+
it('tears the context down even when the wrapped function throws', () => {
|
|
32
|
+
expect(() => withRequestContext(CONTEXT, () => {
|
|
33
|
+
throw new Error('boom');
|
|
34
|
+
})).toThrow('boom');
|
|
35
|
+
expect(getCurrentRequestContext()).toBeUndefined();
|
|
36
|
+
});
|
|
37
|
+
it('survives an await boundary inside the request', async () => {
|
|
38
|
+
await withRequestContext(CONTEXT, async () => {
|
|
39
|
+
await Promise.resolve();
|
|
40
|
+
expect(getCurrentTraceId()).toBe('trace-1');
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
it('keeps concurrent requests from seeing each other traces', async () => {
|
|
44
|
+
const traceAfterDelay = (traceId) => withRequestContext({ traceId }, async () => {
|
|
45
|
+
await new Promise((resolve) => setTimeout(resolve, 5));
|
|
46
|
+
return getCurrentTraceId();
|
|
47
|
+
});
|
|
48
|
+
expect(await Promise.all([traceAfterDelay('a'), traceAfterDelay('b')])).toEqual(['a', 'b']);
|
|
49
|
+
});
|
|
50
|
+
it('lets an inner request shadow the outer one and restores it after', () => {
|
|
51
|
+
withRequestContext(CONTEXT, () => {
|
|
52
|
+
withRequestContext({ traceId: 'inner' }, () => {
|
|
53
|
+
expect(getCurrentTraceId()).toBe('inner');
|
|
54
|
+
});
|
|
55
|
+
expect(getCurrentTraceId()).toBe('trace-1');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
it('falls back to empty client meta when the request carries none', () => {
|
|
59
|
+
withRequestContext({ traceId: 'trace-2' }, () => {
|
|
60
|
+
expect(getCurrentClientMeta()).toEqual({ ip: null, userAgent: null });
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
//# sourceMappingURL=request-context.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-context.test.js","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/request-context.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-utils.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/router-utils.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { ORPCError } from '@orpc/server';
|
|
3
|
+
import { getUserId, extractClientMeta } from '../router-utils.js';
|
|
4
|
+
const withRequest = (extra = {}) => ({
|
|
5
|
+
request: { headers: {} },
|
|
6
|
+
...extra,
|
|
7
|
+
});
|
|
8
|
+
const reasonOf = (fn) => {
|
|
9
|
+
try {
|
|
10
|
+
fn();
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
return err.data.reason;
|
|
14
|
+
}
|
|
15
|
+
throw new Error('expected getUserId to throw');
|
|
16
|
+
};
|
|
17
|
+
describe('getUserId', () => {
|
|
18
|
+
it('returns the resolved caller id', () => {
|
|
19
|
+
expect(getUserId(withRequest({ auth: { userId: 'user-1' } }))).toBe('user-1');
|
|
20
|
+
});
|
|
21
|
+
it.each([
|
|
22
|
+
['undefined', undefined],
|
|
23
|
+
['null', null],
|
|
24
|
+
['a primitive', 'not-a-context'],
|
|
25
|
+
['an object without request', { auth: { userId: 'user-1' } }],
|
|
26
|
+
['a context whose request is not an object', { request: 'GET /' }],
|
|
27
|
+
])('rejects %s as a missing request context', (_label, context) => {
|
|
28
|
+
expect(reasonOf(() => getUserId(context))).toBe('missing_request_context');
|
|
29
|
+
});
|
|
30
|
+
it.each([
|
|
31
|
+
['no auth at all', withRequest()],
|
|
32
|
+
['an auth without a userId', withRequest({ auth: {} })],
|
|
33
|
+
['an empty userId', withRequest({ auth: { userId: '' } })],
|
|
34
|
+
])('rejects %s as unauthenticated', (_label, context) => {
|
|
35
|
+
expect(reasonOf(() => getUserId(context))).toBe('authentication_required');
|
|
36
|
+
});
|
|
37
|
+
it('throws UNAUTHORIZED rather than a bare Error', () => {
|
|
38
|
+
expect(() => getUserId(undefined)).toThrow(ORPCError);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('extractClientMeta', () => {
|
|
42
|
+
const meta = (headers) => extractClientMeta(headers);
|
|
43
|
+
const trusted = (headers) => extractClientMeta(headers, { trustForwarded: true });
|
|
44
|
+
it('ignores x-forwarded-for without a trusted proxy boundary', () => {
|
|
45
|
+
expect(meta({ 'x-forwarded-for': '203.0.113.7' }).ip).toBeNull();
|
|
46
|
+
});
|
|
47
|
+
it('ignores a spoofed x-forwarded-for in favour of x-real-ip', () => {
|
|
48
|
+
expect(meta({ 'x-forwarded-for': '203.0.113.7', 'x-real-ip': '198.51.100.4' }).ip).toBe('198.51.100.4');
|
|
49
|
+
});
|
|
50
|
+
it('reads a single x-forwarded-for entry when forwarding is trusted', () => {
|
|
51
|
+
expect(trusted({ 'x-forwarded-for': '203.0.113.7' }).ip).toBe('203.0.113.7');
|
|
52
|
+
});
|
|
53
|
+
it('takes the leftmost hop of a proxy chain and trims it', () => {
|
|
54
|
+
expect(trusted({ 'x-forwarded-for': ' 203.0.113.7 , 10.0.0.1, 10.0.0.2' }).ip).toBe('203.0.113.7');
|
|
55
|
+
});
|
|
56
|
+
it('takes the first value when the header arrives repeated', () => {
|
|
57
|
+
expect(trusted({ 'x-forwarded-for': ['203.0.113.7', '198.51.100.4'] }).ip).toBe('203.0.113.7');
|
|
58
|
+
});
|
|
59
|
+
it('falls back to x-real-ip when x-forwarded-for is absent', () => {
|
|
60
|
+
expect(trusted({ 'x-real-ip': '198.51.100.4' }).ip).toBe('198.51.100.4');
|
|
61
|
+
});
|
|
62
|
+
it('falls back to x-real-ip when x-forwarded-for is empty', () => {
|
|
63
|
+
expect(trusted({ 'x-forwarded-for': '', 'x-real-ip': '198.51.100.4' }).ip).toBe('198.51.100.4');
|
|
64
|
+
});
|
|
65
|
+
it('prefers x-forwarded-for over x-real-ip when forwarding is trusted', () => {
|
|
66
|
+
expect(trusted({ 'x-forwarded-for': '203.0.113.7', 'x-real-ip': '198.51.100.4' }).ip).toBe('203.0.113.7');
|
|
67
|
+
});
|
|
68
|
+
it('reads the first x-real-ip when that header arrives repeated', () => {
|
|
69
|
+
expect(meta({ 'x-real-ip': ['198.51.100.4', '198.51.100.9'] }).ip).toBe('198.51.100.4');
|
|
70
|
+
});
|
|
71
|
+
it('carries the user agent through', () => {
|
|
72
|
+
expect(meta({ 'user-agent': 'curl/8.4.0' }).userAgent).toBe('curl/8.4.0');
|
|
73
|
+
});
|
|
74
|
+
it('takes the first user agent when the header arrives repeated', () => {
|
|
75
|
+
expect(meta({ 'user-agent': ['curl/8.4.0', 'wget'] }).userAgent).toBe('curl/8.4.0');
|
|
76
|
+
});
|
|
77
|
+
it('returns nulls rather than undefined for an empty header bag', () => {
|
|
78
|
+
expect(meta({})).toEqual({ ip: null, userAgent: null });
|
|
79
|
+
});
|
|
80
|
+
it('returns nulls when the headers are present but undefined', () => {
|
|
81
|
+
expect(meta({ 'x-forwarded-for': undefined, 'user-agent': undefined })).toEqual({
|
|
82
|
+
ip: null,
|
|
83
|
+
userAgent: null,
|
|
84
|
+
});
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
//# sourceMappingURL=router-utils.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-utils.test.js","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/router-utils.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAoB,MAAM,oBAAoB,CAAC;AAEpF,MAAM,WAAW,GAAG,CAAC,QAAiC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;IACxB,GAAG,KAAK;CACT,CAAC,CAAC;AAEH,MAAM,QAAQ,GAAG,CAAC,EAAiB,EAAE,EAAE;IACrC,IAAI,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAQ,GAA6C,CAAC,IAAI,CAAC,MAAM,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,WAAW,EAAE,SAAS,CAAC;QACxB,CAAC,MAAM,EAAE,IAAI,CAAC;QACd,CAAC,aAAa,EAAE,eAAe,CAAC;QAChC,CAAC,2BAA2B,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC7D,CAAC,0CAA0C,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;KACnE,CAAC,CAAC,yCAAyC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN,CAAC,gBAAgB,EAAE,WAAW,EAAE,CAAC;QACjC,CAAC,0BAA0B,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC,iBAAiB,EAAE,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;KAC3D,CAAC,CAAC,+BAA+B,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;QACtD,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,MAAM,IAAI,GAAG,CAAC,OAAoB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,OAAO,GAAG,CAAC,OAAoB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;IAE/F,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CACrF,cAAc,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,mCAAmC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CACjF,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,MAAM,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,CAAC,OAAO,CAAC,EAAE,iBAAiB,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CACxF,aAAa,CACd,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,IAAI,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9E,EAAE,EAAE,IAAI;YACR,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import type { JobQueueAdapter, QueueName, EnqueueOptions, RepeatOptions, WorkerRegistration } from '@openora/core/contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Durable `JOB_QUEUE` reference driver, auto-bound by `createApp` when
|
|
4
|
+
* `REDIS_URL` is set - jobs survive a process restart and `cron`/`everyMs`
|
|
5
|
+
* schedules run for real. `idempotencyKey` maps to the BullMQ `jobId`, so
|
|
6
|
+
* BullMQ itself dedupes concurrent enqueues. `orderingKey` is NOT honoured
|
|
7
|
+
* (OSS BullMQ has no per-key ordering groups) - jobs run unordered regardless
|
|
8
|
+
* of the key, so every handler must be idempotent under any interleaving, not
|
|
9
|
+
* just under retries. The `'failed'` listener only triggers the dead-letter
|
|
10
|
+
* hook once `attemptsMade` reaches the job's own `attempts` (default 1) -
|
|
11
|
+
* intermediate retry failures are silent by design. `close()` closes workers
|
|
12
|
+
* before queues so in-flight jobs drain first.
|
|
13
|
+
*/
|
|
2
14
|
export declare class BullMqJobQueue implements JobQueueAdapter {
|
|
3
15
|
private readonly logger;
|
|
4
16
|
private readonly connection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullmq-job-queue.d.ts","sourceRoot":"","sources":["../../../src/server/kernel/bullmq-job-queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,aAAa,EAEb,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"bullmq-job-queue.d.ts","sourceRoot":"","sources":["../../../src/server/kernel/bullmq-job-queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,SAAS,EACT,cAAc,EACd,aAAa,EAEb,kBAAkB,EACnB,MAAM,yBAAyB,CAAC;AAwCjC;;;;;;;;;;;GAWG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqB;gBAExC,QAAQ,EAAE,MAAM;IAK5B,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAiC5F,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,IAAI;IAqC5D,QAAQ,CAAC,CAAC,EACR,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,IAAI,CAAC;IAWhB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,OAAO,CAAC,QAAQ;YAUF,UAAU;CAwBzB"}
|
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
import { Queue, Worker } from 'bullmq';
|
|
2
2
|
import { createLogger } from './logger.js';
|
|
3
|
+
// BullMQ's default behavior is to retain every completed/failed job forever. Combined
|
|
4
|
+
// with `jobId` (`idempotencyKey`) dedup, that means an id can NEVER be reused - "add a
|
|
5
|
+
// job with an id that already exists" is silently a no-op regardless of how long ago or
|
|
6
|
+
// how differently the world has moved on since the earlier job with that id ran. A
|
|
7
|
+
// caller who legitimately re-derives the SAME idempotencyKey for a genuinely new unit of
|
|
8
|
+
// work (eg a status-and-reference-keyed sync job re-firing after an intervening
|
|
9
|
+
// different decision) would have that later, real job dropped forever with no error.
|
|
10
|
+
// Bounding retention lets BullMQ evict old completed/failed jobs so the id becomes
|
|
11
|
+
// reusable again - a systemic safety net for every queue on this driver, not just one
|
|
12
|
+
// caller's workaround. This does not replace an idempotencyKey scheme that makes
|
|
13
|
+
// dedup-vs-genuinely-new unambiguous in the first place (see compliance's
|
|
14
|
+
// `kyc-decision-sync` for that) - it only bounds unlimited Redis growth and stops a
|
|
15
|
+
// dedup key from becoming permanently poisoned.
|
|
16
|
+
const RETAIN_COMPLETED = { age: 24 * 60 * 60, count: 10_000 };
|
|
17
|
+
const RETAIN_FAILED = { age: 7 * 24 * 60 * 60, count: 10_000 };
|
|
18
|
+
// BullMQ reserves ':' as its Redis key separator and rejects an all-digit id, so an
|
|
19
|
+
// `idempotencyKey` is percent-encoded into a safe job id. The encoding is injective -
|
|
20
|
+
// two distinct keys can never collapse onto one job id and silently dedupe apart.
|
|
21
|
+
function toJobId(idempotencyKey) {
|
|
22
|
+
const encoded = idempotencyKey.replaceAll('%', '%25').replaceAll(':', '%3A');
|
|
23
|
+
return /^\d+$/.test(encoded) ? `key-${encoded}` : encoded;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Durable `JOB_QUEUE` reference driver, auto-bound by `createApp` when
|
|
27
|
+
* `REDIS_URL` is set - jobs survive a process restart and `cron`/`everyMs`
|
|
28
|
+
* schedules run for real. `idempotencyKey` maps to the BullMQ `jobId`, so
|
|
29
|
+
* BullMQ itself dedupes concurrent enqueues. `orderingKey` is NOT honoured
|
|
30
|
+
* (OSS BullMQ has no per-key ordering groups) - jobs run unordered regardless
|
|
31
|
+
* of the key, so every handler must be idempotent under any interleaving, not
|
|
32
|
+
* just under retries. The `'failed'` listener only triggers the dead-letter
|
|
33
|
+
* hook once `attemptsMade` reaches the job's own `attempts` (default 1) -
|
|
34
|
+
* intermediate retry failures are silent by design. `close()` closes workers
|
|
35
|
+
* before queues so in-flight jobs drain first.
|
|
36
|
+
*/
|
|
3
37
|
export class BullMqJobQueue {
|
|
4
38
|
logger = createLogger('bullmq-job-queue');
|
|
5
39
|
connection;
|
|
@@ -23,13 +57,14 @@ export class BullMqJobQueue {
|
|
|
23
57
|
meta: { ...opts.meta, idempotencyKey: opts.idempotencyKey },
|
|
24
58
|
};
|
|
25
59
|
const jobOpts = {
|
|
26
|
-
|
|
27
|
-
jobId: opts.idempotencyKey,
|
|
60
|
+
jobId: opts.idempotencyKey ? toJobId(opts.idempotencyKey) : undefined,
|
|
28
61
|
delay: opts.delayMs,
|
|
29
62
|
attempts: opts.attempts,
|
|
30
63
|
backoff: opts.backoff ? { type: opts.backoff.type, delay: opts.backoff.delayMs } : undefined,
|
|
31
64
|
priority: opts.priority,
|
|
32
65
|
// ttlMs has no native BullMQ equivalent - ignored (the port allows driver variance).
|
|
66
|
+
removeOnComplete: RETAIN_COMPLETED,
|
|
67
|
+
removeOnFail: RETAIN_FAILED,
|
|
33
68
|
};
|
|
34
69
|
return this.getQueue(queue)
|
|
35
70
|
.add(queue, envelope, jobOpts)
|
|
@@ -54,11 +89,13 @@ export class BullMqJobQueue {
|
|
|
54
89
|
// 'failed' fires per attempt; act only once retries are exhausted (attemptsMade has
|
|
55
90
|
// reached the job's own attempts, default 1) - mirrors the in-process dead-letter.
|
|
56
91
|
worker.on('failed', (job, error) => {
|
|
57
|
-
if (!job)
|
|
92
|
+
if (!job) {
|
|
58
93
|
return;
|
|
94
|
+
}
|
|
59
95
|
const maxAttempts = job.opts.attempts ?? 1;
|
|
60
|
-
if (job.attemptsMade < maxAttempts)
|
|
96
|
+
if (job.attemptsMade < maxAttempts) {
|
|
61
97
|
return;
|
|
98
|
+
}
|
|
62
99
|
void this.deadLetter(reg, job, error);
|
|
63
100
|
});
|
|
64
101
|
this.workers.push(worker);
|
|
@@ -82,8 +119,9 @@ export class BullMqJobQueue {
|
|
|
82
119
|
}
|
|
83
120
|
getQueue(queue) {
|
|
84
121
|
const existing = this.queues.get(queue);
|
|
85
|
-
if (existing)
|
|
122
|
+
if (existing) {
|
|
86
123
|
return existing;
|
|
124
|
+
}
|
|
87
125
|
const created = new Queue(queue, { connection: this.connection });
|
|
88
126
|
this.queues.set(queue, created);
|
|
89
127
|
return created;
|
|
@@ -97,13 +135,13 @@ export class BullMqJobQueue {
|
|
|
97
135
|
enqueuedAt: new Date(job.timestamp),
|
|
98
136
|
meta: job.data.meta,
|
|
99
137
|
};
|
|
100
|
-
this.logger.error({ queue: ctx.name, jobId: ctx.id, attempt: ctx.attempt, err: error
|
|
138
|
+
this.logger.error({ queue: ctx.name, jobId: ctx.id, attempt: ctx.attempt, err: error }, '[bullmq-job-queue] job exhausted retries -> dead-letter');
|
|
101
139
|
if (worker.onDeadLetter) {
|
|
102
140
|
try {
|
|
103
141
|
await worker.onDeadLetter(ctx, error);
|
|
104
142
|
}
|
|
105
143
|
catch (hookErr) {
|
|
106
|
-
this.logger.error({ queue: ctx.name, jobId: ctx.id, err:
|
|
144
|
+
this.logger.error({ queue: ctx.name, jobId: ctx.id, err: hookErr }, '[bullmq-job-queue] onDeadLetter hook threw');
|
|
107
145
|
}
|
|
108
146
|
}
|
|
109
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullmq-job-queue.js","sourceRoot":"","sources":["../../../src/server/kernel/bullmq-job-queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAsD,MAAM,QAAQ,CAAC;AAS3F,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"bullmq-job-queue.js","sourceRoot":"","sources":["../../../src/server/kernel/bullmq-job-queue.ts"],"names":[],"mappings":"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"}
|