@openora/core 0.4.1-canary.39 → 0.4.1-canary.40

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 (142) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/audit/plugin.d.ts.map +1 -1
  3. package/dist/audit/plugin.js +27 -0
  4. package/dist/audit/plugin.js.map +1 -1
  5. package/dist/common/errors/errors.classes.js +3 -3
  6. package/dist/common/errors/errors.classes.js.map +1 -1
  7. package/dist/common/errors/errors.mapper.js +1 -1
  8. package/dist/common/errors/errors.mapper.js.map +1 -1
  9. package/dist/compliance/__tests__/kyc.service.test.js +5 -0
  10. package/dist/compliance/__tests__/kyc.service.test.js.map +1 -1
  11. package/dist/compliance/service/kyc.service.js +1 -1
  12. package/dist/compliance/service/kyc.service.js.map +1 -1
  13. package/dist/contracts/adapters/identity-reader.d.ts +9 -3
  14. package/dist/contracts/adapters/identity-reader.d.ts.map +1 -1
  15. package/dist/contracts/adapters/identity-reader.js.map +1 -1
  16. package/dist/contracts/adapters/index.d.ts +2 -0
  17. package/dist/contracts/adapters/index.d.ts.map +1 -1
  18. package/dist/contracts/adapters/index.js +1 -0
  19. package/dist/contracts/adapters/index.js.map +1 -1
  20. package/dist/contracts/adapters/tag-evaluation-commands.d.ts +10 -0
  21. package/dist/contracts/adapters/tag-evaluation-commands.d.ts.map +1 -0
  22. package/dist/contracts/adapters/tag-evaluation-commands.js +11 -0
  23. package/dist/contracts/adapters/tag-evaluation-commands.js.map +1 -0
  24. package/dist/contracts/adapters/wallet-reader.d.ts +8 -0
  25. package/dist/contracts/adapters/wallet-reader.d.ts.map +1 -1
  26. package/dist/contracts/adapters/wallet-reader.js.map +1 -1
  27. package/dist/contracts/schemas/events.d.ts +57 -0
  28. package/dist/contracts/schemas/events.d.ts.map +1 -1
  29. package/dist/contracts/schemas/events.js +12 -0
  30. package/dist/contracts/schemas/events.js.map +1 -1
  31. package/dist/contracts/schemas/platform-config.d.ts +9 -1
  32. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  33. package/dist/contracts/schemas/player.d.ts +10 -2
  34. package/dist/contracts/schemas/player.d.ts.map +1 -1
  35. package/dist/contracts/schemas/tag.d.ts +65 -1
  36. package/dist/contracts/schemas/tag.d.ts.map +1 -1
  37. package/dist/contracts/schemas/tag.js +10 -0
  38. package/dist/contracts/schemas/tag.js.map +1 -1
  39. package/dist/iam/service/iam.service.d.ts +1 -1
  40. package/dist/pam/identity/adapters/identity-reader.service.d.ts +6 -4
  41. package/dist/pam/identity/adapters/identity-reader.service.d.ts.map +1 -1
  42. package/dist/pam/identity/adapters/identity-reader.service.js +19 -1
  43. package/dist/pam/identity/adapters/identity-reader.service.js.map +1 -1
  44. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  45. package/dist/pam/identity/service/identity.service.js +4 -0
  46. package/dist/pam/identity/service/identity.service.js.map +1 -1
  47. package/dist/pam/player-management/__tests__/player.router.test.js +2 -2
  48. package/dist/pam/player-management/__tests__/player.router.test.js.map +1 -1
  49. package/dist/pam/player-management/__tests__/player.service.test.js +28 -2
  50. package/dist/pam/player-management/__tests__/player.service.test.js.map +1 -1
  51. package/dist/pam/player-management/contract/index.d.ts +21 -1
  52. package/dist/pam/player-management/contract/index.d.ts.map +1 -1
  53. package/dist/pam/player-management/plugin.js +1 -1
  54. package/dist/pam/player-management/plugin.js.map +1 -1
  55. package/dist/pam/player-management/router/index.d.ts +17 -1
  56. package/dist/pam/player-management/router/index.d.ts.map +1 -1
  57. package/dist/pam/player-management/service/player.service.d.ts +3 -1
  58. package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
  59. package/dist/pam/player-management/service/player.service.js +14 -1
  60. package/dist/pam/player-management/service/player.service.js.map +1 -1
  61. package/dist/pam/tag/__tests__/tag-evaluation.service.test.js +600 -17
  62. package/dist/pam/tag/__tests__/tag-evaluation.service.test.js.map +1 -1
  63. package/dist/pam/tag/__tests__/tag-mappers.test.js +25 -0
  64. package/dist/pam/tag/__tests__/tag-mappers.test.js.map +1 -1
  65. package/dist/pam/tag/__tests__/tag.router.test.js +71 -1
  66. package/dist/pam/tag/__tests__/tag.router.test.js.map +1 -1
  67. package/dist/pam/tag/__tests__/tag.service.test.js +342 -15
  68. package/dist/pam/tag/__tests__/tag.service.test.js.map +1 -1
  69. package/dist/pam/tag/contract/index.d.ts +97 -0
  70. package/dist/pam/tag/contract/index.d.ts.map +1 -1
  71. package/dist/pam/tag/contract/index.js +3 -0
  72. package/dist/pam/tag/contract/index.js.map +1 -1
  73. package/dist/pam/tag/contract/player-tag-assign-metadata.d.ts +37 -0
  74. package/dist/pam/tag/contract/player-tag-assign-metadata.d.ts.map +1 -0
  75. package/dist/pam/tag/contract/player-tag-assign-metadata.js +20 -0
  76. package/dist/pam/tag/contract/player-tag-assign-metadata.js.map +1 -0
  77. package/dist/pam/tag/drizzle/migrations/0002_silent_skaar.sql +4 -0
  78. package/dist/pam/tag/drizzle/migrations/0003_overconfident_guardian.sql +3 -0
  79. package/dist/pam/tag/drizzle/migrations/meta/0002_snapshot.json +335 -0
  80. package/dist/pam/tag/drizzle/migrations/meta/0003_snapshot.json +343 -0
  81. package/dist/pam/tag/drizzle/migrations/meta/_journal.json +14 -0
  82. package/dist/pam/tag/migrate.d.ts.map +1 -1
  83. package/dist/pam/tag/migrate.js +34 -0
  84. package/dist/pam/tag/migrate.js.map +1 -1
  85. package/dist/pam/tag/plugin.d.ts.map +1 -1
  86. package/dist/pam/tag/plugin.js +35 -16
  87. package/dist/pam/tag/plugin.js.map +1 -1
  88. package/dist/pam/tag/router/index.d.ts +81 -0
  89. package/dist/pam/tag/router/index.d.ts.map +1 -1
  90. package/dist/pam/tag/router/index.js +34 -18
  91. package/dist/pam/tag/router/index.js.map +1 -1
  92. package/dist/pam/tag/schema/index.d.ts +42 -3
  93. package/dist/pam/tag/schema/index.d.ts.map +1 -1
  94. package/dist/pam/tag/schema/index.js +13 -2
  95. package/dist/pam/tag/schema/index.js.map +1 -1
  96. package/dist/pam/tag/seed/data/default-tag-rules.d.ts.map +1 -1
  97. package/dist/pam/tag/seed/data/default-tag-rules.js +28 -0
  98. package/dist/pam/tag/seed/data/default-tag-rules.js.map +1 -1
  99. package/dist/pam/tag/seed/data/default-tags.d.ts.map +1 -1
  100. package/dist/pam/tag/seed/data/default-tags.js +4 -0
  101. package/dist/pam/tag/seed/data/default-tags.js.map +1 -1
  102. package/dist/pam/tag/service/tag-evaluation.service.d.ts +113 -12
  103. package/dist/pam/tag/service/tag-evaluation.service.d.ts.map +1 -1
  104. package/dist/pam/tag/service/tag-evaluation.service.js +354 -35
  105. package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
  106. package/dist/pam/tag/service/tag-mappers.d.ts +1 -1
  107. package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
  108. package/dist/pam/tag/service/tag-mappers.js +1 -0
  109. package/dist/pam/tag/service/tag-mappers.js.map +1 -1
  110. package/dist/pam/tag/service/tag-rule.service.d.ts +3 -3
  111. package/dist/pam/tag/service/tag.service.d.ts +141 -11
  112. package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
  113. package/dist/pam/tag/service/tag.service.js +242 -23
  114. package/dist/pam/tag/service/tag.service.js.map +1 -1
  115. package/dist/server/auth/permissions.d.ts +12 -0
  116. package/dist/server/auth/permissions.d.ts.map +1 -1
  117. package/dist/server/auth/permissions.js +2 -0
  118. package/dist/server/auth/permissions.js.map +1 -1
  119. package/dist/server/db/__tests__/migrate.test.js +79 -2
  120. package/dist/server/db/__tests__/migrate.test.js.map +1 -1
  121. package/dist/server/db/migrate.d.ts +11 -0
  122. package/dist/server/db/migrate.d.ts.map +1 -1
  123. package/dist/server/db/migrate.js +3 -0
  124. package/dist/server/db/migrate.js.map +1 -1
  125. package/dist/server/plugin-host/__tests__/core-plugins.test.js +1 -1
  126. package/dist/server/plugin-host/__tests__/core-plugins.test.js.map +1 -1
  127. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +60 -0
  128. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +1 -1
  129. package/dist/wallet/__tests__/wallet.service.test.js +41 -0
  130. package/dist/wallet/__tests__/wallet.service.test.js.map +1 -1
  131. package/dist/wallet/adapters/wallet-reader.service.d.ts +1 -0
  132. package/dist/wallet/adapters/wallet-reader.service.d.ts.map +1 -1
  133. package/dist/wallet/adapters/wallet-reader.service.js +18 -1
  134. package/dist/wallet/adapters/wallet-reader.service.js.map +1 -1
  135. package/dist/wallet/plugin.d.ts.map +1 -1
  136. package/dist/wallet/plugin.js +7 -4
  137. package/dist/wallet/plugin.js.map +1 -1
  138. package/dist/wallet/service/wallet.service.d.ts +4 -2
  139. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  140. package/dist/wallet/service/wallet.service.js +11 -1
  141. package/dist/wallet/service/wallet.service.js.map +1 -1
  142. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import z from 'zod';
