@openora/core 0.4.0 → 0.4.1-canary.11

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 (427) hide show
  1. package/LICENSE-COMMERCIAL.md +2 -2
  2. package/README.md +8 -2
  3. package/dist/.tsbuildinfo +1 -1
  4. package/dist/admin-console/__tests__/backoffice.service.test.js +1 -1
  5. package/dist/admin-console/__tests__/backoffice.service.test.js.map +1 -1
  6. package/dist/admin-console/contract/index.d.ts +14 -14
  7. package/dist/admin-console/contract/index.d.ts.map +1 -1
  8. package/dist/admin-console/contract/index.js +8 -8
  9. package/dist/admin-console/contract/index.js.map +1 -1
  10. package/dist/admin-console/router/index.d.ts +7 -7
  11. package/dist/admin-console/service/backoffice.service.d.ts +22 -49
  12. package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
  13. package/dist/admin-console/service/backoffice.service.js +16 -31
  14. package/dist/admin-console/service/backoffice.service.js.map +1 -1
  15. package/dist/audit/__tests__/audit.service.test.js +29 -2
  16. package/dist/audit/__tests__/audit.service.test.js.map +1 -1
  17. package/dist/audit/contract/index.d.ts.map +1 -1
  18. package/dist/audit/contract/index.js +2 -0
  19. package/dist/audit/contract/index.js.map +1 -1
  20. package/dist/audit/plugin.d.ts.map +1 -1
  21. package/dist/audit/plugin.js +54 -4
  22. package/dist/audit/plugin.js.map +1 -1
  23. package/dist/audit/service/audit.service.d.ts +1 -0
  24. package/dist/audit/service/audit.service.d.ts.map +1 -1
  25. package/dist/audit/service/audit.service.js +53 -25
  26. package/dist/audit/service/audit.service.js.map +1 -1
  27. package/dist/casino/gaming/contract/index.d.ts.map +1 -1
  28. package/dist/casino/gaming/contract/index.js +3 -3
  29. package/dist/casino/gaming/contract/index.js.map +1 -1
  30. package/dist/casino/gaming/drizzle/migrations/0001_easy_ben_grimm.sql +4 -0
  31. package/dist/casino/gaming/drizzle/migrations/meta/0001_snapshot.json +188 -0
  32. package/dist/casino/gaming/drizzle/migrations/meta/_journal.json +7 -0
  33. package/dist/casino/gaming/schema/index.js +2 -2
  34. package/dist/casino/gaming/schema/index.js.map +1 -1
  35. package/dist/casino/gaming/service/gaming.service.d.ts +11 -11
  36. package/dist/casino/gaming/service/gaming.service.d.ts.map +1 -1
  37. package/dist/casino/gaming/service/gaming.service.js +4 -14
  38. package/dist/casino/gaming/service/gaming.service.js.map +1 -1
  39. package/dist/cms/__tests__/cms.cache.test.js +1 -1
  40. package/dist/cms/__tests__/cms.cache.test.js.map +1 -1
  41. package/dist/cms/__tests__/cms.router.test.d.ts +2 -0
  42. package/dist/cms/__tests__/cms.router.test.d.ts.map +1 -0
  43. package/dist/cms/__tests__/cms.router.test.js +51 -0
  44. package/dist/cms/__tests__/cms.router.test.js.map +1 -0
  45. package/dist/cms/router/index.d.ts.map +1 -1
  46. package/dist/cms/router/index.js +12 -12
  47. package/dist/cms/router/index.js.map +1 -1
  48. package/dist/cms/service/cms.service.d.ts +7 -7
  49. package/dist/cms/service/cms.service.d.ts.map +1 -1
  50. package/dist/cms/service/cms.service.js +39 -23
  51. package/dist/cms/service/cms.service.js.map +1 -1
  52. package/dist/compliance/__tests__/compliance.service.test.js +2 -1
  53. package/dist/compliance/__tests__/compliance.service.test.js.map +1 -1
  54. package/dist/compliance/__tests__/kyc.service.test.js +12 -10
  55. package/dist/compliance/__tests__/kyc.service.test.js.map +1 -1
  56. package/dist/compliance/__tests__/rg-monitoring.service.test.js +17 -6
  57. package/dist/compliance/__tests__/rg-monitoring.service.test.js.map +1 -1
  58. package/dist/compliance/__tests__/rg.contract.test.js +18 -10
  59. package/dist/compliance/__tests__/rg.contract.test.js.map +1 -1
  60. package/dist/compliance/__tests__/rg.router.test.js +5 -4
  61. package/dist/compliance/__tests__/rg.router.test.js.map +1 -1
  62. package/dist/compliance/__tests__/rg.service.test.js +18 -12
  63. package/dist/compliance/__tests__/rg.service.test.js.map +1 -1
  64. package/dist/compliance/contract/index.d.ts +20 -14
  65. package/dist/compliance/contract/index.d.ts.map +1 -1
  66. package/dist/compliance/contract/limits.d.ts +9 -2
  67. package/dist/compliance/contract/limits.d.ts.map +1 -1
  68. package/dist/compliance/contract/limits.js +21 -3
  69. package/dist/compliance/contract/limits.js.map +1 -1
  70. package/dist/compliance/contract/rg.d.ts +28 -23
  71. package/dist/compliance/contract/rg.d.ts.map +1 -1
  72. package/dist/compliance/contract/rg.js +14 -9
  73. package/dist/compliance/contract/rg.js.map +1 -1
  74. package/dist/compliance/drizzle/migrations/0001_funny_vance_astro.sql +5 -0
  75. package/dist/compliance/drizzle/migrations/meta/0001_snapshot.json +660 -0
  76. package/dist/compliance/drizzle/migrations/meta/_journal.json +7 -0
  77. package/dist/compliance/plugin.d.ts.map +1 -1
  78. package/dist/compliance/plugin.js +26 -12
  79. package/dist/compliance/plugin.js.map +1 -1
  80. package/dist/compliance/router/index.d.ts +20 -14
  81. package/dist/compliance/router/index.d.ts.map +1 -1
  82. package/dist/compliance/router/index.js +2 -1
  83. package/dist/compliance/router/index.js.map +1 -1
  84. package/dist/compliance/schema/index.d.ts +31 -14
  85. package/dist/compliance/schema/index.d.ts.map +1 -1
  86. package/dist/compliance/schema/index.js +10 -7
  87. package/dist/compliance/schema/index.js.map +1 -1
  88. package/dist/compliance/service/compliance.service.d.ts +27 -22
  89. package/dist/compliance/service/compliance.service.d.ts.map +1 -1
  90. package/dist/compliance/service/compliance.service.js +9 -22
  91. package/dist/compliance/service/compliance.service.js.map +1 -1
  92. package/dist/compliance/service/kyc.service.d.ts +22 -19
  93. package/dist/compliance/service/kyc.service.d.ts.map +1 -1
  94. package/dist/compliance/service/kyc.service.js +19 -24
  95. package/dist/compliance/service/kyc.service.js.map +1 -1
  96. package/dist/compliance/service/re-kyc-trigger.d.ts +4 -4
  97. package/dist/compliance/service/re-kyc-trigger.d.ts.map +1 -1
  98. package/dist/compliance/service/re-kyc-trigger.js +10 -6
  99. package/dist/compliance/service/re-kyc-trigger.js.map +1 -1
  100. package/dist/compliance/service/rg-eval.d.ts.map +1 -1
  101. package/dist/compliance/service/rg-eval.js +4 -2
  102. package/dist/compliance/service/rg-eval.js.map +1 -1
  103. package/dist/compliance/service/rg-monitoring.service.d.ts +6 -5
  104. package/dist/compliance/service/rg-monitoring.service.d.ts.map +1 -1
  105. package/dist/compliance/service/rg-monitoring.service.js +62 -31
  106. package/dist/compliance/service/rg-monitoring.service.js.map +1 -1
  107. package/dist/compliance/service/rg.service.d.ts +28 -6
  108. package/dist/compliance/service/rg.service.d.ts.map +1 -1
  109. package/dist/compliance/service/rg.service.js +60 -34
  110. package/dist/compliance/service/rg.service.js.map +1 -1
  111. package/dist/contracts/adapters/admin-wallet-reporting.d.ts +5 -5
  112. package/dist/contracts/adapters/payment.d.ts +2 -2
  113. package/dist/contracts/adapters/wallet-commands.d.ts +5 -5
  114. package/dist/contracts/adapters/wallet-reader.d.ts +2 -2
  115. package/dist/contracts/adapters/wallet-reader.d.ts.map +1 -1
  116. package/dist/contracts/schemas/common.d.ts +2 -5
  117. package/dist/contracts/schemas/common.d.ts.map +1 -1
  118. package/dist/contracts/schemas/common.js +3 -4
  119. package/dist/contracts/schemas/common.js.map +1 -1
  120. package/dist/contracts/schemas/events.d.ts +35 -9
  121. package/dist/contracts/schemas/events.d.ts.map +1 -1
  122. package/dist/contracts/schemas/events.js +32 -7
  123. package/dist/contracts/schemas/events.js.map +1 -1
  124. package/dist/contracts/schemas/platform-config.d.ts +9 -9
  125. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  126. package/dist/contracts/schemas/platform-config.js +6 -5
  127. package/dist/contracts/schemas/platform-config.js.map +1 -1
  128. package/dist/contracts/schemas/player.d.ts +2 -2
  129. package/dist/contracts/schemas/player.js +3 -3
  130. package/dist/contracts/schemas/player.js.map +1 -1
  131. package/dist/contracts/schemas/tag.d.ts +2 -2
  132. package/dist/contracts/schemas/tag.js +3 -3
  133. package/dist/contracts/schemas/tag.js.map +1 -1
  134. package/dist/engagement/chat/moderation/moderate.d.ts.map +1 -1
  135. package/dist/engagement/chat/moderation/moderate.js +2 -1
  136. package/dist/engagement/chat/moderation/moderate.js.map +1 -1
  137. package/dist/engagement/chat/react/use-chat-stream.d.ts +2 -3
  138. package/dist/engagement/chat/react/use-chat-stream.d.ts.map +1 -1
  139. package/dist/engagement/chat/react/use-chat-stream.js +4 -2
  140. package/dist/engagement/chat/react/use-chat-stream.js.map +1 -1
  141. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  142. package/dist/engagement/chat/router/index.js +2 -1
  143. package/dist/engagement/chat/router/index.js.map +1 -1
  144. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  145. package/dist/engagement/chat/service/chat.service.js +22 -11
  146. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  147. package/dist/engagement/notifications/__tests__/notifications.service.test.js +4 -3
  148. package/dist/engagement/notifications/__tests__/notifications.service.test.js.map +1 -1
  149. package/dist/engagement/notifications/contract/index.d.ts +24 -2
  150. package/dist/engagement/notifications/contract/index.d.ts.map +1 -1
  151. package/dist/engagement/notifications/contract/index.js +10 -1
  152. package/dist/engagement/notifications/contract/index.js.map +1 -1
  153. package/dist/engagement/notifications/index.d.ts +1 -1
  154. package/dist/engagement/notifications/index.d.ts.map +1 -1
  155. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  156. package/dist/engagement/notifications/plugin.js +6 -3
  157. package/dist/engagement/notifications/plugin.js.map +1 -1
  158. package/dist/engagement/notifications/router/index.d.ts +4 -1
  159. package/dist/engagement/notifications/router/index.d.ts.map +1 -1
  160. package/dist/engagement/notifications/router/index.js +15 -6
  161. package/dist/engagement/notifications/router/index.js.map +1 -1
  162. package/dist/engagement/notifications/service/notifications.service.d.ts +6 -13
  163. package/dist/engagement/notifications/service/notifications.service.d.ts.map +1 -1
  164. package/dist/engagement/notifications/service/notifications.service.js +6 -14
  165. package/dist/engagement/notifications/service/notifications.service.js.map +1 -1
  166. package/dist/iam/__tests__/iam.service.test.js +14 -9
  167. package/dist/iam/__tests__/iam.service.test.js.map +1 -1
  168. package/dist/iam/plugin.d.ts.map +1 -1
  169. package/dist/iam/plugin.js +4 -2
  170. package/dist/iam/plugin.js.map +1 -1
  171. package/dist/iam/seed/seed-default-roles.d.ts.map +1 -1
  172. package/dist/iam/seed/seed-default-roles.js +2 -1
  173. package/dist/iam/seed/seed-default-roles.js.map +1 -1
  174. package/dist/iam/service/iam.service.d.ts +19 -17
  175. package/dist/iam/service/iam.service.d.ts.map +1 -1
  176. package/dist/iam/service/iam.service.js +68 -34
  177. package/dist/iam/service/iam.service.js.map +1 -1
  178. package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
  179. package/dist/pam/identity/admin-user-directory.js +18 -9
  180. package/dist/pam/identity/admin-user-directory.js.map +1 -1
  181. package/dist/pam/identity/router/index.d.ts.map +1 -1
  182. package/dist/pam/identity/router/index.js +4 -2
  183. package/dist/pam/identity/router/index.js.map +1 -1
  184. package/dist/pam/identity/service/identity.service.d.ts +24 -2
  185. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  186. package/dist/pam/identity/service/identity.service.js +51 -19
  187. package/dist/pam/identity/service/identity.service.js.map +1 -1
  188. package/dist/pam/identity/service/login-enforcement.service.d.ts +3 -3
  189. package/dist/pam/identity/service/login-enforcement.service.d.ts.map +1 -1
  190. package/dist/pam/identity/service/login-enforcement.service.js.map +1 -1
  191. package/dist/pam/identity/service/session.service.d.ts +5 -3
  192. package/dist/pam/identity/service/session.service.d.ts.map +1 -1
  193. package/dist/pam/identity/service/session.service.js +3 -3
  194. package/dist/pam/identity/service/session.service.js.map +1 -1
  195. package/dist/pam/player-management/__tests__/kyc-status-writer.test.js +2 -1
  196. package/dist/pam/player-management/__tests__/kyc-status-writer.test.js.map +1 -1
  197. package/dist/pam/player-management/__tests__/player.router.test.js +2 -2
  198. package/dist/pam/player-management/__tests__/player.router.test.js.map +1 -1
  199. package/dist/pam/player-management/__tests__/player.service.test.js +2 -1
  200. package/dist/pam/player-management/__tests__/player.service.test.js.map +1 -1
  201. package/dist/pam/player-management/contract/index.d.ts +10 -10
  202. package/dist/pam/player-management/router/index.d.ts +8 -8
  203. package/dist/pam/player-management/service/kyc-status-writer.d.ts.map +1 -1
  204. package/dist/pam/player-management/service/kyc-status-writer.js +2 -1
  205. package/dist/pam/player-management/service/kyc-status-writer.js.map +1 -1
  206. package/dist/pam/player-management/service/player.service.d.ts +15 -15
  207. package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
  208. package/dist/pam/player-management/service/player.service.js +15 -12
  209. package/dist/pam/player-management/service/player.service.js.map +1 -1
  210. package/dist/pam/player-note/schema/index.d.ts +4 -4
  211. package/dist/pam/player-note/schema/index.js +6 -6
  212. package/dist/pam/player-note/schema/index.js.map +1 -1
  213. package/dist/pam/player-note/service/player-note.service.d.ts +11 -3
  214. package/dist/pam/player-note/service/player-note.service.d.ts.map +1 -1
  215. package/dist/pam/player-note/service/player-note.service.js +1 -1
  216. package/dist/pam/player-note/service/player-note.service.js.map +1 -1
  217. package/dist/pam/profile/__tests__/profile.service.test.js +2 -1
  218. package/dist/pam/profile/__tests__/profile.service.test.js.map +1 -1
  219. package/dist/pam/profile/contract/index.d.ts +4 -4
  220. package/dist/pam/profile/react/profile.d.ts +6 -7
  221. package/dist/pam/profile/react/profile.d.ts.map +1 -1
  222. package/dist/pam/profile/react/profile.js.map +1 -1
  223. package/dist/pam/profile/router/index.d.ts +4 -4
  224. package/dist/pam/profile/service/profile.service.d.ts +4 -4
  225. package/dist/pam/profile/service/profile.service.d.ts.map +1 -1
  226. package/dist/pam/profile/service/profile.service.js +2 -1
  227. package/dist/pam/profile/service/profile.service.js.map +1 -1
  228. package/dist/pam/shared/headers-mapper.d.ts.map +1 -1
  229. package/dist/pam/shared/headers-mapper.js +2 -1
  230. package/dist/pam/shared/headers-mapper.js.map +1 -1
  231. package/dist/pam/shared/player-mapper.d.ts +17 -2
  232. package/dist/pam/shared/player-mapper.d.ts.map +1 -1
  233. package/dist/pam/shared/player-mapper.js +2 -2
  234. package/dist/pam/shared/player-mapper.js.map +1 -1
  235. package/dist/pam/tag/__tests__/get-active-tag-keys.test.js +2 -1
  236. package/dist/pam/tag/__tests__/get-active-tag-keys.test.js.map +1 -1
  237. package/dist/pam/tag/__tests__/tag-evaluation.service.test.js +19 -18
  238. package/dist/pam/tag/__tests__/tag-evaluation.service.test.js.map +1 -1
  239. package/dist/pam/tag/__tests__/tag-mappers.test.js +6 -6
  240. package/dist/pam/tag/__tests__/tag-mappers.test.js.map +1 -1
  241. package/dist/pam/tag/__tests__/tag-rule.service.test.js +14 -14
  242. package/dist/pam/tag/__tests__/tag-rule.service.test.js.map +1 -1
  243. package/dist/pam/tag/__tests__/tag.router.test.d.ts +2 -0
  244. package/dist/pam/tag/__tests__/tag.router.test.d.ts.map +1 -0
  245. package/dist/pam/tag/__tests__/tag.router.test.js +38 -0
  246. package/dist/pam/tag/__tests__/tag.router.test.js.map +1 -0
  247. package/dist/pam/tag/contract/index.d.ts +3 -3
  248. package/dist/pam/tag/drizzle/migrations/0001_neat_iron_monger.sql +2 -0
  249. package/dist/pam/tag/drizzle/migrations/meta/0001_snapshot.json +295 -0
  250. package/dist/pam/tag/drizzle/migrations/meta/_journal.json +7 -0
  251. package/dist/pam/tag/router/index.d.ts +3 -3
  252. package/dist/pam/tag/schema/index.d.ts +16 -16
  253. package/dist/pam/tag/schema/index.d.ts.map +1 -1
  254. package/dist/pam/tag/schema/index.js +19 -19
  255. package/dist/pam/tag/schema/index.js.map +1 -1
  256. package/dist/pam/tag/seed/data/default-tag-rules.js +6 -6
  257. package/dist/pam/tag/seed/data/default-tag-rules.js.map +1 -1
  258. package/dist/pam/tag/seed/seed-default-tag-rules.d.ts.map +1 -1
  259. package/dist/pam/tag/seed/seed-default-tag-rules.js +5 -3
  260. package/dist/pam/tag/seed/seed-default-tag-rules.js.map +1 -1
  261. package/dist/pam/tag/service/tag-evaluation.service.d.ts.map +1 -1
  262. package/dist/pam/tag/service/tag-evaluation.service.js +32 -18
  263. package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
  264. package/dist/pam/tag/service/tag-mappers.d.ts +8 -2
  265. package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
  266. package/dist/pam/tag/service/tag-mappers.js +3 -8
  267. package/dist/pam/tag/service/tag-mappers.js.map +1 -1
  268. package/dist/pam/tag/service/tag-rule.service.d.ts +34 -4
  269. package/dist/pam/tag/service/tag-rule.service.d.ts.map +1 -1
  270. package/dist/pam/tag/service/tag-rule.service.js +9 -15
  271. package/dist/pam/tag/service/tag-rule.service.js.map +1 -1
  272. package/dist/pam/tag/service/tag.service.d.ts +51 -8
  273. package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
  274. package/dist/pam/tag/service/tag.service.js +6 -11
  275. package/dist/pam/tag/service/tag.service.js.map +1 -1
  276. package/dist/react/context/api-client.d.ts.map +1 -1
  277. package/dist/react/context/api-client.js +14 -7
  278. package/dist/react/context/api-client.js.map +1 -1
  279. package/dist/react/hooks/use-event-stream.d.ts.map +1 -1
  280. package/dist/react/hooks/use-event-stream.js +6 -3
  281. package/dist/react/hooks/use-event-stream.js.map +1 -1
  282. package/dist/react/hooks/use-paginated-list.js +3 -3
  283. package/dist/react/hooks/use-paginated-list.js.map +1 -1
  284. package/dist/server/auth/admin-guard.d.ts +12 -0
  285. package/dist/server/auth/admin-guard.d.ts.map +1 -1
  286. package/dist/server/auth/admin-guard.js +14 -1
  287. package/dist/server/auth/admin-guard.js.map +1 -1
  288. package/dist/server/auth/auth.d.ts +9 -0
  289. package/dist/server/auth/auth.d.ts.map +1 -1
  290. package/dist/server/auth/auth.js +9 -1
  291. package/dist/server/auth/auth.js.map +1 -1
  292. package/dist/server/auth/permission-levels.d.ts.map +1 -1
  293. package/dist/server/auth/permission-levels.js +12 -6
  294. package/dist/server/auth/permission-levels.js.map +1 -1
  295. package/dist/server/db/drizzle.d.ts.map +1 -1
  296. package/dist/server/db/drizzle.js +2 -1
  297. package/dist/server/db/drizzle.js.map +1 -1
  298. package/dist/server/db/drizzle.service.d.ts.map +1 -1
  299. package/dist/server/db/drizzle.service.js +2 -1
  300. package/dist/server/db/drizzle.service.js.map +1 -1
  301. package/dist/server/db/index.d.ts +1 -1
  302. package/dist/server/db/index.d.ts.map +1 -1
  303. package/dist/server/db/index.js +1 -1
  304. package/dist/server/db/index.js.map +1 -1
  305. package/dist/server/db/migrate.d.ts.map +1 -1
  306. package/dist/server/db/migrate.js +2 -1
  307. package/dist/server/db/migrate.js.map +1 -1
  308. package/dist/server/db/outbox/__tests__/relay.test.js +4 -2
  309. package/dist/server/db/outbox/__tests__/relay.test.js.map +1 -1
  310. package/dist/server/db/outbox/relay.d.ts +15 -0
  311. package/dist/server/db/outbox/relay.d.ts.map +1 -1
  312. package/dist/server/db/outbox/relay.js +21 -14
  313. package/dist/server/db/outbox/relay.js.map +1 -1
  314. package/dist/server/db/query-helpers.d.ts +2 -0
  315. package/dist/server/db/query-helpers.d.ts.map +1 -1
  316. package/dist/server/db/query-helpers.js +28 -1
  317. package/dist/server/db/query-helpers.js.map +1 -1
  318. package/dist/server/kernel/__tests__/event-bus.test.js +10 -7
  319. package/dist/server/kernel/__tests__/event-bus.test.js.map +1 -1
  320. package/dist/server/kernel/__tests__/job-queue.test.js +5 -2
  321. package/dist/server/kernel/__tests__/job-queue.test.js.map +1 -1
  322. package/dist/server/kernel/__tests__/rate-limiter.test.js +10 -5
  323. package/dist/server/kernel/__tests__/rate-limiter.test.js.map +1 -1
  324. package/dist/server/kernel/__tests__/redis-cache.test.js +2 -1
  325. package/dist/server/kernel/__tests__/redis-cache.test.js.map +1 -1
  326. package/dist/server/kernel/bullmq-job-queue.d.ts +12 -0
  327. package/dist/server/kernel/bullmq-job-queue.d.ts.map +1 -1
  328. package/dist/server/kernel/bullmq-job-queue.js +21 -4
  329. package/dist/server/kernel/bullmq-job-queue.js.map +1 -1
  330. package/dist/server/kernel/cache.d.ts.map +1 -1
  331. package/dist/server/kernel/cache.js +14 -7
  332. package/dist/server/kernel/cache.js.map +1 -1
  333. package/dist/server/kernel/container.d.ts +10 -0
  334. package/dist/server/kernel/container.d.ts.map +1 -1
  335. package/dist/server/kernel/container.js +12 -1
  336. package/dist/server/kernel/container.js.map +1 -1
  337. package/dist/server/kernel/event-bus.d.ts +9 -0
  338. package/dist/server/kernel/event-bus.d.ts.map +1 -1
  339. package/dist/server/kernel/event-bus.js +9 -1
  340. package/dist/server/kernel/event-bus.js.map +1 -1
  341. package/dist/server/kernel/event-stream.d.ts.map +1 -1
  342. package/dist/server/kernel/event-stream.js +2 -1
  343. package/dist/server/kernel/event-stream.js.map +1 -1
  344. package/dist/server/kernel/job-queue.d.ts +12 -0
  345. package/dist/server/kernel/job-queue.d.ts.map +1 -1
  346. package/dist/server/kernel/job-queue.js +38 -15
  347. package/dist/server/kernel/job-queue.js.map +1 -1
  348. package/dist/server/kernel/ownership.d.ts.map +1 -1
  349. package/dist/server/kernel/ownership.js +2 -1
  350. package/dist/server/kernel/ownership.js.map +1 -1
  351. package/dist/server/kernel/platform-config-loader.d.ts.map +1 -1
  352. package/dist/server/kernel/platform-config-loader.js +34 -16
  353. package/dist/server/kernel/platform-config-loader.js.map +1 -1
  354. package/dist/server/kernel/rate-limiter.d.ts.map +1 -1
  355. package/dist/server/kernel/rate-limiter.js +6 -3
  356. package/dist/server/kernel/rate-limiter.js.map +1 -1
  357. package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
  358. package/dist/server/kernel/realtime-transport.js +10 -5
  359. package/dist/server/kernel/realtime-transport.js.map +1 -1
  360. package/dist/server/kernel/redis-cache.d.ts.map +1 -1
  361. package/dist/server/kernel/redis-cache.js +10 -5
  362. package/dist/server/kernel/redis-cache.js.map +1 -1
  363. package/dist/server/kernel/redis-rate-limiter.d.ts +11 -0
  364. package/dist/server/kernel/redis-rate-limiter.d.ts.map +1 -1
  365. package/dist/server/kernel/redis-rate-limiter.js +13 -1
  366. package/dist/server/kernel/redis-rate-limiter.js.map +1 -1
  367. package/dist/server/kernel/serialize-row.d.ts.map +1 -1
  368. package/dist/server/kernel/serialize-row.js +4 -2
  369. package/dist/server/kernel/serialize-row.js.map +1 -1
  370. package/dist/server/plugin-host/load-extensions.js +2 -1
  371. package/dist/server/plugin-host/load-extensions.js.map +1 -1
  372. package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
  373. package/dist/server/plugin-host/load-plugins.js +4 -2
  374. package/dist/server/plugin-host/load-plugins.js.map +1 -1
  375. package/dist/server/plugin-host/service-manifest.d.ts.map +1 -1
  376. package/dist/server/plugin-host/service-manifest.js +4 -2
  377. package/dist/server/plugin-host/service-manifest.js.map +1 -1
  378. package/dist/server/runtime/create-app.d.ts +12 -0
  379. package/dist/server/runtime/create-app.d.ts.map +1 -1
  380. package/dist/server/runtime/create-app.js +27 -6
  381. package/dist/server/runtime/create-app.js.map +1 -1
  382. package/dist/wallet/__tests__/admin-reporting.test.js +2 -2
  383. package/dist/wallet/__tests__/admin-reporting.test.js.map +1 -1
  384. package/dist/wallet/__tests__/wallet-auto-rule.router.test.js +5 -5
  385. package/dist/wallet/__tests__/wallet-auto-rule.router.test.js.map +1 -1
  386. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +45 -34
  387. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +1 -1
  388. package/dist/wallet/__tests__/wallet-commands.service.test.js +54 -37
  389. package/dist/wallet/__tests__/wallet-commands.service.test.js.map +1 -1
  390. package/dist/wallet/__tests__/wallet-kyc-gate.test.js +5 -5
  391. package/dist/wallet/__tests__/wallet-kyc-gate.test.js.map +1 -1
  392. package/dist/wallet/__tests__/wallet.rate-limit.test.js +2 -2
  393. package/dist/wallet/__tests__/wallet.rate-limit.test.js.map +1 -1
  394. package/dist/wallet/__tests__/wallet.service.test.js +62 -34
  395. package/dist/wallet/__tests__/wallet.service.test.js.map +1 -1
  396. package/dist/wallet/adapters/mock/mock-payment-adapter.d.ts +2 -2
  397. package/dist/wallet/adapters/wallet-reader.service.d.ts +1 -1
  398. package/dist/wallet/adapters/wallet-reader.service.js +1 -1
  399. package/dist/wallet/adapters/wallet-reader.service.js.map +1 -1
  400. package/dist/wallet/admin-reporting.d.ts +4 -4
  401. package/dist/wallet/admin-reporting.d.ts.map +1 -1
  402. package/dist/wallet/admin-reporting.js +8 -8
  403. package/dist/wallet/admin-reporting.js.map +1 -1
  404. package/dist/wallet/contract/index.d.ts +20 -20
  405. package/dist/wallet/contract/index.d.ts.map +1 -1
  406. package/dist/wallet/contract/index.js +14 -10
  407. package/dist/wallet/contract/index.js.map +1 -1
  408. package/dist/wallet/drizzle/migrations/0001_redundant_micromacro.sql +4 -0
  409. package/dist/wallet/drizzle/migrations/meta/0001_snapshot.json +397 -0
  410. package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
  411. package/dist/wallet/plugin.d.ts.map +1 -1
  412. package/dist/wallet/plugin.js +5 -1
  413. package/dist/wallet/plugin.js.map +1 -1
  414. package/dist/wallet/router/index.d.ts +11 -11
  415. package/dist/wallet/schema/index.js +3 -3
  416. package/dist/wallet/schema/index.js.map +1 -1
  417. package/dist/wallet/service/wallet-commands.service.d.ts +1 -0
  418. package/dist/wallet/service/wallet-commands.service.d.ts.map +1 -1
  419. package/dist/wallet/service/wallet-commands.service.js +32 -24
  420. package/dist/wallet/service/wallet-commands.service.js.map +1 -1
  421. package/dist/wallet/service/wallet.service.d.ts +46 -18
  422. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  423. package/dist/wallet/service/wallet.service.js +152 -74
  424. package/dist/wallet/service/wallet.service.js.map +1 -1
  425. package/oxlint/oxlintrc.json +19 -3
  426. package/package.json +1 -1
  427. package/turbo-generators/src/config.ts +18 -6
