@openora/core 0.4.1-canary.78 → 0.4.1-canary.80

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 (107) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/__tests__/backoffice.router.test.js +4 -1
  3. package/dist/admin-console/__tests__/backoffice.router.test.js.map +1 -1
  4. package/dist/admin-console/__tests__/backoffice.service.int.test.js +62 -12
  5. package/dist/admin-console/__tests__/backoffice.service.int.test.js.map +1 -1
  6. package/dist/admin-console/contract/index.d.ts +16 -0
  7. package/dist/admin-console/contract/index.d.ts.map +1 -1
  8. package/dist/admin-console/contract/index.js +1 -0
  9. package/dist/admin-console/contract/index.js.map +1 -1
  10. package/dist/admin-console/plugin.d.ts +1 -0
  11. package/dist/admin-console/plugin.d.ts.map +1 -1
  12. package/dist/admin-console/plugin.js +2 -2
  13. package/dist/admin-console/plugin.js.map +1 -1
  14. package/dist/admin-console/router/index.d.ts +12 -0
  15. package/dist/admin-console/router/index.d.ts.map +1 -1
  16. package/dist/admin-console/service/backoffice.service.d.ts +45 -5
  17. package/dist/admin-console/service/backoffice.service.d.ts.map +1 -1
  18. package/dist/admin-console/service/backoffice.service.js +29 -6
  19. package/dist/admin-console/service/backoffice.service.js.map +1 -1
  20. package/dist/analytics/plugin.d.ts +1 -0
  21. package/dist/analytics/plugin.d.ts.map +1 -1
  22. package/dist/audit/plugin.d.ts +1 -0
  23. package/dist/audit/plugin.d.ts.map +1 -1
  24. package/dist/audit/plugin.js +24 -0
  25. package/dist/audit/plugin.js.map +1 -1
  26. package/dist/casino/gaming/plugin.d.ts +1 -0
  27. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  28. package/dist/casino/lobby/plugin.d.ts +1 -0
  29. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  30. package/dist/cms/plugin.d.ts +1 -0
  31. package/dist/cms/plugin.d.ts.map +1 -1
  32. package/dist/compliance/plugin.d.ts +1 -0
  33. package/dist/compliance/plugin.d.ts.map +1 -1
  34. package/dist/contracts/adapters/admin-role-assignment-directory.d.ts +12 -0
  35. package/dist/contracts/adapters/admin-role-assignment-directory.d.ts.map +1 -0
  36. package/dist/contracts/adapters/admin-role-assignment-directory.js +3 -0
  37. package/dist/contracts/adapters/admin-role-assignment-directory.js.map +1 -0
  38. package/dist/contracts/adapters/index.d.ts +2 -0
  39. package/dist/contracts/adapters/index.d.ts.map +1 -1
  40. package/dist/contracts/adapters/index.js +1 -0
  41. package/dist/contracts/adapters/index.js.map +1 -1
  42. package/dist/contracts/schemas/events.d.ts +14 -0
  43. package/dist/contracts/schemas/events.d.ts.map +1 -1
  44. package/dist/contracts/schemas/events.js +10 -9
  45. package/dist/contracts/schemas/events.js.map +1 -1
  46. package/dist/engagement/chat/plugin.d.ts +1 -0
  47. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  48. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  49. package/dist/engagement/chat/service/chat.service.js +8 -0
  50. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  51. package/dist/engagement/chat-commands/plugin.d.ts +1 -0
  52. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  53. package/dist/engagement/notifications/plugin.d.ts +1 -0
  54. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  55. package/dist/engagement/social/__tests__/social.router.int.test.js +80 -0
  56. package/dist/engagement/social/__tests__/social.router.int.test.js.map +1 -1
  57. package/dist/engagement/social/__tests__/social.service.int.test.js +336 -1
  58. package/dist/engagement/social/__tests__/social.service.int.test.js.map +1 -1
  59. package/dist/engagement/social/contract/index.d.ts +74 -0
  60. package/dist/engagement/social/contract/index.d.ts.map +1 -1
  61. package/dist/engagement/social/contract/index.js +33 -0
  62. package/dist/engagement/social/contract/index.js.map +1 -1
  63. package/dist/engagement/social/drizzle/migrations/0004_friendship-cancel-constraint.sql +2 -0
  64. package/dist/engagement/social/drizzle/migrations/meta/0004_snapshot.json +145 -0
  65. package/dist/engagement/social/drizzle/migrations/meta/_journal.json +7 -0
  66. package/dist/engagement/social/plugin.d.ts +1 -0
  67. package/dist/engagement/social/plugin.d.ts.map +1 -1
  68. package/dist/engagement/social/router/index.d.ts +43 -0
  69. package/dist/engagement/social/router/index.d.ts.map +1 -1
  70. package/dist/engagement/social/router/index.js +27 -1
  71. package/dist/engagement/social/router/index.js.map +1 -1
  72. package/dist/engagement/social/schema/index.js +1 -1
  73. package/dist/engagement/social/schema/index.js.map +1 -1
  74. package/dist/engagement/social/service/social.service.d.ts +16 -16
  75. package/dist/engagement/social/service/social.service.d.ts.map +1 -1
  76. package/dist/engagement/social/service/social.service.js +183 -39
  77. package/dist/engagement/social/service/social.service.js.map +1 -1
  78. package/dist/engagement/social-transfers/plugin.d.ts +1 -0
  79. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
  80. package/dist/iam/adapters/admin-role-assignment-directory.d.ts +8 -0
  81. package/dist/iam/adapters/admin-role-assignment-directory.d.ts.map +1 -0
  82. package/dist/iam/adapters/admin-role-assignment-directory.js +23 -0
  83. package/dist/iam/adapters/admin-role-assignment-directory.js.map +1 -0
  84. package/dist/iam/plugin.d.ts +1 -0
  85. package/dist/iam/plugin.d.ts.map +1 -1
  86. package/dist/iam/plugin.js +3 -1
  87. package/dist/iam/plugin.js.map +1 -1
  88. package/dist/pam/identity/adapters/identity-reader.service.d.ts.map +1 -1
  89. package/dist/pam/identity/adapters/identity-reader.service.js +5 -2
  90. package/dist/pam/identity/adapters/identity-reader.service.js.map +1 -1
  91. package/dist/pam/identity/plugin.d.ts +1 -0
  92. package/dist/pam/identity/plugin.d.ts.map +1 -1
  93. package/dist/pam/player-management/plugin.d.ts +1 -0
  94. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  95. package/dist/pam/player-note/plugin.d.ts +1 -0
  96. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  97. package/dist/pam/profile/plugin.d.ts +1 -0
  98. package/dist/pam/profile/plugin.d.ts.map +1 -1
  99. package/dist/pam/tag/plugin.d.ts +1 -0
  100. package/dist/pam/tag/plugin.d.ts.map +1 -1
  101. package/dist/server/runtime/core-token-catalog.d.ts +1 -0
  102. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  103. package/dist/server/runtime/core-token-catalog.js +2 -1
  104. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  105. package/dist/wallet/plugin.d.ts +1 -0
  106. package/dist/wallet/plugin.d.ts.map +1 -1
  107. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { and, count, desc, eq, inArray, isNotNull, isNull, or } from 'drizzle-orm';