2
+ export * from './player-tag-assign-metadata.js';
2
3
  export declare const PLAYER_TAG_SORT_BY_VALUES: readonly ["createdAt", "assignActor"];
3
4
  export declare const PlayerTagSortBySchema: z.ZodDefault<z.ZodEnum<{
4
5
  createdAt: "createdAt";
@@ -36,8 +37,23 @@ export declare const PlayerTagWithTagSchema: z.ZodObject<{
36
37
  kyc_pending: "kyc_pending";
37
38
  kyc_rejected: "kyc_rejected";
38
39
  test_account: "test_account";
40
+ dormant_high_roller: "dormant_high_roller";
41
+ withdrawal_review: "withdrawal_review";
42
+ multi_account: "multi_account";
43
+ level: "level";
39
44
  }>;
40
45
  }, z.z.core.$strip>;
46
+ assignMetadata: z.ZodNullable<z.ZodObject<{
47
+ amountBreach: z.ZodNullable<z.ZodObject<{
48
+ amount: z.ZodString;
49
+ threshold: z.ZodString;
50
+ }, z.z.core.$strip>>;
51
+ countBreach: z.ZodNullable<z.ZodObject<{
52
+ count: z.ZodNumber;
53
+ thresholdCount: z.ZodNumber;
54
+ thresholdDays: z.ZodNumber;
55
+ }, z.z.core.$strip>>;
56
+ }, z.z.core.$strip>>;
41
57
  }, z.z.core.$strip>;