@@ -11,7 +11,7 @@ function makeRule(overrides = {}) {
11
11
  tagId: 'aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa',
12
12
  tagKey: 'high_roller',
13
13
  isEnabled: true,
14
- thresholdAmount: null,
14
+ threshold: null,
15
15
  thresholdDays: null,
16
16
  thresholdCount: null,
17
17
  createdAt: new Date().toISOString(),
@@ -31,13 +31,14 @@ function makeServices(rules = {}) {
31
31
  const rule = mock({
32
32
  getTagRule: vi.fn(async (tagKey) => {
33
33
  const found = rules[tagKey];
34
- if (!found)
34
+ if (!found) {
35
35
  throw new TagRuleNotFoundError(tagKey);
36
+ }
36
37
  return found;
37
38
  }),
38
39
  });
39
40
  const walletReader = mock({
40
- getLifetimeDeposit: vi.fn().mockResolvedValue(0),
41
+ getLifetimeDeposit: vi.fn().mockResolvedValue('0'),
41
42
  getWithdrawalCountInWindow: vi.fn().mockResolvedValue(0),
42
43
  });
43
44
  const identityReader = mock({
@@ -49,10 +50,10 @@ function makeServices(rules = {}) {
49
50
  return { service, tag, rule, walletReader, identityReader };
50
51
  }
51
52
  function depositPayload(amount) {
52
- return { userId: UID, amount, currency: 'USD', transactionId: TXID };
53
+ return { userId: UID, amount: String(amount), currency: 'USD', transactionId: TXID };
53
54
  }
54
55
  function withdrawalPayload(amount) {
55
- return { userId: UID, amount, currency: 'USD', transactionId: TXID };
56
+ return { userId: UID, amount: String(amount), currency: 'USD', transactionId: TXID };
56
57
  }
57
58
  function kycUpdatedPayload(status) {
58
59
  return { userId: UID, actorId: SYSTEM_ACTOR_ID, status, previousStatus: 'pending' };
@@ -61,41 +62,41 @@ describe('TagEvaluationService', () => {
61
62
  describe('onDepositCompleted', () => {
62
63
  it('assigns large_depositor when a single deposit meets the amount threshold', async () => {
63
64
  const { service, tag } = makeServices({
64
- large_depositor: makeRule({ tagKey: 'large_depositor', thresholdAmount: 500 }),
65
+ large_depositor: makeRule({ tagKey: 'large_depositor', threshold: '500' }),
65
66
  });
66
67
  await service.onDepositCompleted(depositPayload(500));
67
68
  expect(tag.assignPlayerTag).toHaveBeenCalledWith(expect.objectContaining({ playerId: UID, tagKey: 'large_depositor' }));
68
69
  });
69
70
  it('does not assign large_depositor when the deposit is below threshold', async () => {
70
71
  const { service, tag } = makeServices({
71
- large_depositor: makeRule({ tagKey: 'large_depositor', thresholdAmount: 500 }),
72
+ large_depositor: makeRule({ tagKey: 'large_depositor', threshold: '500' }),
72
73
  });
73
74
  await service.onDepositCompleted(depositPayload(499));
74
75
  expect(tag.assignPlayerTag).not.toHaveBeenCalled();
75
76
  });
76
77
  it('assigns high_roller when lifetime deposits meet the threshold', async () => {
77
78
  const { service, tag, walletReader } = makeServices({
78
- high_roller: makeRule({ tagKey: 'high_roller', thresholdAmount: 10000 }),
79
+ high_roller: makeRule({ tagKey: 'high_roller', threshold: '10000' }),
79
80
  });
80
- walletReader.getLifetimeDeposit = vi.fn().mockResolvedValue(12000);
81
+ walletReader.getLifetimeDeposit = vi.fn().mockResolvedValue('12000');
81
82
  await service.onDepositCompleted(depositPayload(100));
82
83
  expect(tag.assignPlayerTag).toHaveBeenCalledWith(expect.objectContaining({ tagKey: 'high_roller' }));
83
84
  });
84
85
  it('removes high_roller when lifetime deposits fall below a raised threshold', async () => {
85
86
  const { service, tag, walletReader } = makeServices({
86
- high_roller: makeRule({ tagKey: 'high_roller', thresholdAmount: 10000 }),
87
+ high_roller: makeRule({ tagKey: 'high_roller', threshold: '10000' }),
87
88
  });
88
- walletReader.getLifetimeDeposit = vi.fn().mockResolvedValue(5000);
89
+ walletReader.getLifetimeDeposit = vi.fn().mockResolvedValue('5000');
89
90
  await service.onDepositCompleted(depositPayload(100));
90
91
  expect(tag.removePlayerTag).toHaveBeenCalledWith(expect.objectContaining({ tagKey: 'high_roller' }));
91
92
  expect(tag.assignPlayerTag).not.toHaveBeenCalled();
92
93
  });
93
94
  it('does nothing when the rules are disabled', async () => {
94
95
  const { service, tag, walletReader } = makeServices({
95
- high_roller: makeRule({ tagKey: 'high_roller', thresholdAmount: 10000, isEnabled: false }),
96
+ high_roller: makeRule({ tagKey: 'high_roller', threshold: '10000', isEnabled: false }),
96
97
  large_depositor: makeRule({
97
98
  tagKey: 'large_depositor',
98
- thresholdAmount: 100,
99
+ threshold: '100',
99
100
  isEnabled: false,
100
101
  }),
101
102
  });
@@ -108,7 +109,7 @@ describe('TagEvaluationService', () => {
108
109
  describe('onWithdrawalCompleted', () => {
109
110
  it('assigns high_risk when a single withdrawal meets the amount threshold', async () => {
110
111
  const { service, tag } = makeServices({
111
- high_risk: makeRule({ tagKey: 'high_risk', thresholdAmount: 1000 }),
112
+ high_risk: makeRule({ tagKey: 'high_risk', threshold: '1000' }),
112
113
  });
113
114
  await service.onWithdrawalCompleted(withdrawalPayload(1500));
114
115
  expect(tag.assignPlayerTag).toHaveBeenCalledWith(expect.objectContaining({ tagKey: 'high_risk' }));
@@ -117,7 +118,7 @@ describe('TagEvaluationService', () => {
117
118
  const { service, tag, walletReader } = makeServices({
118
119
  high_risk: makeRule({
119
120
  tagKey: 'high_risk',
120
- thresholdAmount: 1000,
121
+ threshold: '1000',
121
122
  thresholdDays: 7,
122
123
  thresholdCount: 3,
123
124
  }),
@@ -131,7 +132,7 @@ describe('TagEvaluationService', () => {
131
132
  const { service, tag, walletReader } = makeServices({
132
133
  high_risk: makeRule({
133
134
  tagKey: 'high_risk',
134
- thresholdAmount: 1000,
135
+ threshold: '1000',
135
136
  thresholdDays: 7,
136
137
  thresholdCount: 3,
137
138
  }),
@@ -143,7 +144,7 @@ describe('TagEvaluationService', () => {
143
144
  });
144
145
  it('skips the count check when thresholdDays or thresholdCount is null', async () => {
145
146
  const { service, walletReader } = makeServices({
146
- high_risk: makeRule({ tagKey: 'high_risk', thresholdAmount: 1000, thresholdDays: null }),
147
+ high_risk: makeRule({ tagKey: 'high_risk', threshold: '1000', thresholdDays: null }),
147
148
  });
148
149
  await service.onWithdrawalCompleted(withdrawalPayload(10));
149
150
  expect(walletReader.getWithdrawalCountInWindow).not.toHaveBeenCalled();
@@ -253,7 +254,7 @@ describe('TagEvaluationService', () => {
253
254
  describe('idempotency', () => {
254
255
  it('tryAssignTag swallows TagAlreadyInUseError', async () => {
255
256
  const { service, tag } = makeServices({
256
- large_depositor: makeRule({ tagKey: 'large_depositor', thresholdAmount: 500 }),
257
+ large_depositor: makeRule({ tagKey: 'large_depositor', threshold: '500' }),
257
258
  });
258
259
  tag.assignPlayerTag = vi.fn().mockRejectedValue(new TagAlreadyInUseError());
259
260
  await expect(service.onDepositCompleted(depositPayload(500))).resolves.toBeUndefined();
@@ -1 +1 @@
1
- {"version":3,"file":"tag-evaluation.service.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag-evaluation.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag-evaluation.service.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag-evaluation.service.test.ts"],"names":[],"mappings":"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"}
@@ -78,13 +78,13 @@ describe('toPlayerTagWithTag', () => {
78
78
  });
79
79
  });
80
80
  describe('toTagRule', () => {
81
- it('converts Date fields to ISO strings and decimal thresholdAmount to number', () => {
81
+ it('converts Date fields to ISO strings and passes the decimal threshold through', () => {
82
82
  const result = toTagRule({
83
83
  id: RULE_ID,
84
84
  tagId: TAG_ID,
85
85
  tagKey: 'high_roller',
86
86
  isEnabled: true,
87
- thresholdAmount: '5000.50',
87
+ threshold: '5000.50',
88
88
  thresholdDays: null,
89
89
  thresholdCount: null,
90
90
  createdAt: DATE,
@@ -95,26 +95,26 @@ describe('toTagRule', () => {
95
95
  tagId: TAG_ID,
96
96
  tagKey: 'high_roller',
97
97
  isEnabled: true,
98
- thresholdAmount: 5000.5,
98
+ threshold: '5000.50',
99
99
  thresholdDays: null,
100
100
  thresholdCount: null,
101
101
  createdAt: ISO,
102
102
  updatedAt: ISO,
103
103
  });
104
104
  });
105
- it('passes null thresholdAmount through as null', () => {
105
+ it('passes a null threshold through as null', () => {
106
106
  const result = toTagRule({
107
107
  id: RULE_ID,
108
108
  tagId: TAG_ID,
109
109
  tagKey: 'inactive',
110
110
  isEnabled: true,
111
- thresholdAmount: null,
111
+ threshold: null,
112
112
  thresholdDays: 30,
113
113
  thresholdCount: null,
114
114
  createdAt: DATE,
115
115
  updatedAt: DATE,
116
116
  });
117
- expect(result.thresholdAmount).toBeNull();
117
+ expect(result.threshold).toBeNull();
118
118
  expect(result.thresholdDays).toBe(30);
119
119
  });
120
120
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tag-mappers.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag-mappers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag-mappers.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag-mappers.test.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ function makeRow(overrides = {}) {
9
9
  tagId: TAG_ID,
10
10
  tagKey: 'high_roller',
11
11
  isEnabled: true,
12
- thresholdAmount: '1000',
12
+ threshold: '1000',
13
13
  thresholdDays: null,
14
14
  thresholdCount: null,
15
15
  createdAt: new Date('2024-01-01'),
@@ -17,14 +17,14 @@ function makeRow(overrides = {}) {
17
17
  ...overrides,
18
18
  };
19
19
  }
20
- /** Mirrors what toTagRule does: dates -> ISO strings, decimal string -> number. */
20
+ /** Mirrors what toTagRule does: dates -> ISO strings; decimal-string thresholds pass through. */
21
21
  function mapped(row) {
22
22
  return {
23
23
  id: row.id,
24
24
  tagId: row.tagId,
25
25
  tagKey: row.tagKey,
26
26
  isEnabled: row.isEnabled,
27
- thresholdAmount: row.thresholdAmount === null ? null : Number(row.thresholdAmount),
27
+ threshold: row.threshold,
28
28
  thresholdDays: row.thresholdDays,
29
29
  thresholdCount: row.thresholdCount,
30
30
  createdAt: row.createdAt.toISOString(),
@@ -67,7 +67,7 @@ function makeUpsertDb(tagId, returningResult = []) {
67
67
  describe('TagRuleService', () => {
68
68
  describe('listTagRules', () => {
69
69
  it('returns rows joined with tag key, ordered by tag key', async () => {
70
- const rows = [makeRow(), makeRow({ tagKey: 'inactive', thresholdAmount: null })];
70
+ const rows = [makeRow(), makeRow({ tagKey: 'inactive', threshold: null })];
71
71
  const { drizzle } = makeQueryDb(rows);
72
72
  const svc = new TagRuleService(drizzle, makeEvents());
73
73
  expect(await svc.listTagRules()).toEqual(rows.map(mapped));
@@ -87,37 +87,37 @@ describe('TagRuleService', () => {
87
87
  });
88
88
  });
89
89
  describe('upsertTagRule', () => {
90
- it('upserts and returns the row with tagKey, stringifying thresholdAmount and excluding tagId from the update set', async () => {
90
+ it('upserts and returns the row with tagKey, writing the decimal threshold and excluding tagId from the update set', async () => {
91
91
  const row = makeRow();
92
92
  const { drizzle, db } = makeUpsertDb(TAG_ID, [row]);
93
93
  const svc = new TagRuleService(drizzle, makeEvents());
94
94
  const result = await svc.upsertTagRule({
95
95
  tagKey: 'high_roller',
96
96
  isEnabled: true,
97
- thresholdAmount: 1000,
97
+ threshold: '1000',
98
98
  thresholdDays: null,
99
99
  thresholdCount: null,
100
100
  }, ACTOR_ID);
101
101
  expect(result).toEqual(mapped(row));
102
- expect(db.values).toHaveBeenCalledWith(expect.objectContaining({ tagId: TAG_ID, thresholdAmount: '1000' }));
102
+ expect(db.values).toHaveBeenCalledWith(expect.objectContaining({ tagId: TAG_ID, threshold: '1000' }));
103
103
  // tagId must not appear in the update set (it is the conflict target)
104
104
  expect(db.onConflictDoUpdate).toHaveBeenCalledWith(expect.objectContaining({
105
105
  set: expect.not.objectContaining({ tagId: expect.anything() }),
106
106
  }));
107
- expect(db.onConflictDoUpdate).toHaveBeenCalledWith(expect.objectContaining({ set: expect.objectContaining({ thresholdAmount: '1000' }) }));
107
+ expect(db.onConflictDoUpdate).toHaveBeenCalledWith(expect.objectContaining({ set: expect.objectContaining({ threshold: '1000' }) }));
108
108
  });
109
- it('writes null thresholdAmount when omitted', async () => {
110
- const row = makeRow({ thresholdAmount: null });
109
+ it('writes a null threshold when omitted', async () => {
110
+ const row = makeRow({ threshold: null });
111
111
  const { drizzle, db } = makeUpsertDb(TAG_ID, [row]);
112
112
  const svc = new TagRuleService(drizzle, makeEvents());
113
113
  await svc.upsertTagRule({
114
114
  tagKey: 'inactive',
115
115
  isEnabled: true,
116
- thresholdAmount: null,
116
+ threshold: null,
117
117
  thresholdDays: 30,
118
118
  thresholdCount: null,
119
119
  }, ACTOR_ID);
120
- expect(db.values).toHaveBeenCalledWith(expect.objectContaining({ thresholdAmount: null }));
120
+ expect(db.values).toHaveBeenCalledWith(expect.objectContaining({ threshold: null }));
121
121
  });
122
122
  it('throws TagRuleNotFoundError when no tag row exists for the given key', async () => {
123
123
  const { drizzle } = makeUpsertDb(null);
@@ -125,7 +125,7 @@ describe('TagRuleService', () => {
125
125
  await expect(svc.upsertTagRule({
126
126
  tagKey: 'high_roller',
127
127
  isEnabled: true,
128
- thresholdAmount: null,
128
+ threshold: null,
129
129
  thresholdDays: null,
130
130
  thresholdCount: null,
131
131
  }, ACTOR_ID)).rejects.toBeInstanceOf(TagRuleNotFoundError);
@@ -138,7 +138,7 @@ describe('TagRuleService', () => {
138
138
  await svc.upsertTagRule({
139
139
  tagKey: 'high_roller',
140
140
  isEnabled: true,
141
- thresholdAmount: 1000,
141
+ threshold: '1000',
142
142
  thresholdDays: null,
143
143
  thresholdCount: null,
144
144
  }, ACTOR_ID);
@@ -1 +1 @@
1
- {"version":3,"file":"tag-rule.service.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag-rule.service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tag-rule.service.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag-rule.service.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tag.router.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.router.test.d.ts","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag.router.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { describe, it, expect, vi } from 'vitest';
2
+ import { mock } from '../../../testing/mock.js';
3
+ import { call, ORPCError } from '@orpc/server';
4
+ import { createTagRouter } from '../router/index.js';
5
+ const CTX = { request: { headers: {} } };
6
+ function fakeDenyingGuard() {
7
+ return mock({
8
+ assert: vi.fn(async () => {
9
+ throw new ORPCError('FORBIDDEN', { message: 'Missing permission: tag-rule' });
10
+ }),
11
+ });
12
+ }
13
+ function fakeTagService() {
14
+ return mock({});
15
+ }
16
+ function fakeRuleService() {
17
+ return mock({
18
+ listTagRules: vi.fn(),
19
+ upsertTagRule: vi.fn(),
20
+ });
21
+ }
22
+ describe('tag router authz', () => {
23
+ it('rejects listTagRules for a non-privileged caller', async () => {
24
+ const router = createTagRouter(fakeTagService(), fakeRuleService(), fakeDenyingGuard());
25
+ await expect(call(router.listTagRules, {}, { context: CTX })).rejects.toBeInstanceOf(ORPCError);
26
+ });
27
+ it('rejects upsertTagRule for a non-privileged caller', async () => {
28
+ const router = createTagRouter(fakeTagService(), fakeRuleService(), fakeDenyingGuard());
29
+ await expect(call(router.upsertTagRule, {
30
+ tagKey: 'high_roller',
31
+ isEnabled: true,
32
+ threshold: '1000',
33
+ thresholdDays: null,
34
+ thresholdCount: null,
35
+ }, { context: CTX })).rejects.toBeInstanceOf(ORPCError);
36
+ });
37
+ });
38
+ //# sourceMappingURL=tag.router.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag.router.test.js","sourceRoot":"","sources":["../../../../src/pam/tag/__tests__/tag.router.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAIrD,MAAM,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC;AAEzC,SAAS,gBAAgB;IACvB,OAAO,IAAI,CAAa;QACtB,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,IAAI,SAAS,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,8BAA8B,EAAE,CAAC,CAAC;QAChF,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,IAAI,CAAa,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,IAAI,CAAiB;QAC1B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACvB,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,MAAM,GAAG,eAAe,CAAC,cAAc,EAAE,EAAE,eAAe,EAAE,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACxF,MAAM,MAAM,CACV,IAAI,CACF,MAAM,CAAC,aAAa,EACpB;YACE,MAAM,EAAE,aAAa;YACrB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,IAAI;YACnB,cAAc,EAAE,IAAI;SACrB,EACD,EAAE,OAAO,EAAE,GAAG,EAAE,CACjB,CACF,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -266,7 +266,7 @@ export declare const tagContract: {
266
266
  test_account: "test_account";
267
267
  }>;
268
268
  isEnabled: z.ZodBoolean;
269
- thresholdAmount: z.ZodNullable<z.z.ZodCoercedNumber<unknown>>;
269
+ threshold: z.ZodNullable<z.ZodString>;
270
270
  thresholdDays: z.ZodNullable<z.ZodNumber>;
271
271
  thresholdCount: z.ZodNullable<z.ZodNumber>;
272
272
  createdAt: z.z.ZodISODateTime;
@@ -286,7 +286,7 @@ export declare const tagContract: {
286
286
  test_account: "test_account";
287
287
  }>;
288
288
  isEnabled: z.ZodBoolean;
289
- thresholdAmount: z.ZodNullable<z.z.ZodCoercedNumber<unknown>>;
289
+ threshold: z.ZodNullable<z.ZodString>;
290
290
  thresholdDays: z.ZodNullable<z.ZodNumber>;
291
291
  thresholdCount: z.ZodNullable<z.ZodNumber>;
292
292
  }, z.z.core.$strip>, z.ZodObject<{
@@ -305,7 +305,7 @@ export declare const tagContract: {
305
305
  test_account: "test_account";
306
306
  }>;
307
307
  isEnabled: z.ZodBoolean;
308
- thresholdAmount: z.ZodNullable<z.z.ZodCoercedNumber<unknown>>;
308
+ threshold: z.ZodNullable<z.ZodString>;
309
309
  thresholdDays: z.ZodNullable<z.ZodNumber>;
310
310
  thresholdCount: z.ZodNullable<z.ZodNumber>;
311
311
  createdAt: z.z.ZodISODateTime;
@@ -0,0 +1,2 @@
1
+ ALTER TABLE "tag_rule" ADD COLUMN "threshold" numeric(18, 2);--> statement-breakpoint
2
+ ALTER TABLE "tag_rule" DROP COLUMN "threshold_amount";