1
+ import { and, count, desc, eq, inArray, isNotNull, isNull, or, SQL, sql } from 'drizzle-orm';
2
2
  import { createDomainError, createLogger, makeConflictError, makeNotFoundError, pageToOffset, serializeRow, } from '@openora/core/server';
3
3
  import { chatUserBlock, chatUserIgnore } from '@openora/core/engagement/schema/chat';
4
4
  import { player } from '@openora/core/pam/schema/profile';
@@ -23,6 +23,7 @@ export const AlreadyFriendsError = makeConflictError('ALREADY_FRIENDS', 'You are
23
23
  export const RequestAlreadyPendingError = makeConflictError('REQUEST_ALREADY_PENDING', 'A friend request to this player is already pending');
24
24
  export const FriendRequestRefusedError = makeConflictError('FRIEND_REQUEST_REFUSED', 'This friend request was refused');
25
25
  export const FriendshipNotFoundError = makeNotFoundError('Friendship');
26
+ export const FriendRequestNotFoundError = makeNotFoundError('FriendRequest');
26
27
  function pgErrorCode(e) {
27
28
  if (typeof e !== 'object' || e === null) {
28
29
  return undefined;
@@ -57,15 +58,6 @@ export class SocialService {
57
58
  this.events = events;
58
59
  this.identityReader = identityReader;
59
60
  }
60
- /**
61
- * Sends a friend request from `callerId` to `targetUserId`. The insert is
62
- * attempted directly against the canonical-pair unique index (no pre-SELECT,
63
- * avoiding a TOCTOU race); a unique-violation means a row for this pair already
64
- * exists, which is resolved by re-reading it - including the mutual/simultaneous
65
- * case where the existing row was already addressed TO the caller, which
66
- * auto-accepts instead of conflicting. Events are emitted strictly after the
67
- * mutating statement/transaction has committed.
68
- */
69
61
  async sendFriendRequest(callerId, targetUserId) {
70
62
  if (targetUserId === callerId) {
71
63
  throw new SelfFriendRequestError();
@@ -132,12 +124,6 @@ export class SocialService {
132
124
  });
133
125
  return toFriendshipDto(accepted);
134
126
  }
135
- /**
136
- * Re-reads the row a unique-violation on `friendship_pair_key` proved already
137
- * exists and resolves it: already accepted -> conflict, same-direction duplicate
138
- * -> conflict, opposite-direction (mutual/simultaneous request) -> auto-accept.
139
- * `FOR UPDATE` serializes this against a concurrent resolution of the same pair.
140
- */
141
127
  async resolveExistingPair(callerId, targetUserId) {
142
128
  return this.drizzle.db.transaction(async (tx) => {
143
129
  const rows = await tx
@@ -214,33 +200,17 @@ export class SocialService {
214
200
  return { userId, status: 'blocked_by_me', friendshipId: null, canSendRequest: false };
215
201
  }
216
202
  const existing = friendshipByTargetId.get(userId);
217
- if (existing?.refusedAt !== null && existing?.refusedAt !== undefined) {
203
+ if (!existing) {
204
+ return { userId, status: 'none', friendshipId: null, canSendRequest: true };
205
+ }
206
+ if (existing.refusedAt !== null) {
218
207
  return { userId, status: 'refused', friendshipId: existing.id, canSendRequest: false };
219
208
  }
220
- if (existing?.acceptedAt !== null && existing?.acceptedAt !== undefined) {
209
+ if (existing.acceptedAt !== null) {
221
210
  return { userId, status: 'friends', friendshipId: existing.id, canSendRequest: false };
222
211
  }
223
- if (existing?.acceptedAt === null &&
224
- existing?.refusedAt === null &&
225
- existing?.requesterId === callerId) {
226
- return {
227
- userId,
228
- status: 'pending_outgoing',
229
- friendshipId: existing.id,
230
- canSendRequest: false,
231
- };
232
- }
233
- if (existing?.acceptedAt === null &&
234
- existing?.refusedAt === null &&
235
- existing?.requesterId === userId) {
236
- return {
237
- userId,
238
- status: 'pending_incoming',
239
- friendshipId: existing.id,
240
- canSendRequest: false,
241
- };
242
- }
243
- return { userId, status: 'none', friendshipId: null, canSendRequest: true };
212
+ const status = existing.requesterId === callerId ? 'pending_outgoing' : 'pending_incoming';
213
+ return { userId, status, friendshipId: existing.id, canSendRequest: false };
244
214
  });
245
215
  }
246
216
  async dissolveFriendship(tx, userA, userB, actorId, reason) {
@@ -335,6 +305,180 @@ export class SocialService {
335
305
  });
336
306
  return { items, total: Number(countRows[0]?.n ?? 0), page, limit };
337
307
  }
308
+ async acceptFriendRequest(callerId, friendshipId) {
309
+ const [pending] = await this.drizzle.db
310
+ .select({ requesterId: friendship.requesterId })
311
+ .from(friendship)
312
+ .where(and(eq(friendship.id, friendshipId), eq(friendship.addresseeId, callerId), isNull(friendship.acceptedAt), isNull(friendship.refusedAt), isNull(friendship.removedAt)));
313
+ if (!pending) {
314
+ throw new FriendRequestNotFoundError(friendshipId);
315
+ }
316
+ const blocks = await this.drizzle.db
317
+ .select({ blockerId: chatUserBlock.blockerId })
318
+ .from(chatUserBlock)
319
+ .where(and(isNull(chatUserBlock.removedAt), pairBlockCondition(callerId, pending.requesterId)));
320
+ if (blocks.length > 0) {
321
+ throw new FriendRequestUnavailableError();
322
+ }
323
+ const rows = await this.drizzle.db
324
+ .update(friendship)
325
+ .set({ acceptedAt: new Date() })
326
+ .where(and(eq(friendship.id, friendshipId), eq(friendship.addresseeId, callerId), isNull(friendship.acceptedAt), isNull(friendship.refusedAt), isNull(friendship.removedAt)))
327
+ .returning();
328
+ const updated = rows[0];
329
+ if (!updated) {
330
+ throw new FriendRequestNotFoundError(friendshipId);
331
+ }
332
+ const [callerPlayer] = await this.drizzle.db
333
+ .select({ displayName: player.displayName })
334
+ .from(player)
335
+ .where(eq(player.userId, callerId));
336
+ if (!callerPlayer) {
337
+ // Invariant: an authenticated caller always has a player row (see
338
+ // sendFriendRequest's same guard).
339
+ throw new Error(`Player profile missing for authenticated caller: ${callerId}`);
340
+ }
341
+ this.events.emit('social.friend_request.accepted', {
342
+ friendshipId: updated.id,
343
+ requesterId: updated.requesterId,
344
+ addresseeId: updated.addresseeId,
345
+ accepterId: callerId,
346
+ accepterDisplayName: callerPlayer.displayName,
347
+ });
348
+ return toFriendshipDto(updated);
349
+ }
350
+ async declineFriendRequest(callerId, friendshipId) {
351
+ // removedAt (not refusedAt - the two are mutually exclusive, see the
352
+ // friendship_removed_excludes_refused_key check constraint) frees the pair's
353
+ // partial-unique slot, same as cancelFriendRequest - decline and cancel both
354
+ // let either side send a new request afterwards.
355
+ const rows = await this.drizzle.db
356
+ .update(friendship)
357
+ .set({ removedAt: new Date() })
358
+ .where(and(eq(friendship.id, friendshipId), eq(friendship.addresseeId, callerId), isNull(friendship.acceptedAt), isNull(friendship.refusedAt), isNull(friendship.removedAt)))
359
+ .returning();
360
+ const updated = rows[0];
361
+ if (!updated) {
362
+ throw new FriendRequestNotFoundError(friendshipId);
363
+ }
364
+ this.events.emit('social.friend_request.declined', {
365
+ friendshipId: updated.id,
366
+ requesterId: updated.requesterId,
367
+ addresseeId: updated.addresseeId,
368
+ });
369
+ }
370
+ async cancelFriendRequest(callerId, friendshipId) {
371
+ const rows = await this.drizzle.db
372
+ .update(friendship)
373
+ .set({ removedAt: new Date() })
374
+ .where(and(eq(friendship.id, friendshipId), eq(friendship.requesterId, callerId), isNull(friendship.acceptedAt), isNull(friendship.refusedAt), isNull(friendship.removedAt)))
375
+ .returning();
376
+ const updated = rows[0];
377
+ if (!updated) {
378
+ throw new FriendRequestNotFoundError(friendshipId);
379
+ }
380
+ this.events.emit('social.friend_request.cancelled', {
381
+ friendshipId: updated.id,
382
+ requesterId: updated.requesterId,
383
+ addresseeId: updated.addresseeId,
384
+ });
385
+ }
386
+ async listFriendRequests(callerId, { direction, page, limit }) {
387
+ const directionColumn = direction === 'incoming' ? friendship.addresseeId : friendship.requesterId;
388
+ const where = and(eq(directionColumn, callerId), isNull(friendship.acceptedAt), isNull(friendship.refusedAt), isNull(friendship.removedAt));
389
+ const [rows, countRows] = await Promise.all([
390
+ this.drizzle.db
391
+ .select({
392
+ id: friendship.id,
393
+ requesterId: friendship.requesterId,
394
+ addresseeId: friendship.addresseeId,
395
+ createdAt: friendship.createdAt,
396
+ })
397
+ .from(friendship)
398
+ .where(where)
399
+ .orderBy(desc(friendship.createdAt))
400
+ .limit(limit)
401
+ .offset(pageToOffset(page, limit)),
402
+ this.drizzle.db.select({ n: count() }).from(friendship).where(where),
403
+ ]);
404
+ const counterpartIds = rows.map((row) => direction === 'incoming' ? row.requesterId : row.addresseeId);
405
+ const [players, mutualCounts, blocks] = await Promise.all([
406
+ counterpartIds.length > 0
407
+ ? this.drizzle.db
408
+ .select({
409
+ userId: player.userId,
410
+ displayName: player.displayName,
411
+ status: player.status,
412
+ })
413
+ .from(player)
414
+ .where(inArray(player.userId, counterpartIds))
415
+ : Promise.resolve([]),
416
+ direction === 'incoming' && counterpartIds.length > 0
417
+ ? this.getMutualFriendsCounts(callerId, counterpartIds)
418
+ : Promise.resolve(new Map()),
419
+ counterpartIds.length > 0
420
+ ? this.drizzle.db
421
+ .select({ blockerId: chatUserBlock.blockerId, blockedId: chatUserBlock.blockedId })
422
+ .from(chatUserBlock)
423
+ .where(and(isNull(chatUserBlock.removedAt), or(and(eq(chatUserBlock.blockerId, callerId), inArray(chatUserBlock.blockedId, counterpartIds)), and(inArray(chatUserBlock.blockerId, counterpartIds), eq(chatUserBlock.blockedId, callerId)))))
424
+ : Promise.resolve([]),
425
+ ]);
426
+ const playerByUserId = new Map(players.map((p) => [p.userId, p]));
427
+ // Either direction hides the pair - a blocked player never appears in requests on both sides
428
+ const blockedCounterpartIds = new Set(blocks.map((b) => (b.blockerId === callerId ? b.blockedId : b.blockerId)));
429
+ const items = rows.flatMap((row) => {
430
+ const counterpartId = direction === 'incoming' ? row.requesterId : row.addresseeId;
431
+ const counterpartPlayer = playerByUserId.get(counterpartId);
432
+ if (!counterpartPlayer) {
433
+ logger.error({ friendshipId: row.id, counterpartId }, 'listFriendRequests: player row missing for counterpart');
434
+ return [];
435
+ }
436
+ if (counterpartPlayer.status === 'suspended' || counterpartPlayer.status === 'closed') {
437
+ return [];
438
+ }
439
+ if (blockedCounterpartIds.has(counterpartId)) {
440
+ return [];
441
+ }
442
+ return [
443
+ serializeRow({
444
+ friendshipId: row.id,
445
+ userId: counterpartId,
446
+ displayName: counterpartPlayer.displayName,
447
+ direction,
448
+ createdAt: row.createdAt,
449
+ mutualFriendsCount: direction === 'incoming' ? (mutualCounts.get(counterpartId) ?? 0) : null,
450
+ }, { dateFields: ['createdAt'] }),
451
+ ];
452
+ });
453
+ return { items, total: Number(countRows[0]?.n ?? 0), page, limit };
454
+ }
455
+ async getMutualFriendsCounts(callerId, requesterIds) {
456
+ const requesterInSet = inArray(friendship.requesterId, requesterIds);
457
+ const callerFriends = this.drizzle.db
458
+ .select({
459
+ friendId: new SQL.Aliased(sql `CASE WHEN ${eq(friendship.requesterId, callerId)} THEN ${friendship.addresseeId} ELSE ${friendship.requesterId} END`, 'caller_friend_id'),
460
+ })
461
+ .from(friendship)
462
+ .where(and(or(eq(friendship.requesterId, callerId), eq(friendship.addresseeId, callerId)), isNotNull(friendship.acceptedAt), isNull(friendship.removedAt)))
463
+ .as('caller_friends');
464
+ const requesterFriends = this.drizzle.db
465
+ .select({
466
+ otherId: new SQL.Aliased(sql `CASE WHEN ${requesterInSet} THEN ${friendship.requesterId} ELSE ${friendship.addresseeId} END`, 'other_id'),
467
+ friendId: new SQL.Aliased(sql `CASE WHEN ${requesterInSet} THEN ${friendship.addresseeId} ELSE ${friendship.requesterId} END`, 'requester_friend_id'),
468
+ })
469
+ .from(friendship)
470
+ .where(and(or(inArray(friendship.requesterId, requesterIds), inArray(friendship.addresseeId, requesterIds)), isNotNull(friendship.acceptedAt), isNull(friendship.removedAt)))
471
+ .as('requester_friends');
472
+ const rows = await this.drizzle.db
473
+ .select({
474
+ requesterId: requesterFriends.otherId,
475
+ mutualCount: sql `count(distinct ${callerFriends.friendId})`,
476
+ })
477
+ .from(requesterFriends)
478
+ .innerJoin(callerFriends, eq(requesterFriends.friendId, callerFriends.friendId))
479
+ .groupBy(requesterFriends.otherId);
480
+ return new Map(rows.map((row) => [row.requesterId, Number(row.mutualCount)]));
481
+ }
338
482
  }
339
483
  function pairBlockCondition(callerId, targetUserId) {
340
484
  return or(and(eq(chatUserBlock.blockerId, targetUserId), eq(chatUserBlock.blockedId, callerId)), and(eq(chatUserBlock.blockerId, callerId), eq(chatUserBlock.blockedId, targetUserId)));
@@ -1 +1 @@
1
- {"version":3,"file":"social.service.js","sourceRoot":"","sources":["../../../../src/engagement/social/service/social.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"social.service.js","sourceRoot":"","sources":["../../../../src/engagement/social/service/social.service.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("@openora/core/server").AdminGuard>;
7
7
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
8
8
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
9
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
9
10
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
10
11
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
11
12
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,wBA0B8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,wBA0B8C"}
@@ -0,0 +1,8 @@
1
+ import type { AdminRoleAssignmentDirectory, AdminRoleAssignmentSummary } from '@openora/core/contracts';
2
+ import { DrizzleService } from '@openora/core/server';
3
+ export declare class DrizzleAdminRoleAssignmentDirectory implements AdminRoleAssignmentDirectory {
4
+ private readonly drizzle;
5
+ constructor(drizzle: DrizzleService);
6
+ listByUserIds(userIds: readonly string[]): Promise<AdminRoleAssignmentSummary[]>;
7
+ }
8
+ //# sourceMappingURL=admin-role-assignment-directory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-role-assignment-directory.d.ts","sourceRoot":"","sources":["../../../src/iam/adapters/admin-role-assignment-directory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,qBAAa,mCAAoC,YAAW,4BAA4B;IAC1E,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE9C,aAAa,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,0BAA0B,EAAE,CAAC;CAcvF"}
@@ -0,0 +1,23 @@
1
+ import { eq, inArray } from 'drizzle-orm';
2
+ import { adminRole, adminRoleAssignment } from '../schema/index.js';
3
+ export class DrizzleAdminRoleAssignmentDirectory {
4
+ drizzle;
5
+ constructor(drizzle) {
6
+ this.drizzle = drizzle;
7
+ }
8
+ async listByUserIds(userIds) {
9
+ if (userIds.length === 0) {
10
+ return [];
11
+ }
12
+ return this.drizzle.db
13
+ .select({
14
+ userId: adminRoleAssignment.userId,
15
+ roleId: adminRoleAssignment.roleId,
16
+ roleName: adminRole.name,
17
+ })
18
+ .from(adminRoleAssignment)
19
+ .innerJoin(adminRole, eq(adminRole.id, adminRoleAssignment.roleId))
20
+ .where(inArray(adminRoleAssignment.userId, userIds));
21
+ }
22
+ }
23
+ //# sourceMappingURL=admin-role-assignment-directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-role-assignment-directory.js","sourceRoot":"","sources":["../../../src/iam/adapters/admin-role-assignment-directory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,MAAM,OAAO,mCAAmC;IACjB;IAA7B,YAA6B,OAAuB;QAAvB,YAAO,GAAP,OAAO,CAAgB;IAAG,CAAC;IAExD,KAAK,CAAC,aAAa,CAAC,OAA0B;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,EAAE;aACnB,MAAM,CAAC;YACN,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,MAAM,EAAE,mBAAmB,CAAC,MAAM;YAClC,QAAQ,EAAE,SAAS,CAAC,IAAI;SACzB,CAAC;aACD,IAAI,CAAC,mBAAmB,CAAC;aACzB,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;aAClE,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC;CACF"}
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("@openora/core/server").AdminGuard>;
7
7
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
8
8
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
9
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
9
10
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
10
11
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
11
12
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/iam/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,wBA2D8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/iam/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,wBA+D8C"}
@@ -1,8 +1,9 @@
1
1
  import { EVENT_BUS, DRIZZLE, ADMIN_GUARD, createLogger } from '@openora/core/server';
2
- import { ADMIN_PERMISSION_RESOLVER, ADMIN_PLAYER_ACTIVITY, IDENTITY_READER, SEND_EMAIL, SESSION_COMMANDS, CACHE, RATE_LIMITER, domainEventSchemas, } from '@openora/core/contracts';
2
+ import { ADMIN_PERMISSION_RESOLVER, ADMIN_PLAYER_ACTIVITY, ADMIN_ROLE_ASSIGNMENT_DIRECTORY, IDENTITY_READER, SEND_EMAIL, SESSION_COMMANDS, CACHE, RATE_LIMITER, domainEventSchemas, } from '@openora/core/contracts';
3
3
  import { IamService, DbAdminPermissionResolver } from './service/iam.service.js';
4
4
  import { createIamRouter } from './router/index.js';
5
5
  import { DrizzleAdminPlayerActivity } from './adapters/admin-player-activity.js';
6
+ import { DrizzleAdminRoleAssignmentDirectory } from './adapters/admin-role-assignment-directory.js';
6
7
  const logger = createLogger('iam');
7
8
  export default {
8
9
  id: 'iam',
@@ -43,6 +44,7 @@ export default {
43
44
  .catch((err) => logger.error({ err }, 'grant cache purge failed'));
44
45
  });
45
46
  ctx.provide(ADMIN_PLAYER_ACTIVITY, (c) => new DrizzleAdminPlayerActivity(c.get(DRIZZLE)));
47
+ ctx.provide(ADMIN_ROLE_ASSIGNMENT_DIRECTORY, (c) => new DrizzleAdminRoleAssignmentDirectory(c.get(DRIZZLE)));
46
48
  ctx.routers.add('iam', (c) => createIamRouter(new IamService(c.get(DRIZZLE), c.get(EVENT_BUS), c.get(SEND_EMAIL), c.get(IDENTITY_READER), c.get(SESSION_COMMANDS), c.get(RATE_LIMITER)), c.get(ADMIN_GUARD)));
47
49
  },
48
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/iam/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/iam/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"identity-reader.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/adapters/identity-reader.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAOvF,qBAAa,qBAAsB,YAAW,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE9C,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAQxD,yBAAyB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAyBjE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IASrE,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IASzE,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IASzE,8BAA8B,CAClC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;CAUzB"}
1
+ {"version":3,"file":"identity-reader.service.d.ts","sourceRoot":"","sources":["../../../../src/pam/identity/adapters/identity-reader.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAOvF,qBAAa,qBAAsB,YAAW,cAAc;IAC9C,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE9C,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAQxD,yBAAyB,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IA4BjE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IASrE,uBAAuB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IASzE,0BAA0B,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;IASzE,8BAA8B,CAClC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;CAUzB"}
@@ -1,5 +1,5 @@
1
1
  import { createLogger } from '@openora/core/server';
2
- import { and, eq, isNull, lt, max, ne, or } from 'drizzle-orm';
2
+ import { and, eq, isNull, lt, max, ne, or, SQL } from 'drizzle-orm';
3
3
  import { session, user } from '../schema/index.js';
4
4
  import { player } from '@openora/core/pam/schema/profile';
5
5
  const logger = createLogger('identity-reader');
@@ -19,7 +19,10 @@ export class IdentityReaderService {
19
19
  // Join users to their most-recent session. Players with no session at all
20
20
  // (registered but never logged in) are included via the LEFT JOIN + isNull check.
21
21
  const lastSessionPerUser = this.drizzle.db
22
- .select({ userId: session.userId, lastAt: max(session.createdAt).as('last_at') })
22
+ .select({
23
+ userId: session.userId,
24
+ lastAt: new SQL.Aliased(max(session.createdAt), 'last_at'),
25
+ })
23
26
  .from(session)
24
27
  .groupBy(session.userId)
25
28
  .as('s');
@@ -1 +1 @@
1
- {"version":3,"file":"identity-reader.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/adapters/identity-reader.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identity-reader.service.js","sourceRoot":"","sources":["../../../../src/pam/identity/adapters/identity-reader.service.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ declare const _default: {
5
5
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("@openora/core/server").AdminGuard>;
6
6
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
7
7
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
8
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
8
9
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
9
10
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
10
11
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/identity/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,wBA2E8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/identity/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,wBA2E8C"}
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("@openora/core/server").AdminGuard>;
7
7
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
8
8
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
9
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
9
10
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
10
11
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
11
12
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/player-management/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,wBAa8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/player-management/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,wBAa8C"}
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("@openora/core/server").AdminGuard>;
7
7
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
8
8
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
9
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
9
10
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
10
11
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
11
12
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/player-note/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAY8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/player-note/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,wBAY8C"}
@@ -5,6 +5,7 @@ declare const _default: {
5
5
  ADMIN_GUARD: import("../../contracts/index.js").Token<import("@openora/core/server").AdminGuard>;
6
6
  ADMIN_PERMISSION_RESOLVER: import("../../contracts/index.js").Token<import("../../contracts/index.js").AdminPermissionResolver>;
7
7
  ADMIN_PLAYER_ACTIVITY: import("../../contracts/index.js").Token<import("../../contracts/index.js").AdminPlayerActivity>;
8
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("../../contracts/index.js").Token<import("../../contracts/index.js").AdminRoleAssignmentDirectory>;
8
9
  ADMIN_USER_DIRECTORY: import("../../contracts/index.js").Token<import("../../contracts/index.js").AdminUserDirectory>;
9
10
  ADMIN_WALLET_REPORTING: import("../../contracts/index.js").Token<import("../../contracts/index.js").AdminWalletReporting>;
10
11
  AUDIT_WRITER: import("../../contracts/index.js").SealedToken<import("../../contracts/index.js").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/profile/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAK8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/profile/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBAK8C"}
@@ -6,6 +6,7 @@ declare const _default: {
6
6
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("@openora/core/server").AdminGuard>;
7
7
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
8
8
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
9
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
9
10
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
10
11
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
11
12
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/tag/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,wBAiF8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/pam/tag/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,wBAiF8C"}
@@ -3,6 +3,7 @@ declare const coreTokenCatalog: {
3
3
  ADMIN_GUARD: import("@openora/core/contracts").Token<import("../auth/admin-guard.js").AdminGuard>;
4
4
  ADMIN_PERMISSION_RESOLVER: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPermissionResolver>;
5
5
  ADMIN_PLAYER_ACTIVITY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminPlayerActivity>;
6
+ ADMIN_ROLE_ASSIGNMENT_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminRoleAssignmentDirectory>;
6
7
  ADMIN_USER_DIRECTORY: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminUserDirectory>;
7
8
  ADMIN_WALLET_REPORTING: import("@openora/core/contracts").Token<import("@openora/core/contracts").AdminWalletReporting>;
8
9
  AUDIT_WRITER: import("@openora/core/contracts").SealedToken<import("@openora/core/contracts").AuditWritePort>;
@@ -1 +1 @@
1
- {"version":3,"file":"core-token-catalog.d.ts","sourceRoot":"","sources":["../../../src/server/runtime/core-token-catalog.ts"],"names":[],"mappings":"AAsDA,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDE,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC"}
1
+ {"version":3,"file":"core-token-catalog.d.ts","sourceRoot":"","sources":["../../../src/server/runtime/core-token-catalog.ts"],"names":[],"mappings":"AAuDA,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqDE,CAAC;AAEzB,MAAM,MAAM,gBAAgB,GAAG,OAAO,gBAAgB,CAAC"}