42
58
  export type PlayerTagWithTag = z.infer<typeof PlayerTagWithTagSchema>;
43
59
  export declare const tagContract: {
@@ -53,6 +69,10 @@ export declare const tagContract: {
53
69
  kyc_pending: "kyc_pending";
54
70
  kyc_rejected: "kyc_rejected";
55
71
  test_account: "test_account";
72
+ dormant_high_roller: "dormant_high_roller";
73
+ withdrawal_review: "withdrawal_review";
74
+ multi_account: "multi_account";
75
+ level: "level";
56
76
  }>;
57
77
  isSticky: z.ZodDefault<z.ZodBoolean>;
58
78
  }, z.z.core.$strip>, z.ZodObject<{
@@ -68,6 +88,10 @@ export declare const tagContract: {
68
88
  kyc_pending: "kyc_pending";
69
89
  kyc_rejected: "kyc_rejected";
70
90
  test_account: "test_account";
91
+ dormant_high_roller: "dormant_high_roller";
92
+ withdrawal_review: "withdrawal_review";
93
+ multi_account: "multi_account";
94
+ level: "level";
71
95
  }>;
72
96
  isSticky: z.ZodDefault<z.ZodBoolean>;
73
97
  createdAt: z.z.ZodISODateTime;
@@ -85,6 +109,10 @@ export declare const tagContract: {
85
109
  kyc_pending: "kyc_pending";
86
110
  kyc_rejected: "kyc_rejected";
87
111
  test_account: "test_account";
112
+ dormant_high_roller: "dormant_high_roller";
113
+ withdrawal_review: "withdrawal_review";
114
+ multi_account: "multi_account";
115
+ level: "level";
88
116
  }>;
89
117
  }, z.z.core.$strip>, z.ZodBoolean, Record<never, never>, Record<never, never>>;
90
118
  listPlayerTags: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -131,8 +159,23 @@ export declare const tagContract: {
131
159
  kyc_pending: "kyc_pending";
132
160
  kyc_rejected: "kyc_rejected";
133
161
  test_account: "test_account";
162
+ dormant_high_roller: "dormant_high_roller";
163
+ withdrawal_review: "withdrawal_review";
164
+ multi_account: "multi_account";
165
+ level: "level";
134
166
  }>;
135
167
  }, z.z.core.$strip>;
