@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.
Files changed (260) hide show
  1. package/README.md +10 -10
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/admin-console/plugin.d.ts +107 -1
  4. package/dist/admin-console/plugin.d.ts.map +1 -1
  5. package/dist/admin-console/plugin.js +3 -3
  6. package/dist/admin-console/plugin.js.map +1 -1
  7. package/dist/analytics/plugin.d.ts +107 -1
  8. package/dist/analytics/plugin.d.ts.map +1 -1
  9. package/dist/analytics/plugin.js +3 -3
  10. package/dist/analytics/plugin.js.map +1 -1
  11. package/dist/audit/plugin.d.ts +106 -1
  12. package/dist/audit/plugin.d.ts.map +1 -1
  13. package/dist/audit/plugin.js +3 -3
  14. package/dist/audit/plugin.js.map +1 -1
  15. package/dist/casino/gaming/plugin.d.ts +108 -1
  16. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  17. package/dist/casino/gaming/plugin.js +3 -3
  18. package/dist/casino/gaming/plugin.js.map +1 -1
  19. package/dist/casino/lobby/plugin.d.ts +106 -1
  20. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  21. package/dist/casino/lobby/plugin.js +3 -3
  22. package/dist/casino/lobby/plugin.js.map +1 -1
  23. package/dist/cms/plugin.d.ts +106 -1
  24. package/dist/cms/plugin.d.ts.map +1 -1
  25. package/dist/cms/plugin.js +3 -3
  26. package/dist/cms/plugin.js.map +1 -1
  27. package/dist/compliance/plugin.d.ts +109 -1
  28. package/dist/compliance/plugin.d.ts.map +1 -1
  29. package/dist/compliance/plugin.js +3 -3
  30. package/dist/compliance/plugin.js.map +1 -1
  31. package/dist/compliance/service/kyc.service.d.ts +8 -11
  32. package/dist/compliance/service/kyc.service.d.ts.map +1 -1
  33. package/dist/compliance/service/kyc.service.js +8 -11
  34. package/dist/compliance/service/kyc.service.js.map +1 -1
  35. package/dist/contracts/adapters/admin-game-reporting.d.ts +12 -0
  36. package/dist/contracts/adapters/admin-game-reporting.d.ts.map +1 -1
  37. package/dist/contracts/adapters/admin-game-reporting.js +6 -4
  38. package/dist/contracts/adapters/admin-game-reporting.js.map +1 -1
  39. package/dist/contracts/adapters/admin-permission.d.ts +10 -0
  40. package/dist/contracts/adapters/admin-permission.d.ts.map +1 -1
  41. package/dist/contracts/adapters/admin-permission.js +6 -4
  42. package/dist/contracts/adapters/admin-permission.js.map +1 -1
  43. package/dist/contracts/adapters/admin-player-activity.d.ts +22 -0
  44. package/dist/contracts/adapters/admin-player-activity.d.ts.map +1 -1
  45. package/dist/contracts/adapters/admin-player-activity.js.map +1 -1
  46. package/dist/contracts/adapters/admin-user-directory.d.ts +27 -0
  47. package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
  48. package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
  49. package/dist/contracts/adapters/admin-wallet-reporting.d.ts +6 -0
  50. package/dist/contracts/adapters/admin-wallet-reporting.d.ts.map +1 -1
  51. package/dist/contracts/adapters/admin-wallet-reporting.js.map +1 -1
  52. package/dist/contracts/adapters/aggregator.d.ts +12 -0
  53. package/dist/contracts/adapters/aggregator.d.ts.map +1 -1
  54. package/dist/contracts/adapters/aggregator.js +5 -3
  55. package/dist/contracts/adapters/aggregator.js.map +1 -1
  56. package/dist/contracts/adapters/audit.d.ts +17 -0
  57. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  58. package/dist/contracts/adapters/audit.js.map +1 -1
  59. package/dist/contracts/adapters/broker.d.ts +23 -0
  60. package/dist/contracts/adapters/broker.d.ts.map +1 -1
  61. package/dist/contracts/adapters/broker.js +8 -6
  62. package/dist/contracts/adapters/broker.js.map +1 -1
  63. package/dist/contracts/adapters/cache.d.ts +8 -0
  64. package/dist/contracts/adapters/cache.d.ts.map +1 -1
  65. package/dist/contracts/adapters/cache.js +8 -6
  66. package/dist/contracts/adapters/cache.js.map +1 -1
  67. package/dist/contracts/adapters/chat-block-writer.d.ts +4 -0
  68. package/dist/contracts/adapters/chat-block-writer.d.ts.map +1 -1
  69. package/dist/contracts/adapters/chat-block-writer.js.map +1 -1
  70. package/dist/contracts/adapters/email-template.d.ts +8 -0
  71. package/dist/contracts/adapters/email-template.d.ts.map +1 -1
  72. package/dist/contracts/adapters/email-template.js +8 -6
  73. package/dist/contracts/adapters/email-template.js.map +1 -1
  74. package/dist/contracts/adapters/email.d.ts +7 -0
  75. package/dist/contracts/adapters/email.d.ts.map +1 -1
  76. package/dist/contracts/adapters/email.js +7 -5
  77. package/dist/contracts/adapters/email.js.map +1 -1
  78. package/dist/contracts/adapters/game.d.ts +4 -0
  79. package/dist/contracts/adapters/game.d.ts.map +1 -1
  80. package/dist/contracts/adapters/game.js +4 -2
  81. package/dist/contracts/adapters/game.js.map +1 -1
  82. package/dist/contracts/adapters/geo-ip.d.ts +4 -0
  83. package/dist/contracts/adapters/geo-ip.d.ts.map +1 -1
  84. package/dist/contracts/adapters/geo-ip.js +4 -2
  85. package/dist/contracts/adapters/geo-ip.js.map +1 -1
  86. package/dist/contracts/adapters/identity.d.ts +4 -0
  87. package/dist/contracts/adapters/identity.d.ts.map +1 -1
  88. package/dist/contracts/adapters/identity.js +4 -2
  89. package/dist/contracts/adapters/identity.js.map +1 -1
  90. package/dist/contracts/adapters/index.d.ts +7 -1
  91. package/dist/contracts/adapters/index.d.ts.map +1 -1
  92. package/dist/contracts/adapters/index.js +6 -4
  93. package/dist/contracts/adapters/index.js.map +1 -1
  94. package/dist/contracts/adapters/job-queue.d.ts +55 -0
  95. package/dist/contracts/adapters/job-queue.d.ts.map +1 -1
  96. package/dist/contracts/adapters/job-queue.js +11 -9
  97. package/dist/contracts/adapters/job-queue.js.map +1 -1
  98. package/dist/contracts/adapters/login-enforcement.d.ts +8 -0
  99. package/dist/contracts/adapters/login-enforcement.d.ts.map +1 -1
  100. package/dist/contracts/adapters/login-enforcement.js +8 -6
  101. package/dist/contracts/adapters/login-enforcement.js.map +1 -1
  102. package/dist/contracts/adapters/notification.d.ts +7 -0
  103. package/dist/contracts/adapters/notification.d.ts.map +1 -1
  104. package/dist/contracts/adapters/notification.js +7 -5
  105. package/dist/contracts/adapters/notification.js.map +1 -1
  106. package/dist/contracts/adapters/outbox.d.ts +14 -0
  107. package/dist/contracts/adapters/outbox.d.ts.map +1 -1
  108. package/dist/contracts/adapters/outbox.js +14 -12
  109. package/dist/contracts/adapters/outbox.js.map +1 -1
  110. package/dist/contracts/adapters/payment.d.ts +5 -0
  111. package/dist/contracts/adapters/payment.d.ts.map +1 -1
  112. package/dist/contracts/adapters/payment.js +5 -3
  113. package/dist/contracts/adapters/payment.js.map +1 -1
  114. package/dist/contracts/adapters/player-tags.d.ts +4 -0
  115. package/dist/contracts/adapters/player-tags.d.ts.map +1 -1
  116. package/dist/contracts/adapters/player-tags.js.map +1 -1
  117. package/dist/contracts/adapters/rate-limit.d.ts +17 -0
  118. package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
  119. package/dist/contracts/adapters/rate-limit.js +9 -6
  120. package/dist/contracts/adapters/rate-limit.js.map +1 -1
  121. package/dist/contracts/adapters/realtime.d.ts +90 -3
  122. package/dist/contracts/adapters/realtime.d.ts.map +1 -1
  123. package/dist/contracts/adapters/realtime.js +24 -22
  124. package/dist/contracts/adapters/realtime.js.map +1 -1
  125. package/dist/contracts/adapters/rng.d.ts +11 -0
  126. package/dist/contracts/adapters/rng.d.ts.map +1 -1
  127. package/dist/contracts/adapters/rng.js +11 -9
  128. package/dist/contracts/adapters/rng.js.map +1 -1
  129. package/dist/contracts/adapters/sms.d.ts +6 -0
  130. package/dist/contracts/adapters/sms.d.ts.map +1 -1
  131. package/dist/contracts/adapters/sms.js +6 -4
  132. package/dist/contracts/adapters/sms.js.map +1 -1
  133. package/dist/contracts/adapters/tag-evaluation-commands.d.ts +10 -0
  134. package/dist/contracts/adapters/tag-evaluation-commands.d.ts.map +1 -1
  135. package/dist/contracts/adapters/tag-evaluation-commands.js +10 -8
  136. package/dist/contracts/adapters/tag-evaluation-commands.js.map +1 -1
  137. package/dist/contracts/adapters/token.d.ts +21 -1
  138. package/dist/contracts/adapters/token.d.ts.map +1 -1
  139. package/dist/contracts/adapters/token.js +6 -4
  140. package/dist/contracts/adapters/token.js.map +1 -1
  141. package/dist/contracts/adapters/wallet-commands.d.ts +4 -0
  142. package/dist/contracts/adapters/wallet-commands.d.ts.map +1 -1
  143. package/dist/contracts/adapters/wallet-commands.js.map +1 -1
  144. package/dist/contracts/schemas/igaming-config.d.ts +25 -1
  145. package/dist/contracts/schemas/igaming-config.d.ts.map +1 -1
  146. package/dist/contracts/schemas/igaming-config.js +2 -1
  147. package/dist/contracts/schemas/igaming-config.js.map +1 -1
  148. package/dist/engagement/chat/plugin.d.ts +107 -1
  149. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  150. package/dist/engagement/chat/plugin.js +3 -3
  151. package/dist/engagement/chat/plugin.js.map +1 -1
  152. package/dist/engagement/chat-commands/plugin.d.ts +107 -1
  153. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  154. package/dist/engagement/chat-commands/plugin.js +3 -3
  155. package/dist/engagement/chat-commands/plugin.js.map +1 -1
  156. package/dist/engagement/notifications/plugin.d.ts +108 -1
  157. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  158. package/dist/engagement/notifications/plugin.js +3 -3
  159. package/dist/engagement/notifications/plugin.js.map +1 -1
  160. package/dist/iam/__tests__/iam.service.int.test.js +49 -1
  161. package/dist/iam/__tests__/iam.service.int.test.js.map +1 -1
  162. package/dist/iam/contract/index.d.ts +10 -0
  163. package/dist/iam/contract/index.d.ts.map +1 -1
  164. package/dist/iam/contract/index.js +4 -0
  165. package/dist/iam/contract/index.js.map +1 -1
  166. package/dist/iam/plugin.d.ts +107 -1
  167. package/dist/iam/plugin.d.ts.map +1 -1
  168. package/dist/iam/plugin.js +5 -5
  169. package/dist/iam/plugin.js.map +1 -1
  170. package/dist/iam/router/index.d.ts +10 -0
  171. package/dist/iam/router/index.d.ts.map +1 -1
  172. package/dist/iam/router/index.js +4 -0
  173. package/dist/iam/router/index.js.map +1 -1
  174. package/dist/iam/service/iam.service.d.ts +11 -3
  175. package/dist/iam/service/iam.service.d.ts.map +1 -1
  176. package/dist/iam/service/iam.service.js +20 -1
  177. package/dist/iam/service/iam.service.js.map +1 -1
  178. package/dist/pam/identity/plugin.d.ts +106 -1
  179. package/dist/pam/identity/plugin.d.ts.map +1 -1
  180. package/dist/pam/identity/plugin.js +3 -3
  181. package/dist/pam/identity/plugin.js.map +1 -1
  182. package/dist/pam/player-management/plugin.d.ts +107 -1
  183. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  184. package/dist/pam/player-management/plugin.js +3 -3
  185. package/dist/pam/player-management/plugin.js.map +1 -1
  186. package/dist/pam/player-management/service/kyc-status-writer.d.ts +1 -1
  187. package/dist/pam/player-management/service/kyc-status-writer.js +1 -1
  188. package/dist/pam/player-note/plugin.d.ts +106 -1
  189. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  190. package/dist/pam/player-note/plugin.js +3 -3
  191. package/dist/pam/player-note/plugin.js.map +1 -1
  192. package/dist/pam/profile/plugin.d.ts +106 -1
  193. package/dist/pam/profile/plugin.d.ts.map +1 -1
  194. package/dist/pam/profile/plugin.js +3 -3
  195. package/dist/pam/profile/plugin.js.map +1 -1
  196. package/dist/pam/tag/plugin.d.ts +107 -1
  197. package/dist/pam/tag/plugin.d.ts.map +1 -1
  198. package/dist/pam/tag/plugin.js +3 -3
  199. package/dist/pam/tag/plugin.js.map +1 -1
  200. package/dist/server/kernel/container.d.ts +6 -7
  201. package/dist/server/kernel/container.d.ts.map +1 -1
  202. package/dist/server/kernel/container.js +3 -0
  203. package/dist/server/kernel/container.js.map +1 -1
  204. package/dist/server/plugin-host/__tests__/core-plugins.test.js +1 -1
  205. package/dist/server/plugin-host/__tests__/core-plugins.test.js.map +1 -1
  206. package/dist/server/plugin-host/__tests__/load-plugins.test.js +10 -1
  207. package/dist/server/plugin-host/__tests__/load-plugins.test.js.map +1 -1
  208. package/dist/server/plugin-host/__tests__/module-registry.test.js.map +1 -1
  209. package/dist/server/plugin-host/__tests__/required-ports.test.js +1 -0
  210. package/dist/server/plugin-host/__tests__/required-ports.test.js.map +1 -1
  211. package/dist/server/plugin-host/__tests__/typed-plugin.test.js +56 -17
  212. package/dist/server/plugin-host/__tests__/typed-plugin.test.js.map +1 -1
  213. package/dist/server/plugin-host/core-plugins.js +19 -19
  214. package/dist/server/plugin-host/core-plugins.js.map +1 -1
  215. package/dist/server/plugin-host/define-plugin.d.ts +20 -21
  216. package/dist/server/plugin-host/define-plugin.d.ts.map +1 -1
  217. package/dist/server/plugin-host/define-plugin.js +1 -8
  218. package/dist/server/plugin-host/define-plugin.js.map +1 -1
  219. package/dist/server/plugin-host/index.d.ts +2 -3
  220. package/dist/server/plugin-host/index.d.ts.map +1 -1
  221. package/dist/server/plugin-host/index.js +1 -2
  222. package/dist/server/plugin-host/index.js.map +1 -1
  223. package/dist/server/plugin-host/load-plugins.d.ts +6 -21
  224. package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
  225. package/dist/server/plugin-host/load-plugins.js +9 -4
  226. package/dist/server/plugin-host/load-plugins.js.map +1 -1
  227. package/dist/server/plugin-host/module-registry.d.ts +8 -13
  228. package/dist/server/plugin-host/module-registry.d.ts.map +1 -1
  229. package/dist/server/plugin-host/module-registry.js +2 -9
  230. package/dist/server/plugin-host/module-registry.js.map +1 -1
  231. package/dist/server/runtime/__tests__/create-app.test.js +8 -3
  232. package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
  233. package/dist/server/runtime/core-token-catalog.d.ts +106 -0
  234. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -0
  235. package/dist/server/runtime/core-token-catalog.js +53 -0
  236. package/dist/server/runtime/core-token-catalog.js.map +1 -0
  237. package/dist/server/runtime/create-app.d.ts +3 -14
  238. package/dist/server/runtime/create-app.d.ts.map +1 -1
  239. package/dist/server/runtime/create-app.js +13 -17
  240. package/dist/server/runtime/create-app.js.map +1 -1
  241. package/dist/server/runtime/index.d.ts +2 -3
  242. package/dist/server/runtime/index.d.ts.map +1 -1
  243. package/dist/server/runtime/index.js +0 -2
  244. package/dist/server/runtime/index.js.map +1 -1
  245. package/dist/wallet/plugin.d.ts +107 -1
  246. package/dist/wallet/plugin.d.ts.map +1 -1
  247. package/dist/wallet/plugin.js +3 -3
  248. package/dist/wallet/plugin.js.map +1 -1
  249. package/generators/src/config.ts +1 -28
  250. package/generators/src/templates/adapter.hbs +3 -3
  251. package/generators/src/templates/contract.hbs +1 -1
  252. package/generators/src/templates/job-worker.hbs +3 -3
  253. package/generators/src/templates/module/plugin.hbs +4 -3
  254. package/generators/src/templates/plugin.hbs +3 -3
  255. package/package.json +1 -1
  256. package/dist/server/runtime/openapi.d.ts +0 -15
  257. package/dist/server/runtime/openapi.d.ts.map +0 -1
  258. package/dist/server/runtime/openapi.js +0 -26
  259. package/dist/server/runtime/openapi.js.map +0 -1
  260. 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 - see `compliance/AGENTS.md` > KYC workflow completeness.
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
- * see `compliance/AGENTS.md` > Webhook -> job flow. `receivedAt` is the webhook's
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 (extracted so the two documented locking/idempotency rules
146
- * in `compliance/AGENTS.md` > Admin KYC actions cannot silently diverge between the
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, no duplicate `compliance.kyc.updated` emit. See `compliance/AGENTS.md` >
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. Rationale for
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 (`compliance/AGENTS.md`).
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;;;;;;;OAOG;YACW,mBAAmB;IAoCjC;;;;;OAKG;IACG,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;IAkBjF;;;;;;OAMG;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"}
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 - see `compliance/AGENTS.md` > KYC workflow completeness.
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
- * see `compliance/AGENTS.md` > Webhook -> job flow. `receivedAt` is the webhook's
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 (extracted so the two documented locking/idempotency rules
302
- * in `compliance/AGENTS.md` > Admin KYC actions cannot silently diverge between the
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, no duplicate `compliance.kyc.updated` emit. See `compliance/AGENTS.md` >
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. Rationale for
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 (`compliance/AGENTS.md`).
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;AAOnD,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;AAMF,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
+ {"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
- // Admin/back-office reporting over game performance. Owned + bound by the
3
- // casino/gaming module (it owns the `game`/`gameRound` tables); the back-office
4
- // depends only on this port, never on the gaming schema. A query port like
5
- // ADMIN_WALLET_REPORTING. See ADR-0017/0025.
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,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAC3E,6CAA6C;AAE7C,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,MAAM;IACN,UAAU;IACV,QAAQ;IACR,SAAS;IACT,eAAe;IACf,cAAc;CACN,CAAC;AAoCX,MAAM,CAAC,MAAM,oBAAoB,GAA8B,WAAW,CAAC,sBAAsB,CAAC,CAAC"}
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":"AAIA,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;IAGpC,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
+ {"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
- // Port for DB-backed admin RBAC. A backoffice iam module binds a concrete
2
- // resolver that reads role assignments + grants from its own tables; the
3
- // AdminGuard (in @openora/core/server) depends only on this interface so the platform
4
- // keeps working - falling back to the static roles - when no resolver is bound.
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,0EAA0E;AAC1E,yEAAyE;AACzE,sFAAsF;AACtF,gFAAgF;AAChF,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAUrD,MAAM,CAAC,MAAM,yBAAyB,GAAmC,WAAW,CAClF,2BAA2B,CAC5B,CAAC"}
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;AASrD,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAGF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAGF,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;AAOF,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;IAIpF,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
+ {"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;AAqDrD,MAAM,CAAC,MAAM,qBAAqB,GAChC,WAAW,CAAC,uBAAuB,CAAC,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;AAO3C,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;AAIF,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;IAE9C,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;IAGhC,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAIzE,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAMhE,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
+ {"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;AAsBrD,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW;IACX,OAAO;IACP,MAAM;IACN,MAAM;IACN,UAAU;IACV,eAAe;CACP,CAAC;AAmDX,MAAM,CAAC,MAAM,oBAAoB,GAA8B,WAAW,CAAC,sBAAsB,CAAC,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;AAM3C,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;IAE5B,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
+ {"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;AAgCrD,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
+ {"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":"AAGA,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;AAO9F,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
+ {"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
- // Igaming-aggregator seam. An aggregator fans out to many game providers'
2
- // catalogues; bind a concrete adapter to AGGREGATOR_ADAPTER in the
3
- // igaming-aggregator module's plugin.ts.
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,0EAA0E;AAC1E,mEAAmE;AACnE,yCAAyC;AACzC,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAgBrD,MAAM,CAAC,MAAM,kBAAkB,GAA6B,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAW9F,MAAM,CAAC,MAAM,2BAA2B,GAAqC,WAAW,CACtF,6BAA6B,CAC9B,CAAC"}
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":"AAKA,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;AAIjE,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,cAAc,GACd,6BAA6B,GAC7B,iCAAiC,GACjC,iCAAiC,GACjC,qCAAqC,GACrC,mCAAmC,CAAC;AAMxC,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
+ {"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":"AAOA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAiDjE,MAAM,CAAC,MAAM,YAAY,GACvB,iBAAiB,CAAiB,cAAc,CAAC,CAAC"}
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"}