@openora/core 0.4.1-canary.57 → 0.4.1-canary.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/dist/.tsbuildinfo +1 -1
- package/dist/admin-console/plugin.d.ts +107 -1
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/admin-console/plugin.js +3 -3
- package/dist/admin-console/plugin.js.map +1 -1
- package/dist/analytics/plugin.d.ts +107 -1
- package/dist/analytics/plugin.d.ts.map +1 -1
- package/dist/analytics/plugin.js +3 -3
- package/dist/analytics/plugin.js.map +1 -1
- package/dist/audit/plugin.d.ts +106 -1
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +3 -3
- package/dist/audit/plugin.js.map +1 -1
- package/dist/casino/gaming/plugin.d.ts +108 -1
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/gaming/plugin.js +3 -3
- package/dist/casino/gaming/plugin.js.map +1 -1
- package/dist/casino/lobby/plugin.d.ts +106 -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/cms/plugin.d.ts +106 -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/compliance/plugin.d.ts +109 -1
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.js +3 -3
- package/dist/compliance/plugin.js.map +1 -1
- package/dist/compliance/service/kyc.service.d.ts +8 -11
- package/dist/compliance/service/kyc.service.d.ts.map +1 -1
- package/dist/compliance/service/kyc.service.js +8 -11
- package/dist/compliance/service/kyc.service.js.map +1 -1
- package/dist/contracts/adapters/admin-game-reporting.d.ts +12 -0
- package/dist/contracts/adapters/admin-game-reporting.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-game-reporting.js +6 -4
- package/dist/contracts/adapters/admin-game-reporting.js.map +1 -1
- 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 +22 -0
- package/dist/contracts/adapters/admin-player-activity.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-player-activity.js.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.d.ts +27 -0
- package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
- package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
- package/dist/contracts/adapters/admin-wallet-reporting.d.ts +6 -0
- package/dist/contracts/adapters/admin-wallet-reporting.d.ts.map +1 -1
- 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 +17 -0
- 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 +8 -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 +4 -0
- package/dist/contracts/adapters/chat-block-writer.d.ts.map +1 -1
- package/dist/contracts/adapters/chat-block-writer.js.map +1 -1
- package/dist/contracts/adapters/email-template.d.ts +8 -0
- package/dist/contracts/adapters/email-template.d.ts.map +1 -1
- package/dist/contracts/adapters/email-template.js +8 -6
- package/dist/contracts/adapters/email-template.js.map +1 -1
- 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/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-ip.d.ts +4 -0
- package/dist/contracts/adapters/geo-ip.d.ts.map +1 -1
- package/dist/contracts/adapters/geo-ip.js +4 -2
- package/dist/contracts/adapters/geo-ip.js.map +1 -1
- package/dist/contracts/adapters/identity.d.ts +4 -0
- package/dist/contracts/adapters/identity.d.ts.map +1 -1
- package/dist/contracts/adapters/identity.js +4 -2
- package/dist/contracts/adapters/identity.js.map +1 -1
- package/dist/contracts/adapters/index.d.ts +7 -1
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +6 -4
- 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/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 +5 -0
- package/dist/contracts/adapters/payment.d.ts.map +1 -1
- package/dist/contracts/adapters/payment.js +5 -3
- package/dist/contracts/adapters/payment.js.map +1 -1
- package/dist/contracts/adapters/player-tags.d.ts +4 -0
- package/dist/contracts/adapters/player-tags.d.ts.map +1 -1
- package/dist/contracts/adapters/player-tags.js.map +1 -1
- package/dist/contracts/adapters/rate-limit.d.ts +17 -0
- package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
- package/dist/contracts/adapters/rate-limit.js +9 -6
- package/dist/contracts/adapters/rate-limit.js.map +1 -1
- package/dist/contracts/adapters/realtime.d.ts +90 -3
- package/dist/contracts/adapters/realtime.d.ts.map +1 -1
- package/dist/contracts/adapters/realtime.js +24 -22
- 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 +6 -0
- package/dist/contracts/adapters/sms.d.ts.map +1 -1
- package/dist/contracts/adapters/sms.js +6 -4
- package/dist/contracts/adapters/sms.js.map +1 -1
- package/dist/contracts/adapters/tag-evaluation-commands.d.ts +10 -0
- package/dist/contracts/adapters/tag-evaluation-commands.d.ts.map +1 -1
- package/dist/contracts/adapters/tag-evaluation-commands.js +10 -8
- package/dist/contracts/adapters/tag-evaluation-commands.js.map +1 -1
- package/dist/contracts/adapters/token.d.ts +21 -1
- package/dist/contracts/adapters/token.d.ts.map +1 -1
- package/dist/contracts/adapters/token.js +6 -4
- package/dist/contracts/adapters/token.js.map +1 -1
- package/dist/contracts/adapters/wallet-commands.d.ts +4 -0
- package/dist/contracts/adapters/wallet-commands.d.ts.map +1 -1
- package/dist/contracts/adapters/wallet-commands.js.map +1 -1
- package/dist/contracts/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/engagement/chat/plugin.d.ts +107 -1
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat/plugin.js +3 -3
- package/dist/engagement/chat/plugin.js.map +1 -1
- package/dist/engagement/chat-commands/plugin.d.ts +107 -1
- package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
- package/dist/engagement/chat-commands/plugin.js +3 -3
- package/dist/engagement/chat-commands/plugin.js.map +1 -1
- package/dist/engagement/notifications/plugin.d.ts +108 -1
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.js +3 -3
- package/dist/engagement/notifications/plugin.js.map +1 -1
- package/dist/iam/__tests__/iam.service.int.test.js +49 -1
- package/dist/iam/__tests__/iam.service.int.test.js.map +1 -1
- package/dist/iam/contract/index.d.ts +10 -0
- package/dist/iam/contract/index.d.ts.map +1 -1
- package/dist/iam/contract/index.js +4 -0
- package/dist/iam/contract/index.js.map +1 -1
- package/dist/iam/plugin.d.ts +107 -1
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/iam/plugin.js +5 -5
- package/dist/iam/plugin.js.map +1 -1
- package/dist/iam/router/index.d.ts +10 -0
- package/dist/iam/router/index.d.ts.map +1 -1
- package/dist/iam/router/index.js +4 -0
- package/dist/iam/router/index.js.map +1 -1
- package/dist/iam/service/iam.service.d.ts +11 -3
- package/dist/iam/service/iam.service.d.ts.map +1 -1
- package/dist/iam/service/iam.service.js +20 -1
- package/dist/iam/service/iam.service.js.map +1 -1
- package/dist/pam/identity/plugin.d.ts +106 -1
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/identity/plugin.js +3 -3
- package/dist/pam/identity/plugin.js.map +1 -1
- package/dist/pam/player-management/plugin.d.ts +107 -1
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.js +3 -3
- package/dist/pam/player-management/plugin.js.map +1 -1
- package/dist/pam/player-management/service/kyc-status-writer.d.ts +1 -1
- package/dist/pam/player-management/service/kyc-status-writer.js +1 -1
- package/dist/pam/player-note/plugin.d.ts +106 -1
- package/dist/pam/player-note/plugin.d.ts.map +1 -1
- package/dist/pam/player-note/plugin.js +3 -3
- package/dist/pam/player-note/plugin.js.map +1 -1
- package/dist/pam/profile/plugin.d.ts +106 -1
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.js +3 -3
- package/dist/pam/profile/plugin.js.map +1 -1
- package/dist/pam/tag/plugin.d.ts +107 -1
- package/dist/pam/tag/plugin.d.ts.map +1 -1
- package/dist/pam/tag/plugin.js +3 -3
- package/dist/pam/tag/plugin.js.map +1 -1
- package/dist/server/kernel/container.d.ts +6 -7
- package/dist/server/kernel/container.d.ts.map +1 -1
- package/dist/server/kernel/container.js +3 -0
- package/dist/server/kernel/container.js.map +1 -1
- package/dist/server/plugin-host/__tests__/core-plugins.test.js +1 -1
- package/dist/server/plugin-host/__tests__/core-plugins.test.js.map +1 -1
- package/dist/server/plugin-host/__tests__/load-plugins.test.js +10 -1
- package/dist/server/plugin-host/__tests__/load-plugins.test.js.map +1 -1
- 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.js +56 -17
- package/dist/server/plugin-host/__tests__/typed-plugin.test.js.map +1 -1
- package/dist/server/plugin-host/core-plugins.js +19 -19
- package/dist/server/plugin-host/core-plugins.js.map +1 -1
- package/dist/server/plugin-host/define-plugin.d.ts +20 -21
- package/dist/server/plugin-host/define-plugin.d.ts.map +1 -1
- package/dist/server/plugin-host/define-plugin.js +1 -8
- package/dist/server/plugin-host/define-plugin.js.map +1 -1
- package/dist/server/plugin-host/index.d.ts +2 -3
- package/dist/server/plugin-host/index.d.ts.map +1 -1
- package/dist/server/plugin-host/index.js +1 -2
- package/dist/server/plugin-host/index.js.map +1 -1
- package/dist/server/plugin-host/load-plugins.d.ts +6 -21
- package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
- package/dist/server/plugin-host/load-plugins.js +9 -4
- package/dist/server/plugin-host/load-plugins.js.map +1 -1
- package/dist/server/plugin-host/module-registry.d.ts +8 -13
- package/dist/server/plugin-host/module-registry.d.ts.map +1 -1
- package/dist/server/plugin-host/module-registry.js +2 -9
- package/dist/server/plugin-host/module-registry.js.map +1 -1
- package/dist/server/runtime/__tests__/create-app.test.js +8 -3
- package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
- package/dist/server/runtime/core-token-catalog.d.ts +106 -0
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -0
- package/dist/server/runtime/core-token-catalog.js +53 -0
- package/dist/server/runtime/core-token-catalog.js.map +1 -0
- package/dist/server/runtime/create-app.d.ts +3 -14
- package/dist/server/runtime/create-app.d.ts.map +1 -1
- package/dist/server/runtime/create-app.js +13 -17
- 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/wallet/plugin.d.ts +107 -1
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +3 -3
- package/dist/wallet/plugin.js.map +1 -1
- package/generators/src/config.ts +1 -28
- package/generators/src/templates/adapter.hbs +3 -3
- package/generators/src/templates/contract.hbs +1 -1
- package/generators/src/templates/job-worker.hbs +3 -3
- package/generators/src/templates/module/plugin.hbs +4 -3
- package/generators/src/templates/plugin.hbs +3 -3
- package/package.json +1 -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/generators/src/templates/module/agents.hbs +0 -17
|
@@ -70,7 +70,7 @@ export declare class KycVerificationService {
|
|
|
70
70
|
* call is about to persist (`opts.checks`, falling back to the existing row's `checks`
|
|
71
71
|
* when the caller supplies none - the SAME value written below, so the gate can never
|
|
72
72
|
* evaluate a different set of checks than the one that ends up on the row) contain any
|
|
73
|
-
* non-`approved` entry
|
|
73
|
+
* non-`approved` entry.
|
|
74
74
|
*/
|
|
75
75
|
reconcile(referenceId: string, vendorStatus: KycVendorStatus, opts?: {
|
|
76
76
|
reason?: string;
|
|
@@ -103,8 +103,8 @@ export declare class KycVerificationService {
|
|
|
103
103
|
* `kyc-decision-sync` job handler, run off the webhook request path. Enriches the
|
|
104
104
|
* reconcile through `resolveDecision`/`resolveRiskSignals` when the bound adapter
|
|
105
105
|
* implements them, falling back to a status-only reconcile when it does not. Errors
|
|
106
|
-
* (notably `PlayerNotFoundError`) propagate so the job queue retries the decision
|
|
107
|
-
*
|
|
106
|
+
* (notably `PlayerNotFoundError`) propagate so the job queue retries the decision.
|
|
107
|
+
* `receivedAt` is the webhook's
|
|
108
108
|
* arrival time (stamped by the router before enqueue, carried on the job payload) -
|
|
109
109
|
* passed through to `reconcile` as the monotonicity watermark so a job that runs
|
|
110
110
|
* out of arrival order (the driver ignores `orderingKey`) can't overwrite a newer
|
|
@@ -142,17 +142,15 @@ export declare class KycVerificationService {
|
|
|
142
142
|
/**
|
|
143
143
|
* Shared transaction body for `requestResubmission`/`overrideStatus`: inserts the
|
|
144
144
|
* manual `kyc_verification` history row and calls `KYC_STATUS_WRITER.setStatus` in
|
|
145
|
-
* the SAME transaction
|
|
146
|
-
*
|
|
147
|
-
* two call sites). Caller has already run the idempotency pre-check
|
|
145
|
+
* the SAME transaction so the locking and idempotency rules cannot diverge between
|
|
146
|
+
* the two call sites. Caller has already run the idempotency pre-check
|
|
148
147
|
* (`requirePlayerRowForUpdate` + a status compare) before calling this.
|
|
149
148
|
*/
|
|
150
149
|
private applyManualDecision;
|
|
151
150
|
/**
|
|
152
151
|
* Admin-initiated: requests the player resubmit documents. Idempotent on a repeat
|
|
153
152
|
* call while the player is already at `resubmission_requested` - no duplicate history
|
|
154
|
-
* row
|
|
155
|
-
* Admin KYC actions for why the `FOR UPDATE` lock has to sit inside the transaction.
|
|
153
|
+
* row or `compliance.kyc.updated` emit.
|
|
156
154
|
*/
|
|
157
155
|
requestResubmission(userId: User['id'], reason: string, actorId: User['id']): Promise<import("@openora/core/server").SerializedRow<{
|
|
158
156
|
status: "pending" | "not_started" | "approved" | "verified" | "rejected" | "resubmission_requested" | "manually_overridden";
|
|
@@ -179,8 +177,7 @@ export declare class KycVerificationService {
|
|
|
179
177
|
* Admin-initiated: forces the player to an operator-chosen status, guarded by the
|
|
180
178
|
* router's `compliance:override-limit`. `resolveManualStatus` remaps an `approved`
|
|
181
179
|
* choice to `manually_overridden`; every other choice is written verbatim. Idempotent
|
|
182
|
-
* on a repeat call resolving to the status the player already holds.
|
|
183
|
-
* both: `compliance/AGENTS.md` > Admin KYC actions.
|
|
180
|
+
* on a repeat call resolving to the status the player already holds.
|
|
184
181
|
*/
|
|
185
182
|
overrideStatus(userId: User['id'], status: KycOverrideStatus, reason: string, actorId: User['id']): Promise<import("@openora/core/server").SerializedRow<{
|
|
186
183
|
status: "pending" | "not_started" | "approved" | "verified" | "rejected" | "resubmission_requested" | "manually_overridden";
|
|
@@ -208,7 +205,7 @@ export declare class KycVerificationService {
|
|
|
208
205
|
* `overrideStatus('approved', ...)` path, so a bulk approval is recorded identically
|
|
209
206
|
* to a single one. Bounded fan-out with per-player error isolation - one failure is
|
|
210
207
|
* captured as a result row rather than aborting the batch, and the returned message
|
|
211
|
-
* is a fixed string, never the raw exception text
|
|
208
|
+
* is a fixed string, never the raw exception text.
|
|
212
209
|
*/
|
|
213
210
|
bulkApprove(userIds: User['id'][], reason: string, actorId: User['id']): Promise<BulkApproveKycResult[]>;
|
|
214
211
|
private requirePlayerRowForUpdate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kyc.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAMd,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,UAAU,EACX,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYvF,eAAO,MAAM,mBAAmB,2BAA8B,CAAC;AAE/D,eAAO,MAAM,4BAA4B,2BAAuC,CAAC;AAyDjF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,IAAI,EAAE,mBAAmB;IASrC,OAAO,KAAK,QAAQ,GAEnB;IAEK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;IA2DzE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,eAAe,EAC7B,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,WAAW,CAAC,EAAE,cAAc,CAAC;QAC7B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,IAAI,CAAC;KACd;;;;;;;;;;;;;;;;;;;;;IA6ER;;;;;;;;;;OAUG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;IAiB5E,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAS9D;;;;;OAKG;IACG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAgEtC
|
|
1
|
+
{"version":3,"file":"kyc.service.d.ts","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EAMd,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,eAAe,EAEpB,KAAK,cAAc,EACnB,KAAK,IAAI,EACT,UAAU,EACX,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYvF,eAAO,MAAM,mBAAmB,2BAA8B,CAAC;AAE/D,eAAO,MAAM,4BAA4B,2BAAuC,CAAC;AAyDjF;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B,CAAC;AAEF,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkB;IAC/C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAEhC,IAAI,EAAE,mBAAmB;IASrC,OAAO,KAAK,QAAQ,GAEnB;IAEK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,CAAC,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;IA2DzE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEG,SAAS,CACb,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,eAAe,EAC7B,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,WAAW,CAAC,EAAE,cAAc,CAAC;QAC7B,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;QAC1B,UAAU,CAAC,EAAE,IAAI,CAAC;KACd;;;;;;;;;;;;;;;;;;;;;IA6ER;;;;;;;;;;OAUG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;IAiB5E,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC;IAS9D;;;;;OAKG;IACG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC;IAgEtC;;;;;;OAMG;YACW,mBAAmB;IAoCjC;;;;OAIG;IACG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;IAkBjF;;;;;OAKG;IACG,cAAc,CAClB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;IAoBrB;;;;;;OAMG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAClB,OAAO,CAAC,oBAAoB,EAAE,CAAC;YAiBpB,yBAAyB;YAazB,yBAAyB;CASxC"}
|
|
@@ -147,7 +147,7 @@ export class KycVerificationService {
|
|
|
147
147
|
* call is about to persist (`opts.checks`, falling back to the existing row's `checks`
|
|
148
148
|
* when the caller supplies none - the SAME value written below, so the gate can never
|
|
149
149
|
* evaluate a different set of checks than the one that ends up on the row) contain any
|
|
150
|
-
* non-`approved` entry
|
|
150
|
+
* non-`approved` entry.
|
|
151
151
|
*/
|
|
152
152
|
// referenceId is the KYC vendor's own reference, not an internal Uuid - stays a plain string.
|
|
153
153
|
async reconcile(referenceId, vendorStatus, opts = {}) {
|
|
@@ -211,8 +211,8 @@ export class KycVerificationService {
|
|
|
211
211
|
* `kyc-decision-sync` job handler, run off the webhook request path. Enriches the
|
|
212
212
|
* reconcile through `resolveDecision`/`resolveRiskSignals` when the bound adapter
|
|
213
213
|
* implements them, falling back to a status-only reconcile when it does not. Errors
|
|
214
|
-
* (notably `PlayerNotFoundError`) propagate so the job queue retries the decision
|
|
215
|
-
*
|
|
214
|
+
* (notably `PlayerNotFoundError`) propagate so the job queue retries the decision.
|
|
215
|
+
* `receivedAt` is the webhook's
|
|
216
216
|
* arrival time (stamped by the router before enqueue, carried on the job payload) -
|
|
217
217
|
* passed through to `reconcile` as the monotonicity watermark so a job that runs
|
|
218
218
|
* out of arrival order (the driver ignores `orderingKey`) can't overwrite a newer
|
|
@@ -298,9 +298,8 @@ export class KycVerificationService {
|
|
|
298
298
|
/**
|
|
299
299
|
* Shared transaction body for `requestResubmission`/`overrideStatus`: inserts the
|
|
300
300
|
* manual `kyc_verification` history row and calls `KYC_STATUS_WRITER.setStatus` in
|
|
301
|
-
* the SAME transaction
|
|
302
|
-
*
|
|
303
|
-
* two call sites). Caller has already run the idempotency pre-check
|
|
301
|
+
* the SAME transaction so the locking and idempotency rules cannot diverge between
|
|
302
|
+
* the two call sites. Caller has already run the idempotency pre-check
|
|
304
303
|
* (`requirePlayerRowForUpdate` + a status compare) before calling this.
|
|
305
304
|
*/
|
|
306
305
|
async applyManualDecision(trx, params) {
|
|
@@ -323,8 +322,7 @@ export class KycVerificationService {
|
|
|
323
322
|
/**
|
|
324
323
|
* Admin-initiated: requests the player resubmit documents. Idempotent on a repeat
|
|
325
324
|
* call while the player is already at `resubmission_requested` - no duplicate history
|
|
326
|
-
* row
|
|
327
|
-
* Admin KYC actions for why the `FOR UPDATE` lock has to sit inside the transaction.
|
|
325
|
+
* row or `compliance.kyc.updated` emit.
|
|
328
326
|
*/
|
|
329
327
|
async requestResubmission(userId, reason, actorId) {
|
|
330
328
|
return this.drizzle.db.transaction(async (trx) => {
|
|
@@ -346,8 +344,7 @@ export class KycVerificationService {
|
|
|
346
344
|
* Admin-initiated: forces the player to an operator-chosen status, guarded by the
|
|
347
345
|
* router's `compliance:override-limit`. `resolveManualStatus` remaps an `approved`
|
|
348
346
|
* choice to `manually_overridden`; every other choice is written verbatim. Idempotent
|
|
349
|
-
* on a repeat call resolving to the status the player already holds.
|
|
350
|
-
* both: `compliance/AGENTS.md` > Admin KYC actions.
|
|
347
|
+
* on a repeat call resolving to the status the player already holds.
|
|
351
348
|
*/
|
|
352
349
|
async overrideStatus(userId, status, reason, actorId) {
|
|
353
350
|
const resolvedStatus = resolveManualStatus(status);
|
|
@@ -371,7 +368,7 @@ export class KycVerificationService {
|
|
|
371
368
|
* `overrideStatus('approved', ...)` path, so a bulk approval is recorded identically
|
|
372
369
|
* to a single one. Bounded fan-out with per-player error isolation - one failure is
|
|
373
370
|
* captured as a result row rather than aborting the batch, and the returned message
|
|
374
|
-
* is a fixed string, never the raw exception text
|
|
371
|
+
* is a fixed string, never the raw exception text.
|
|
375
372
|
*/
|
|
376
373
|
async bulkApprove(userIds, reason, actorId) {
|
|
377
374
|
return mapConcurrent(userIds, BULK_APPROVE_CONCURRENCY, async (userId) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kyc.service.js","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kyc.service.js","sourceRoot":"","sources":["../../../src/compliance/service/kyc.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { type Token } from './token.js';
|
|
2
2
|
import type { GameType } from '../schemas/game.js';
|
|
3
|
+
/**
|
|
4
|
+
* Admin/back-office reporting over game performance. Owned + bound by the
|
|
5
|
+
* casino/gaming module (it owns the `game`/`gameRound` tables); the back-office
|
|
6
|
+
* depends only on this port, never on the gaming schema. A query port like
|
|
7
|
+
* ADMIN_WALLET_REPORTING. See ADR-0017/0025.
|
|
8
|
+
*/
|
|
3
9
|
export declare const GAME_PERFORMANCE_SORT_FIELDS: readonly ["name", "gameType", "volume", "revenue", "uniquePlayers", "roundsPlayed"];
|
|
4
10
|
export type GamePerformanceSortBy = (typeof GAME_PERFORMANCE_SORT_FIELDS)[number];
|
|
5
11
|
export type GamePerformanceFilter = {
|
|
@@ -10,6 +16,12 @@ export type GamePerformanceFilter = {
|
|
|
10
16
|
sortBy?: GamePerformanceSortBy;
|
|
11
17
|
sortDir?: 'asc' | 'desc';
|
|
12
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* volume/revenue = SUM(gameRound.betAmount) / SUM(betAmount) - SUM(winAmount) over
|
|
21
|
+
* status='completed' rounds in range; revenue (GGR) can be negative. uniquePlayers/
|
|
22
|
+
* roundsPlayed are 0 for a game with no completed rounds in range - games are never
|
|
23
|
+
* omitted just because they had no activity in the requested window.
|
|
24
|
+
*/
|
|
13
25
|
export type GamePerformanceRow = {
|
|
14
26
|
gameId: string;
|
|
15
27
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-game-reporting.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-game-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-game-reporting.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-game-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;GAKG;AAEH,eAAO,MAAM,4BAA4B,qFAO/B,CAAC;AACX,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,mBAAmB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClF,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;CAC1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAuC,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { createToken } from './token.js';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Admin/back-office reporting over game performance. Owned + bound by the
|
|
4
|
+
* casino/gaming module (it owns the `game`/`gameRound` tables); the back-office
|
|
5
|
+
* depends only on this port, never on the gaming schema. A query port like
|
|
6
|
+
* ADMIN_WALLET_REPORTING. See ADR-0017/0025.
|
|
7
|
+
*/
|
|
6
8
|
export const GAME_PERFORMANCE_SORT_FIELDS = [
|
|
7
9
|
'name',
|
|
8
10
|
'gameType',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-game-reporting.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-game-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAGrD
|
|
1
|
+
{"version":3,"file":"admin-game-reporting.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-game-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAGrD;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,MAAM;IACN,UAAU;IACV,QAAQ;IACR,SAAS;IACT,eAAe;IACf,cAAc;CACN,CAAC;AAsCX,MAAM,CAAC,MAAM,oBAAoB,GAA8B,WAAW,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Port for DB-backed admin RBAC. A backoffice iam module binds a concrete
|
|
3
|
+
* resolver that reads role assignments + grants from its own tables; the
|
|
4
|
+
* AdminGuard (in @openora/core/server) depends only on this interface so the platform
|
|
5
|
+
* keeps working - falling back to the static roles - when no resolver is bound.
|
|
6
|
+
*/
|
|
1
7
|
import { type Token } from './token.js';
|
|
2
8
|
export type AdminGrant = {
|
|
3
9
|
resource: string;
|
|
4
10
|
action: string;
|
|
5
11
|
};
|
|
6
12
|
export type AdminPermissionResolver = {
|
|
13
|
+
/**
|
|
14
|
+
* Returns the effective grants for an admin user, or null if the user has no
|
|
15
|
+
* DB-backed role assignment (caller should fall back to static roles).
|
|
16
|
+
*/
|
|
7
17
|
getGrants(userId: string): Promise<AdminGrant[] | null>;
|
|
8
18
|
};
|
|
9
19
|
export declare const ADMIN_PERMISSION_RESOLVER: Token<AdminPermissionResolver>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-permission.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-permission.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"admin-permission.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-permission.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,uBAAuB,GAAG;IACpC;;;OAGG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,uBAAuB,CAEpE,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Port for DB-backed admin RBAC. A backoffice iam module binds a concrete
|
|
3
|
+
* resolver that reads role assignments + grants from its own tables; the
|
|
4
|
+
* AdminGuard (in @openora/core/server) depends only on this interface so the platform
|
|
5
|
+
* keeps working - falling back to the static roles - when no resolver is bound.
|
|
6
|
+
*/
|
|
5
7
|
import { createToken } from './token.js';
|
|
6
8
|
export const ADMIN_PERMISSION_RESOLVER = createToken('ADMIN_PERMISSION_RESOLVER');
|
|
7
9
|
//# sourceMappingURL=admin-permission.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-permission.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-permission.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"admin-permission.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-permission.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAYrD,MAAM,CAAC,MAAM,yBAAyB,GAAmC,WAAW,CAClF,2BAA2B,CAC5B,CAAC"}
|
|
@@ -1,18 +1,35 @@
|
|
|
1
1
|
import { type Token } from './token.js';
|
|
2
|
+
/**
|
|
3
|
+
* Admin/back-office reporting over player registration + engagement activity.
|
|
4
|
+
* Owned + bound by iam; it centralizes admin reporting concerns even though the
|
|
5
|
+
* underlying `user`/`session` tables belong to identity,
|
|
6
|
+
* read via that module's read-only /schema subpath); the back-office depends only
|
|
7
|
+
* on this port. A query port like ADMIN_WALLET_REPORTING/ADMIN_GAME_REPORTING.
|
|
8
|
+
* See ADR-0017/0025.
|
|
9
|
+
*/
|
|
2
10
|
export type PlayerActivityFilter = {
|
|
3
11
|
dateFrom?: Date;
|
|
4
12
|
dateTo?: Date;
|
|
5
13
|
};
|
|
14
|
+
/** One point per day (UTC, `YYYY-MM-DD`) within the requested range. */
|
|
6
15
|
export type RegistrationsOverTimePoint = {
|
|
7
16
|
date: string;
|
|
8
17
|
registrations: number;
|
|
9
18
|
};
|
|
19
|
+
/** DAU/WAU/MAU for the trailing 1/7/30-day window ending on `date` (inclusive). */
|
|
10
20
|
export type ActiveUsersTrendPoint = {
|
|
11
21
|
date: string;
|
|
12
22
|
dau: number;
|
|
13
23
|
wau: number;
|
|
14
24
|
mau: number;
|
|
15
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* One row per registration-day cohort (UTC day `user.createdAt` truncates to).
|
|
28
|
+
* `returnRate` = returned / cohortSize (0 when cohortSize is 0). `isComplete` is
|
|
29
|
+
* false while the cohort's [registration, registration + windowDays] window has
|
|
30
|
+
* not fully elapsed yet - such a row's low/zero rate is not yet meaningful and
|
|
31
|
+
* must be flagged rather than read as real churn.
|
|
32
|
+
*/
|
|
16
33
|
export type RetentionCohortRow = {
|
|
17
34
|
cohortDate: string;
|
|
18
35
|
cohortSize: number;
|
|
@@ -23,6 +40,11 @@ export type RetentionCohortRow = {
|
|
|
23
40
|
export type AdminPlayerActivity = {
|
|
24
41
|
getRegistrationsOverTime(filter: PlayerActivityFilter): Promise<RegistrationsOverTimePoint[]>;
|
|
25
42
|
getActiveUsersTrend(filter: PlayerActivityFilter): Promise<ActiveUsersTrendPoint[]>;
|
|
43
|
+
/**
|
|
44
|
+
* windowDays is always 7 or 30 (the two cohorts the ticket asks for); a plain
|
|
45
|
+
* number keeps the port from hard-coding a union it would need to duplicate again
|
|
46
|
+
* the moment a third window is added.
|
|
47
|
+
*/
|
|
26
48
|
getRetentionCohorts(filter: PlayerActivityFilter, windowDays: 7 | 30): Promise<RetentionCohortRow[]>;
|
|
27
49
|
};
|
|
28
50
|
export declare const ADMIN_PLAYER_ACTIVITY: Token<AdminPlayerActivity>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-player-activity.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-player-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-player-activity.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-player-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;GAOG;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF,wEAAwE;AACxE,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC9F,mBAAmB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACpF;;;;OAIG;IACH,mBAAmB,CACjB,MAAM,EAAE,oBAAoB,EAC5B,UAAU,EAAE,CAAC,GAAG,EAAE,GACjB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,mBAAmB,CACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-player-activity.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-player-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-player-activity.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-player-activity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AA2DrD,MAAM,CAAC,MAAM,qBAAqB,GAChC,WAAW,CAAC,uBAAuB,CAAC,CAAC"}
|
|
@@ -3,6 +3,12 @@ import type { KycStatus } from '../schemas/player.js';
|
|
|
3
3
|
import type { UserRole } from '../schemas/iam.js';
|
|
4
4
|
import type { ClientMeta } from '../schemas/common.js';
|
|
5
5
|
import type { SortOrder } from '../kit.js';
|
|
6
|
+
/**
|
|
7
|
+
* Admin/back-office view of the user directory. Owned + bound by the identity
|
|
8
|
+
* module (it owns the `user` table); the back-office (admin-console) depends only
|
|
9
|
+
* on this port, never on the identity schema, so it stays a clean, extractable
|
|
10
|
+
* module. A query/command port like WALLET_COMMANDS. See ADR-0017/0025.
|
|
11
|
+
*/
|
|
6
12
|
export type AdminUserRow = {
|
|
7
13
|
id: string;
|
|
8
14
|
email: string;
|
|
@@ -22,6 +28,10 @@ export type AdminUserListOptions = {
|
|
|
22
28
|
sortBy?: AdminUserSortBy;
|
|
23
29
|
sortOrder?: SortOrder;
|
|
24
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Player-facing back-office enrichment (username + KYC). Lets a back-office
|
|
33
|
+
* consumer label a player row without reaching into the player/profile tables.
|
|
34
|
+
*/
|
|
25
35
|
export type AdminPlayerSummary = {
|
|
26
36
|
userId: string;
|
|
27
37
|
username: string;
|
|
@@ -40,12 +50,29 @@ export type AdminUserDirectory = {
|
|
|
40
50
|
total: number;
|
|
41
51
|
}>;
|
|
42
52
|
get(id: string): Promise<AdminUserRow | null>;
|
|
53
|
+
/** actorId = the admin performing the change (for audit attribution on an isActive flip). */
|
|
43
54
|
update(id: string, patch: {
|
|
44
55
|
isActive?: boolean;
|
|
45
56
|
role?: UserRole;
|
|
46
57
|
}, actorId: string, meta?: ClientMeta): Promise<AdminUserRow | null>;
|
|
58
|
+
/**
|
|
59
|
+
* Batch enrichment for back-office lists (eg the withdrawal queue). Returns one
|
|
60
|
+
* entry per resolvable id; unknown ids are omitted.
|
|
61
|
+
*/
|
|
47
62
|
lookupPlayers(userIds: readonly string[]): Promise<AdminPlayerSummary[]>;
|
|
63
|
+
/**
|
|
64
|
+
* Resolves a free-text player filter to a capped set of userIds, matched against
|
|
65
|
+
* email (user table) OR username/displayName (player table). Empty = no match.
|
|
66
|
+
* limit caps both sub-queries and the merged set; defaults to 1000 (the implementation cap).
|
|
67
|
+
*/
|
|
48
68
|
findPlayerIds(query: string, limit?: number): Promise<string[]>;
|
|
69
|
+
/**
|
|
70
|
+
* Exact-match resolution by display name (case-insensitive) - for callers that
|
|
71
|
+
* already have a complete, known username (not a partial search term), eg chat
|
|
72
|
+
* commands' /donate, /block, /ignore. Distinct from findPlayerIds' capped fuzzy
|
|
73
|
+
* substring search: a short/common username can substring-collide with more than
|
|
74
|
+
* the 20-row cap of unrelated accounts and silently drop the real exact match.
|
|
75
|
+
*/
|
|
49
76
|
getPlayerByUsername(username: string): Promise<AdminPlayerSummary | null>;
|
|
50
77
|
};
|
|
51
78
|
export declare const ADMIN_USER_DIRECTORY: Token<AdminUserDirectory>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-user-directory.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-user-directory.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;;GAKG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,8EAO5B,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnF,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,6FAA6F;IAC7F,MAAM,CACJ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,QAAQ,CAAA;KAAE,EAC9C,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChC;;;OAGG;IACH,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACzE;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAChE;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;CAC3E,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,kBAAkB,CAAuC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-user-directory.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-user-directory.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-user-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAwBrD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW;IACX,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,eAAe;CACP,CAAC;AA2DX,MAAM,CAAC,MAAM,oBAAoB,GAA8B,WAAW,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { type Token } from './token.js';
|
|
2
2
|
import type { WalletRail, WalletTransactionStatus, WalletTransactionType } from '../schemas/wallet-tx.js';
|
|
3
3
|
import type { SortOrder } from '../kit.js';
|
|
4
|
+
/**
|
|
5
|
+
* Admin/back-office reporting over wallet money movement. Owned + bound by the
|
|
6
|
+
* wallet module; the back-office depends only on this port, never on the wallet
|
|
7
|
+
* schema. A query port like WALLET_COMMANDS. See ADR-0017/0025.
|
|
8
|
+
*/
|
|
4
9
|
export type AdminTxRow = {
|
|
5
10
|
id: string;
|
|
6
11
|
userId: string;
|
|
@@ -14,6 +19,7 @@ export type AdminTxRow = {
|
|
|
14
19
|
export type AdminTxDetail = AdminTxRow & {
|
|
15
20
|
providerRefId: string | null;
|
|
16
21
|
providerName: string | null;
|
|
22
|
+
/** UUID of the admin who reviewed the transaction (matches wallet.reviewedBy column). */
|
|
17
23
|
reviewedBy: string | null;
|
|
18
24
|
reviewedAt: Date | null;
|
|
19
25
|
reviewReason: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-wallet-reporting.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-wallet-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-wallet-reporting.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-wallet-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C;;;;GAIG;AAEH,MAAM,MAAM,UAAU,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,qBAAqB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,uBAAuB,CAAC;IAChC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG;IACvC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yFAAyF;IACzF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,sFAQ1B,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAErE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3F,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;CAC3D,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,oBAAoB,CACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-wallet-reporting.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-wallet-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"admin-wallet-reporting.js","sourceRoot":"","sources":["../../../src/contracts/adapters/admin-wallet-reporting.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAkCrD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,WAAW;IACX,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,UAAU;IACV,MAAM;IACN,YAAY;CACJ,CAAC;AAyBX,MAAM,CAAC,MAAM,sBAAsB,GACjC,WAAW,CAAC,wBAAwB,CAAC,CAAC"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Igaming-aggregator seam. An aggregator fans out to many game providers'
|
|
3
|
+
* catalogues; bind a concrete adapter to AGGREGATOR_ADAPTER in the
|
|
4
|
+
* igaming-aggregator module's plugin.ts.
|
|
5
|
+
*/
|
|
1
6
|
import { type Token } from './token.js';
|
|
2
7
|
export type AggregatorGame = {
|
|
3
8
|
externalId: string;
|
|
@@ -14,6 +19,13 @@ export type AggregatorAdapter = {
|
|
|
14
19
|
handleCallback(event: string, payload: unknown): Promise<void>;
|
|
15
20
|
};
|
|
16
21
|
export declare const AGGREGATOR_ADAPTER: Token<AggregatorAdapter>;
|
|
22
|
+
/**
|
|
23
|
+
* Verifies the public M2M callback is genuinely from the aggregator. The default
|
|
24
|
+
* impl recomputes an HMAC-SHA256 over the raw request body and constant-time
|
|
25
|
+
* compares it against the `x-aggregator-signature` header; a vendor overlay can
|
|
26
|
+
* rebind it to match that vendor's scheme. Fails closed when the secret is unset,
|
|
27
|
+
* the signature header is absent, or the raw body was not captured.
|
|
28
|
+
*/
|
|
17
29
|
export type AggregatorWebhookVerifier = {
|
|
18
30
|
verify(rawBody: string, signature: string | null): boolean;
|
|
19
31
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/aggregator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/aggregator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;IACxD,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAqC,CAAC;AAE9F;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;CAC5D,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,yBAAyB,CAExE,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Igaming-aggregator seam. An aggregator fans out to many game providers'
|
|
3
|
+
* catalogues; bind a concrete adapter to AGGREGATOR_ADAPTER in the
|
|
4
|
+
* igaming-aggregator module's plugin.ts.
|
|
5
|
+
*/
|
|
4
6
|
import { createToken } from './token.js';
|
|
5
7
|
export const AGGREGATOR_ADAPTER = createToken('AGGREGATOR_ADAPTER');
|
|
6
8
|
export const AGGREGATOR_WEBHOOK_VERIFIER = createToken('AGGREGATOR_WEBHOOK_VERIFIER');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/contracts/adapters/aggregator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"aggregator.js","sourceRoot":"","sources":["../../../src/contracts/adapters/aggregator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAgBrD,MAAM,CAAC,MAAM,kBAAkB,GAA6B,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAa9F,MAAM,CAAC,MAAM,2BAA2B,GAAqC,WAAW,CACtF,6BAA6B,CAC9B,CAAC"}
|
|
@@ -1,7 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit-write seam. AML/SAR audit writes are a regulator-mandated invariant under
|
|
3
|
+
* MGA/UKGC - the audit module binds the sole implementation via ctx.provideSealed()
|
|
4
|
+
* (bind-once, owner-only); no overlay can rebind it (ctx.provide() rejects any
|
|
5
|
+
* sealed token outright, and provideSealed() itself refuses a second bind). Other
|
|
6
|
+
* modules resolve this port read-only (container.get(AUDIT_WRITER)) to call it.
|
|
7
|
+
*/
|
|
1
8
|
import type { DomainEventName } from '../schemas/events.js';
|
|
2
9
|
import type { ClientMeta } from '../schemas/common.js';
|
|
3
10
|
import { type SealedToken } from './token.js';
|
|
11
|
+
/**
|
|
12
|
+
* Admin actions that are recorded directly (not via a domain-event subscription)
|
|
13
|
+
* and so have no entry in `domainEventSchemas`. Add new direct actions here.
|
|
14
|
+
*/
|
|
4
15
|
export type DirectAuditAction = 'admin.user.updated' | 'admin.player.updated' | 'admin.player.removed' | 'audit.export' | 'compliance.kyc.bulk_approve' | 'wallet.withdrawal.auto_approved' | 'wallet.auto_withdrawal_rule.set' | 'wallet.auto_withdrawal_rule.deleted' | 'wallet.auto_withdrawal_config.set';
|
|
16
|
+
/**
|
|
17
|
+
* Every value the audit `action` column legitimately holds: a cross-module domain
|
|
18
|
+
* event topic (recorded by the audit plugin's subscriptions) or a direct admin
|
|
19
|
+
* action. The `string & {}` arm keeps literal autocomplete while still accepting
|
|
20
|
+
* overlay-defined actions, so it constrains nothing at runtime - it just guides.
|
|
21
|
+
*/
|
|
5
22
|
export type AuditAction = DomainEventName | DirectAuditAction | (string & {});
|
|
6
23
|
export type AuditWritePort = {
|
|
7
24
|
record(entry: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,cAAc,GACd,6BAA6B,GAC7B,iCAAiC,GACjC,iCAAiC,GACjC,qCAAqC,GACrC,mCAAmC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CACJ,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,mBAAmB,CACjB,EAAE,EAAE,OAAO,EACX,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,cAAc,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAqDjE,MAAM,CAAC,MAAM,YAAY,GACvB,iBAAiB,CAAiB,cAAc,CAAC,CAAC"}
|