168
+ assignMetadata: z.ZodNullable<z.ZodObject<{
169
+ amountBreach: z.ZodNullable<z.ZodObject<{
170
+ amount: z.ZodString;
171
+ threshold: z.ZodString;
172
+ }, z.z.core.$strip>>;
173
+ countBreach: z.ZodNullable<z.ZodObject<{
174
+ count: z.ZodNumber;
175
+ thresholdCount: z.ZodNumber;
176
+ thresholdDays: z.ZodNumber;
177
+ }, z.z.core.$strip>>;
178
+ }, z.z.core.$strip>>;
136
179
  }, z.z.core.$strip>>;
137
180
  total: z.ZodNumber;
138
181
  page: z.ZodNumber;
@@ -156,6 +199,10 @@ export declare const tagContract: {
156
199
  kyc_pending: "kyc_pending";
157
200
  kyc_rejected: "kyc_rejected";
158
201
  test_account: "test_account";
202
+ dormant_high_roller: "dormant_high_roller";
203
+ withdrawal_review: "withdrawal_review";
204
+ multi_account: "multi_account";
205
+ level: "level";
159
206
  }>;
160
207
  }, z.z.core.$strip>, z.ZodObject<{
161
208
  id: z.ZodUUID;
@@ -188,8 +235,23 @@ export declare const tagContract: {
188
235
  kyc_pending: "kyc_pending";
189
236
  kyc_rejected: "kyc_rejected";
190
237
  test_account: "test_account";
238
+ dormant_high_roller: "dormant_high_roller";
239
+ withdrawal_review: "withdrawal_review";
240
+ multi_account: "multi_account";
241
+ level: "level";
191
242
  }>;
192
243
  }, z.z.core.$strip>;
244
+ assignMetadata: z.ZodNullable<z.ZodObject<{
245
+ amountBreach: z.ZodNullable<z.ZodObject<{
246
+ amount: z.ZodString;
247
+ threshold: z.ZodString;
248
+ }, z.z.core.$strip>>;
249
+ countBreach: z.ZodNullable<z.ZodObject<{
250
+ count: z.ZodNumber;
251
+ thresholdCount: z.ZodNumber;
252
+ thresholdDays: z.ZodNumber;
253
+ }, z.z.core.$strip>>;
254
+ }, z.z.core.$strip>>;
193
255
  }, z.z.core.$strip>, Record<never, never>, Record<never, never>>;
194
256
  removePlayerTag: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
195
257
  playerId: z.ZodUUID;
@@ -209,6 +271,10 @@ export declare const tagContract: {
209
271
  kyc_pending: "kyc_pending";
210
272
  kyc_rejected: "kyc_rejected";
211
273
  test_account: "test_account";
274
+ dormant_high_roller: "dormant_high_roller";
275
+ withdrawal_review: "withdrawal_review";
276
+ multi_account: "multi_account";
277
+ level: "level";
212
278
  }>;
213
279
  }, z.z.core.$strip>, z.ZodObject<{
214
280
  id: z.ZodUUID;
@@ -241,8 +307,23 @@ export declare const tagContract: {
241
307
  kyc_pending: "kyc_pending";
242
308
  kyc_rejected: "kyc_rejected";
243
309
  test_account: "test_account";
310
+ dormant_high_roller: "dormant_high_roller";
311
+ withdrawal_review: "withdrawal_review";
312
+ multi_account: "multi_account";
313
+ level: "level";
244
314
  }>;
245
315
  }, z.z.core.$strip>;
316
+ assignMetadata: z.ZodNullable<z.ZodObject<{
317
+ amountBreach: z.ZodNullable<z.ZodObject<{
318
+ amount: z.ZodString;
319
+ threshold: z.ZodString;
320
+ }, z.z.core.$strip>>;
321
+ countBreach: z.ZodNullable<z.ZodObject<{
322
+ count: z.ZodNumber;
323
+ thresholdCount: z.ZodNumber;
324
+ thresholdDays: z.ZodNumber;
325
+ }, z.z.core.$strip>>;
326
+ }, z.z.core.$strip>>;
246
327
  }, z.z.core.$strip>, Record<never, never>, Record<never, never>>;
247
328
  listAssignableTags: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
248
329
  playerId: z.ZodUUID;
@@ -259,6 +340,10 @@ export declare const tagContract: {
259
340
  kyc_pending: "kyc_pending";
260
341
  kyc_rejected: "kyc_rejected";
261
342
  test_account: "test_account";
343
+ dormant_high_roller: "dormant_high_roller";
344
+ withdrawal_review: "withdrawal_review";
345
+ multi_account: "multi_account";
346
+ level: "level";
262
347
  }>;
263
348
  isSticky: z.ZodDefault<z.ZodBoolean>;
264
349
  createdAt: z.z.ZodISODateTime;
@@ -278,6 +363,10 @@ export declare const tagContract: {
278
363
  kyc_pending: "kyc_pending";
279
364
  kyc_rejected: "kyc_rejected";
280
365
  test_account: "test_account";
366
+ dormant_high_roller: "dormant_high_roller";
367
+ withdrawal_review: "withdrawal_review";
368
+ multi_account: "multi_account";
369
+ level: "level";
281
370
  }>;
282
371
  isEnabled: z.ZodBoolean;
283
372
  threshold: z.ZodNullable<z.ZodString>;
@@ -298,6 +387,10 @@ export declare const tagContract: {
298
387
  kyc_pending: "kyc_pending";
299
388
  kyc_rejected: "kyc_rejected";
300
389
  test_account: "test_account";
390
+ dormant_high_roller: "dormant_high_roller";
391
+ withdrawal_review: "withdrawal_review";
392
+ multi_account: "multi_account";
393
+ level: "level";
301
394
  }>;
302
395
  isEnabled: z.ZodBoolean;
303
396
  threshold: z.ZodNullable<z.ZodString>;
@@ -317,6 +410,10 @@ export declare const tagContract: {
317
410
  kyc_pending: "kyc_pending";
318
411
  kyc_rejected: "kyc_rejected";
319
412
  test_account: "test_account";
413
+ dormant_high_roller: "dormant_high_roller";
414
+ withdrawal_review: "withdrawal_review";
415
+ multi_account: "multi_account";
416
+ level: "level";
320
417
  }>;
321
418
  isEnabled: z.ZodBoolean;
322
419
  threshold: z.ZodNullable<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pam/tag/contract/index.ts"],"names":[],"mappings":"AAaA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,yBAAyB,uCAAwC,CAAC;AAC/E,eAAO,MAAM,qBAAqB;;;GAAyD,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAEjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAKtE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/pam/tag/contract/index.ts"],"names":[],"mappings":"AAaA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,cAAc,iCAAiC,CAAC;AAEhD,eAAO,MAAM,yBAAyB,uCAAwC,CAAC;AAC/E,eAAO,MAAM,qBAAqB;;;GAAyD,CAAC;AAC5F,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAGjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAKtE,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2CvB,CAAC"}
@@ -2,10 +2,13 @@ import { oc } from '@orpc/contract';
2
2
  import { UuidSchema, createTagSchema, deleteTagSchema, playerTagSchema, tagSchema, tagRuleSchema, upsertTagRuleSchema, assignPlayerTagSchema, removePlayerTagSchema, } from '@openora/core/contracts';
3
3
  import { PageQuerySchema, SortOrderSchema, paginated } from '@openora/core/contracts/kit';
4
4
  import z from 'zod';
5
+ import { HighRiskAssignMetadataSchema } from './player-tag-assign-metadata.js';
6
+ export * from './player-tag-assign-metadata.js';
5
7
  export const PLAYER_TAG_SORT_BY_VALUES = ['createdAt', 'assignActor'];
6
8
  export const PlayerTagSortBySchema = z.enum(PLAYER_TAG_SORT_BY_VALUES).default('createdAt');
7
9
  export const PlayerTagWithTagSchema = playerTagSchema.extend({
8
10
  tag: tagSchema.pick({ key: true }),
11
+ assignMetadata: HighRiskAssignMetadataSchema.nullable(),
9
12
  });
10
13
  const AssignPlayerTagInputSchema = assignPlayerTagSchema.omit({ assignActorUserId: true });
11
14
  const RemovePlayerTagInputSchema = removePlayerTagSchema.omit({ removalActorUserId: true });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pam/tag/contract/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/pam/tag/contract/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import z from 'zod';
2
+ export declare const HighRiskAmountBreachDetailSchema: z.ZodObject<{
3
+ amount: z.ZodString;
4
+ threshold: z.ZodString;
5
+ }, z.z.core.$strip>;
6
+ export type HighRiskAmountBreachDetail = z.infer<typeof HighRiskAmountBreachDetailSchema>;
7
+ export declare const HighRiskCountBreachDetailSchema: z.ZodObject<{
8
+ count: z.ZodNumber;
9
+ thresholdCount: z.ZodNumber;
10
+ thresholdDays: z.ZodNumber;
11
+ }, z.z.core.$strip>;
12
+ export type HighRiskCountBreachDetail = z.infer<typeof HighRiskCountBreachDetailSchema>;
13
+ export declare const HighRiskAssignMetadataSchema: z.ZodObject<{
14
+ amountBreach: z.ZodNullable<z.ZodObject<{
15
+ amount: z.ZodString;
16
+ threshold: z.ZodString;
17
+ }, z.z.core.$strip>>;
18
+ countBreach: z.ZodNullable<z.ZodObject<{
19
+ count: z.ZodNumber;
20
+ thresholdCount: z.ZodNumber;
21
+ thresholdDays: z.ZodNumber;
22
+ }, z.z.core.$strip>>;
23
+ }, z.z.core.$strip>;
24
+ export type HighRiskAssignMetadata = z.infer<typeof HighRiskAssignMetadataSchema>;
25
+ export declare const PlayerTagAssignMetadataSchema: z.ZodObject<{
26
+ amountBreach: z.ZodNullable<z.ZodObject<{
27
+ amount: z.ZodString;
28
+ threshold: z.ZodString;
29
+ }, z.z.core.$strip>>;
30
+ countBreach: z.ZodNullable<z.ZodObject<{
31
+ count: z.ZodNumber;
32
+ thresholdCount: z.ZodNumber;
33
+ thresholdDays: z.ZodNumber;
34
+ }, z.z.core.$strip>>;
35
+ }, z.z.core.$strip>;
36
+ export type PlayerTagAssignMetadata = z.infer<typeof PlayerTagAssignMetadataSchema>;
37
+ //# sourceMappingURL=player-tag-assign-metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-tag-assign-metadata.d.ts","sourceRoot":"","sources":["../../../../src/pam/tag/contract/player-tag-assign-metadata.ts"],"names":[],"mappings":"AACA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,eAAO,MAAM,gCAAgC;;;mBAG3C,CAAC;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAE1F,eAAO,MAAM,+BAA+B;;;;mBAI1C,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAExF,eAAO,MAAM,4BAA4B;;;;;;;;;;mBAGvC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAKlF,eAAO,MAAM,6BAA6B;;;;;;;;;;mBAA+B,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { MoneyAmountSchema } from '@openora/core/contracts';
2
+ import z from 'zod';
3
+ export const HighRiskAmountBreachDetailSchema = z.object({
4
+ amount: MoneyAmountSchema,
5
+ threshold: MoneyAmountSchema,
6
+ });
7
+ export const HighRiskCountBreachDetailSchema = z.object({
8
+ count: z.number().int(),
9
+ thresholdCount: z.number().int(),
10
+ thresholdDays: z.number().int(),
11
+ });
12
+ export const HighRiskAssignMetadataSchema = z.object({
13
+ amountBreach: HighRiskAmountBreachDetailSchema.nullable(),
14
+ countBreach: HighRiskCountBreachDetailSchema.nullable(),
15
+ });
16
+ // Alias kept distinct from HighRiskAssignMetadataSchema so a second tag's assign-metadata
17
+ // shape can join this union later without touching call sites - same extensibility
18
+ // precedent as RgFlagDetail in the sibling compliance module.
19
+ export const PlayerTagAssignMetadataSchema = HighRiskAssignMetadataSchema;
20
+ //# sourceMappingURL=player-tag-assign-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player-tag-assign-metadata.js","sourceRoot":"","sources":["../../../../src/pam/tag/contract/player-tag-assign-metadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,EAAE,iBAAiB;IACzB,SAAS,EAAE,iBAAiB;CAC7B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACvB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,YAAY,EAAE,gCAAgC,CAAC,QAAQ,EAAE;IACzD,WAAW,EAAE,+BAA+B,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAC;AAGH,0FAA0F;AAC1F,mFAAmF;AACnF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,6BAA6B,GAAG,4BAA4B,CAAC"}
@@ -0,0 +1,4 @@
1
+ ALTER TYPE "public"."tag_key" ADD VALUE 'dormant_high_roller';--> statement-breakpoint
2
+ ALTER TYPE "public"."tag_key" ADD VALUE 'withdrawal_review';--> statement-breakpoint
3
+ CREATE INDEX "player_tag_tag_id_idx" ON "player_tag" USING btree ("tag_id") WHERE "player_tag"."removed_at" is null;--> statement-breakpoint
4
+ CREATE UNIQUE INDEX "player_tag_active_key" ON "player_tag" USING btree ("tag_id","player_id") WHERE "player_tag"."removed_at" is null;
@@ -0,0 +1,3 @@
1
+ ALTER TYPE "public"."tag_key" ADD VALUE 'multi_account';--> statement-breakpoint
2
+ ALTER TYPE "public"."tag_key" ADD VALUE 'level';--> statement-breakpoint
3
+ ALTER TABLE "player_tag" ADD COLUMN "assign_metadata" jsonb;
@@ -0,0 +1,335 @@
1
+ {
2
+ "id": "b949de8a-cdab-4056-bf0e-90d1199f1bf1",
3
+ "prevId": "7f6bba4b-00cb-44b9-b86d-cfc0c5299bb5",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.player_tag": {
8
+ "name": "player_tag",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "uuid",
14
+ "primaryKey": true,
15
+ "notNull": true,
16
+ "default": "gen_random_uuid()"
17
+ },
18
+ "player_id": {
19
+ "name": "player_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": true
23
+ },
24
+ "tag_id": {
25
+ "name": "tag_id",
26
+ "type": "uuid",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "assign_reason": {
31
+ "name": "assign_reason",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "assign_actor": {
37
+ "name": "assign_actor",
38
+ "type": "tag_assign_remove_source",
39
+ "typeSchema": "public",
40
+ "primaryKey": false,
41
+ "notNull": true
42
+ },
43
+ "assign_actor_user_id": {
44
+ "name": "assign_actor_user_id",
45
+ "type": "uuid",
46
+ "primaryKey": false,
47
+ "notNull": false
48
+ },
49
+ "removed_at": {
50
+ "name": "removed_at",
51
+ "type": "timestamp with time zone",
52
+ "primaryKey": false,
53
+ "notNull": false
54
+ },
55
+ "removal_reason": {
56
+ "name": "removal_reason",
57
+ "type": "text",
58
+ "primaryKey": false,
59
+ "notNull": false
60
+ },
61
+ "removal_actor": {
62
+ "name": "removal_actor",
63
+ "type": "tag_assign_remove_source",
64
+ "typeSchema": "public",
65
+ "primaryKey": false,
66
+ "notNull": false
67
+ },
68
+ "removal_actor_user_id": {
69
+ "name": "removal_actor_user_id",
70
+ "type": "uuid",
71
+ "primaryKey": false,
72
+ "notNull": false
73
+ },
74
+ "updated_at": {
75
+ "name": "updated_at",
76
+ "type": "timestamp with time zone",
77
+ "primaryKey": false,
78
+ "notNull": true
79
+ },
80
+ "created_at": {
81
+ "name": "created_at",
82
+ "type": "timestamp with time zone",
83
+ "primaryKey": false,
84
+ "notNull": true,
85
+ "default": "now()"
86
+ }
87
+ },
88
+ "indexes": {
89
+ "player_tag_player_tag_idx": {
90
+ "name": "player_tag_player_tag_idx",
91
+ "columns": [
92
+ {
93
+ "expression": "player_id",
94
+ "isExpression": false,
95
+ "asc": true,
96
+ "nulls": "last"
97
+ },
98
+ {
99
+ "expression": "tag_id",
100
+ "isExpression": false,
101
+ "asc": true,
102
+ "nulls": "last"
103
+ }
104
+ ],
105
+ "isUnique": false,
106
+ "concurrently": false,
107
+ "method": "btree",
108
+ "with": {}
109
+ },
110
+ "player_tag_tag_id_idx": {
111
+ "name": "player_tag_tag_id_idx",
112
+ "columns": [
113
+ {
114
+ "expression": "tag_id",
115
+ "isExpression": false,
116
+ "asc": true,
117
+ "nulls": "last"
118
+ }
119
+ ],
120
+ "isUnique": false,
121
+ "where": "\"player_tag\".\"removed_at\" is null",
122
+ "concurrently": false,
123
+ "method": "btree",
124
+ "with": {}
125
+ },
126
+ "player_tag_active_key": {
127
+ "name": "player_tag_active_key",
128
+ "columns": [
129
+ {
130
+ "expression": "tag_id",
131
+ "isExpression": false,
132
+ "asc": true,
133
+ "nulls": "last"
134
+ },
135
+ {
136
+ "expression": "player_id",
137
+ "isExpression": false,
138
+ "asc": true,
139
+ "nulls": "last"
140
+ }
141
+ ],
142
+ "isUnique": true,
143
+ "where": "\"player_tag\".\"removed_at\" is null",
144
+ "concurrently": false,
145
+ "method": "btree",
146
+ "with": {}
147
+ }
148
+ },
149
+ "foreignKeys": {
150
+ "player_tag_tag_id_tag_id_fk": {
151
+ "name": "player_tag_tag_id_tag_id_fk",
152
+ "tableFrom": "player_tag",
153
+ "tableTo": "tag",
154
+ "columnsFrom": ["tag_id"],
155
+ "columnsTo": ["id"],
156
+ "onDelete": "restrict",
157
+ "onUpdate": "no action"
158
+ }
159
+ },
160
+ "compositePrimaryKeys": {},
161
+ "uniqueConstraints": {},
162
+ "policies": {},
163
+ "checkConstraints": {},
164
+ "isRLSEnabled": false
165
+ },
166
+ "public.tag": {
167
+ "name": "tag",
168
+ "schema": "",
169
+ "columns": {
170
+ "id": {
171
+ "name": "id",
172
+ "type": "uuid",
173
+ "primaryKey": true,
174
+ "notNull": true,
175
+ "default": "gen_random_uuid()"
176
+ },
177
+ "key": {
178
+ "name": "key",
179
+ "type": "tag_key",
180
+ "typeSchema": "public",
181
+ "primaryKey": false,
182
+ "notNull": true
183
+ },
184
+ "is_sticky": {
185
+ "name": "is_sticky",
186
+ "type": "boolean",
187
+ "primaryKey": false,
188
+ "notNull": true,
189
+ "default": false
190
+ },
191
+ "updated_at": {
192
+ "name": "updated_at",
193
+ "type": "timestamp with time zone",
194
+ "primaryKey": false,
195
+ "notNull": true
196
+ },
197
+ "created_at": {
198
+ "name": "created_at",
199
+ "type": "timestamp with time zone",
200
+ "primaryKey": false,
201
+ "notNull": true,
202
+ "default": "now()"
203
+ }
204
+ },
205
+ "indexes": {},
206
+ "foreignKeys": {},
207
+ "compositePrimaryKeys": {},
208
+ "uniqueConstraints": {
209
+ "tag_key_unique": {
210
+ "name": "tag_key_unique",
211
+ "nullsNotDistinct": false,
212
+ "columns": ["key"]
213
+ }
214
+ },
215
+ "policies": {},
216
+ "checkConstraints": {},
217
+ "isRLSEnabled": false
218
+ },
219
+ "public.tag_rule": {
220
+ "name": "tag_rule",
221
+ "schema": "",
222
+ "columns": {
223
+ "id": {
224
+ "name": "id",
225
+ "type": "uuid",
226
+ "primaryKey": true,
227
+ "notNull": true,
228
+ "default": "gen_random_uuid()"
229
+ },
230
+ "tag_id": {
231
+ "name": "tag_id",
232
+ "type": "uuid",
233
+ "primaryKey": false,
234
+ "notNull": true
235
+ },
236
+ "is_enabled": {
237
+ "name": "is_enabled",
238
+ "type": "boolean",
239
+ "primaryKey": false,
240
+ "notNull": true,
241
+ "default": false
242
+ },
243
+ "threshold": {
244
+ "name": "threshold",
245
+ "type": "numeric(18, 2)",
246
+ "primaryKey": false,
247
+ "notNull": false
248
+ },
249
+ "threshold_days": {
250
+ "name": "threshold_days",
251
+ "type": "integer",
252
+ "primaryKey": false,
253
+ "notNull": false
254
+ },
255
+ "threshold_count": {
256
+ "name": "threshold_count",
257
+ "type": "integer",
258
+ "primaryKey": false,
259
+ "notNull": false
260
+ },
261
+ "updated_at": {
262
+ "name": "updated_at",
263
+ "type": "timestamp with time zone",
264
+ "primaryKey": false,
265
+ "notNull": true
266
+ },
267
+ "created_at": {
268
+ "name": "created_at",
269
+ "type": "timestamp with time zone",
270
+ "primaryKey": false,
271
+ "notNull": true,
272
+ "default": "now()"
273
+ }
274
+ },
275
+ "indexes": {},
276
+ "foreignKeys": {
277
+ "tag_rule_tag_id_tag_id_fk": {
278
+ "name": "tag_rule_tag_id_tag_id_fk",
279
+ "tableFrom": "tag_rule",
280
+ "tableTo": "tag",
281
+ "columnsFrom": ["tag_id"],
282
+ "columnsTo": ["id"],
283
+ "onDelete": "restrict",
284
+ "onUpdate": "no action"
285
+ }
286
+ },
287
+ "compositePrimaryKeys": {},
288
+ "uniqueConstraints": {
289
+ "tag_rule_tagId_unique": {
290
+ "name": "tag_rule_tagId_unique",
291
+ "nullsNotDistinct": false,
292
+ "columns": ["tag_id"]
293
+ }
294
+ },
295
+ "policies": {},
296
+ "checkConstraints": {},
297
+ "isRLSEnabled": false
298
+ }
299
+ },
300
+ "enums": {
301
+ "public.tag_assign_remove_source": {
302
+ "name": "tag_assign_remove_source",
303
+ "schema": "public",
304
+ "values": ["scheduled", "manual"]
305
+ },
306
+ "public.tag_key": {
307
+ "name": "tag_key",
308
+ "schema": "public",
309
+ "values": [
310
+ "high_roller",
311
+ "vip",
312
+ "bonus_abuser",
313
+ "high_risk",
314
+ "inactive",
315
+ "large_depositor",
316
+ "self_excluded",
317
+ "kyc_pending",
318
+ "kyc_rejected",
319
+ "test_account",
320
+ "dormant_high_roller",
321
+ "withdrawal_review"
322
+ ]
323
+ }
324
+ },
325
+ "schemas": {},
326
+ "sequences": {},
327
+ "roles": {},
328
+ "policies": {},
329
+ "views": {},
330
+ "_meta": {
331
+ "columns": {},
332
+ "schemas": {},
333
+ "tables": {}
334
+ }
335
+ }