@openora/core 0.4.1-canary.72 → 0.4.1-canary.74

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 (184) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +1 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +1 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +1 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +6 -0
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/plugin.d.ts +1 -0
  11. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  12. package/dist/casino/lobby/plugin.d.ts +1 -0
  13. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  14. package/dist/cms/plugin.d.ts +1 -0
  15. package/dist/cms/plugin.d.ts.map +1 -1
  16. package/dist/compliance/plugin.d.ts +1 -0
  17. package/dist/compliance/plugin.d.ts.map +1 -1
  18. package/dist/contracts/adapters/admin-user-directory.d.ts +2 -1
  19. package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
  20. package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
  21. package/dist/contracts/adapters/chat-moderation.d.ts +75 -0
  22. package/dist/contracts/adapters/chat-moderation.d.ts.map +1 -0
  23. package/dist/contracts/adapters/chat-moderation.js +3 -0
  24. package/dist/contracts/adapters/chat-moderation.js.map +1 -0
  25. package/dist/contracts/adapters/index.d.ts +2 -0
  26. package/dist/contracts/adapters/index.d.ts.map +1 -1
  27. package/dist/contracts/adapters/index.js +1 -0
  28. package/dist/contracts/adapters/index.js.map +1 -1
  29. package/dist/contracts/adapters/realtime.d.ts +9 -1
  30. package/dist/contracts/adapters/realtime.d.ts.map +1 -1
  31. package/dist/contracts/adapters/realtime.js.map +1 -1
  32. package/dist/contracts/schemas/events.d.ts +19 -4
  33. package/dist/contracts/schemas/events.d.ts.map +1 -1
  34. package/dist/contracts/schemas/events.js +12 -5
  35. package/dist/contracts/schemas/events.js.map +1 -1
  36. package/dist/engagement/chat/__tests__/chat.service.int.test.js +314 -19
  37. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  38. package/dist/engagement/chat/contract/constants.d.ts +1 -1
  39. package/dist/engagement/chat/contract/constants.d.ts.map +1 -1
  40. package/dist/engagement/chat/contract/constants.js +1 -1
  41. package/dist/engagement/chat/contract/constants.js.map +1 -1
  42. package/dist/engagement/chat/contract/index.d.ts +764 -18
  43. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  44. package/dist/engagement/chat/contract/index.js +236 -5
  45. package/dist/engagement/chat/contract/index.js.map +1 -1
  46. package/dist/engagement/chat/drizzle/migrations/0005_tranquil_gwen_stacy.sql +100 -0
  47. package/dist/engagement/chat/drizzle/migrations/0006_tiny_ultron.sql +3 -0
  48. package/dist/engagement/chat/drizzle/migrations/meta/0005_snapshot.json +1422 -0
  49. package/dist/engagement/chat/drizzle/migrations/meta/0006_snapshot.json +1456 -0
  50. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +14 -0
  51. package/dist/engagement/chat/plugin.d.ts +2 -1
  52. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  53. package/dist/engagement/chat/plugin.js +25 -13
  54. package/dist/engagement/chat/plugin.js.map +1 -1
  55. package/dist/engagement/chat/router/index.d.ts +518 -18
  56. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  57. package/dist/engagement/chat/router/index.js +140 -20
  58. package/dist/engagement/chat/router/index.js.map +1 -1
  59. package/dist/engagement/chat/schema/index.d.ts +1017 -16
  60. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  61. package/dist/engagement/chat/schema/index.js +110 -4
  62. package/dist/engagement/chat/schema/index.js.map +1 -1
  63. package/dist/engagement/chat/service/chat-ban.service.d.ts +26 -0
  64. package/dist/engagement/chat/service/chat-ban.service.d.ts.map +1 -0
  65. package/dist/engagement/chat/service/chat-ban.service.js +139 -0
  66. package/dist/engagement/chat/service/chat-ban.service.js.map +1 -0
  67. package/dist/engagement/chat/service/chat-message-moderation.service.d.ts +14 -0
  68. package/dist/engagement/chat/service/chat-message-moderation.service.d.ts.map +1 -0
  69. package/dist/engagement/chat/service/chat-message-moderation.service.js +48 -0
  70. package/dist/engagement/chat/service/chat-message-moderation.service.js.map +1 -0
  71. package/dist/engagement/chat/service/chat-moderation.service.d.ts +30 -0
  72. package/dist/engagement/chat/service/chat-moderation.service.d.ts.map +1 -0
  73. package/dist/engagement/chat/service/chat-moderation.service.js +40 -0
  74. package/dist/engagement/chat/service/chat-moderation.service.js.map +1 -0
  75. package/dist/engagement/chat/service/chat-mute.service.d.ts +26 -0
  76. package/dist/engagement/chat/service/chat-mute.service.d.ts.map +1 -0
  77. package/dist/engagement/chat/service/chat-mute.service.js +143 -0
  78. package/dist/engagement/chat/service/chat-mute.service.js.map +1 -0
  79. package/dist/engagement/chat/service/chat-room-ban.service.d.ts +29 -0
  80. package/dist/engagement/chat/service/chat-room-ban.service.d.ts.map +1 -0
  81. package/dist/engagement/chat/service/chat-room-ban.service.js +105 -0
  82. package/dist/engagement/chat/service/chat-room-ban.service.js.map +1 -0
  83. package/dist/engagement/chat/service/chat-room-membership.service.d.ts +72 -0
  84. package/dist/engagement/chat/service/chat-room-membership.service.d.ts.map +1 -0
  85. package/dist/engagement/chat/service/chat-room-membership.service.js +176 -0
  86. package/dist/engagement/chat/service/chat-room-membership.service.js.map +1 -0
  87. package/dist/engagement/chat/service/chat-room-mute.service.d.ts +25 -0
  88. package/dist/engagement/chat/service/chat-room-mute.service.d.ts.map +1 -0
  89. package/dist/engagement/chat/service/chat-room-mute.service.js +89 -0
  90. package/dist/engagement/chat/service/chat-room-mute.service.js.map +1 -0
  91. package/dist/engagement/chat/service/chat.service.d.ts +348 -61
  92. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  93. package/dist/engagement/chat/service/chat.service.js +460 -194
  94. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  95. package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts +21 -0
  96. package/dist/engagement/chat/service/errors/chat-moderation.errors.d.ts.map +1 -0
  97. package/dist/engagement/chat/service/errors/chat-moderation.errors.js +31 -0
  98. package/dist/engagement/chat/service/errors/chat-moderation.errors.js.map +1 -0
  99. package/dist/engagement/chat-commands/contract/index.js +1 -1
  100. package/dist/engagement/chat-commands/contract/index.js.map +1 -1
  101. package/dist/engagement/chat-commands/drizzle/migrations/0001_sturdy_barracuda.sql +1 -0
  102. package/dist/engagement/chat-commands/drizzle/migrations/meta/0001_snapshot.json +83 -0
  103. package/dist/engagement/chat-commands/drizzle/migrations/meta/_journal.json +7 -0
  104. package/dist/engagement/chat-commands/plugin.d.ts +1 -0
  105. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  106. package/dist/engagement/chat-commands/schema/index.d.ts +0 -199
  107. package/dist/engagement/chat-commands/schema/index.d.ts.map +1 -1
  108. package/dist/engagement/chat-commands/schema/index.js +1 -19
  109. package/dist/engagement/chat-commands/schema/index.js.map +1 -1
  110. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +15 -1
  111. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -1
  112. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +1 -0
  113. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
  114. package/dist/engagement/chat-commands/service/chat-commands.service.js +38 -3
  115. package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -1
  116. package/dist/engagement/notifications/plugin.d.ts +1 -0
  117. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  118. package/dist/engagement/social/plugin.d.ts +1 -0
  119. package/dist/engagement/social/plugin.d.ts.map +1 -1
  120. package/dist/engagement/social-transfers/plugin.d.ts +1 -0
  121. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
  122. package/dist/engagement/social-transfers/schema/index.d.ts +1 -2
  123. package/dist/engagement/social-transfers/schema/index.d.ts.map +1 -1
  124. package/dist/engagement/social-transfers/schema/index.js +1 -2
  125. package/dist/engagement/social-transfers/schema/index.js.map +1 -1
  126. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +10 -0
  127. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -1
  128. package/dist/iam/plugin.d.ts +1 -0
  129. package/dist/iam/plugin.d.ts.map +1 -1
  130. package/dist/iam/seed/data/default-admin-roles.d.ts.map +1 -1
  131. package/dist/iam/seed/data/default-admin-roles.js +3 -0
  132. package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
  133. package/dist/pam/identity/admin-user-directory.d.ts +10 -0
  134. package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
  135. package/dist/pam/identity/admin-user-directory.js +12 -2
  136. package/dist/pam/identity/admin-user-directory.js.map +1 -1
  137. package/dist/pam/identity/plugin.d.ts +1 -0
  138. package/dist/pam/identity/plugin.d.ts.map +1 -1
  139. package/dist/pam/player-management/plugin.d.ts +1 -0
  140. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  141. package/dist/pam/player-note/plugin.d.ts +1 -0
  142. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  143. package/dist/pam/profile/plugin.d.ts +1 -0
  144. package/dist/pam/profile/plugin.d.ts.map +1 -1
  145. package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js +1 -1
  146. package/dist/pam/tag/__tests__/tag-evaluation.service.int.test.js.map +1 -1
  147. package/dist/pam/tag/contract/index.d.ts +1 -0
  148. package/dist/pam/tag/contract/index.d.ts.map +1 -1
  149. package/dist/pam/tag/contract/index.js +1 -0
  150. package/dist/pam/tag/contract/index.js.map +1 -1
  151. package/dist/pam/tag/plugin.d.ts +1 -0
  152. package/dist/pam/tag/plugin.d.ts.map +1 -1
  153. package/dist/pam/tag/service/tag-evaluation.service.js +1 -1
  154. package/dist/pam/tag/service/tag-evaluation.service.js.map +1 -1
  155. package/dist/pam/tag/service/tag-mappers.d.ts +0 -1
  156. package/dist/pam/tag/service/tag-mappers.d.ts.map +1 -1
  157. package/dist/pam/tag/service/tag-mappers.js +0 -1
  158. package/dist/pam/tag/service/tag-mappers.js.map +1 -1
  159. package/dist/pam/tag/service/tag.service.d.ts +1 -1
  160. package/dist/pam/tag/service/tag.service.d.ts.map +1 -1
  161. package/dist/pam/tag/service/tag.service.js +2 -1
  162. package/dist/pam/tag/service/tag.service.js.map +1 -1
  163. package/dist/server/auth/permissions.d.ts +12 -12
  164. package/dist/server/auth/permissions.js +2 -2
  165. package/dist/server/auth/permissions.js.map +1 -1
  166. package/dist/server/kernel/__tests__/realtime-transport.test.js +7 -0
  167. package/dist/server/kernel/__tests__/realtime-transport.test.js.map +1 -1
  168. package/dist/server/kernel/orpc-error-map.d.ts.map +1 -1
  169. package/dist/server/kernel/orpc-error-map.js +4 -1
  170. package/dist/server/kernel/orpc-error-map.js.map +1 -1
  171. package/dist/server/kernel/realtime-transport.d.ts +3 -1
  172. package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
  173. package/dist/server/kernel/realtime-transport.js +22 -4
  174. package/dist/server/kernel/realtime-transport.js.map +1 -1
  175. package/dist/server/runtime/core-token-catalog.d.ts +1 -0
  176. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  177. package/dist/server/runtime/core-token-catalog.js +2 -1
  178. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  179. package/dist/testing/realtime-transport-conformance.d.ts.map +1 -1
  180. package/dist/testing/realtime-transport-conformance.js +4 -0
  181. package/dist/testing/realtime-transport-conformance.js.map +1 -1
  182. package/dist/wallet/plugin.d.ts +1 -0
  183. package/dist/wallet/plugin.d.ts.map +1 -1
  184. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,UAAU,EAEV,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EAgBZ,MAAM,4BAA4B,CAAC;AA6BpC,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,UAAU,EACV,UAAU,EACV,OAAO,GACR,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsQA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,UAAU,EAEV,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,WAAW,EAcZ,MAAM,4BAA4B,CAAC;AAQpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AA6B3E,wBAAgB,gBAAgB,CAAC,EAC/B,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,OAAO,GACR,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,yBAAyB,CAAC;IAC7C,cAAc,EAAE,kBAAkB,CAAC;IACnC,eAAe,EAAE,mBAAmB,CAAC;IACrC,iBAAiB,EAAE,cAAc,CAAC;IAClC,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqfA"}
@@ -1,9 +1,11 @@
1
+ import { randomUUID } from 'node:crypto';
1
2
  import { implement } from '@orpc/server';
2
3
  import { populateContractRouterPaths } from '@orpc/contract';
3
4
  import { mapErrors, createEventStreamGenerator, getUserId, assertRateLimit, } from '@openora/core/server';
4
5
  import { makeRateLimitKey, RATE_LIMIT_KEYS, chatChannel, } from '@openora/core/contracts';
5
6
  import { chatContract } from '../contract/index.js';
6
- import { ChatRoomNotFoundError, ChatRoomOwnershipError, ChatRoomNotModeratorError, ChatRoomSelfModerationError, ChatRoomLastModeratorError, ChatRoomLimitReachedError, ChatMessageNotFoundError, ChatMessageOwnershipError, ChatMessageBlockedError, ChatSelfBlockError, ChatSelfIgnoreError, ChatRoomSlugConflictError, ChatRoomJoinCodeNotFoundError, ChatRoomBannedError, ChatRoomNotMemberError, } from '../service/chat.service.js';
7
+ import { ChatRoomOwnershipError, ChatRoomNotModeratorError, ChatRoomSelfModerationError, ChatRoomLastModeratorError, ChatRoomLimitReachedError, ChatMessageBlockedError, ChatSelfBlockError, ChatSelfIgnoreError, ChatRoomSlugConflictError, ChatRoomJoinCodeNotFoundError, ChatRoomBannedError, ChatRoomNotMemberError, ChatRoomRuleNotFoundError, } from '../service/chat.service.js';
8
+ import { ChatMessageNotFoundError, ChatPlayerMutedError, ChatPlayerBannedError, ChatAdminPrivateRoomModerationError, ChatRoomNotFoundError, } from '../service/chat-moderation.service.js';
7
9
  const chat = populateContractRouterPaths({ chat: chatContract }).chat;
8
10
  const JOIN_ROOM_RATE_LIMIT = {
9
11
  limit: 5,
@@ -27,15 +29,19 @@ function resolveUsername(context, fallback = 'anonymous') {
27
29
  function resolveViewerId(context) {
28
30
  return context.auth?.userId;
29
31
  }
30
- export function createChatRouter({ chatService, authorizer, adminGuard, limiter, }) {
32
+ export function createChatRouter({ chatService, membershipService, roomBanService, roomMuteService, moderationService, authorizer, adminGuard, limiter, }) {
31
33
  const os = implement(chat).$context();
32
34
  return os.router({
33
35
  listRooms: os.listRooms.handler(({ context }) => {
34
36
  return chatService.listRooms(resolveViewerId(context));
35
37
  }),
38
+ listModeratedRooms: os.listModeratedRooms.handler(({ input, context }) => chatService.listModeratedRooms({ ...input, viewerId: getUserId(context) })),
36
39
  getRoomMessages: os.getRoomMessages.handler(({ input, context }) => {
37
40
  const viewerId = resolveViewerId(context);
38
- return mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.getRoomMessages({
41
+ return mapErrors({
42
+ NOT_FOUND: ChatRoomNotFoundError,
43
+ FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerMutedError, ChatPlayerBannedError],
44
+ }, () => chatService.getRoomMessages({
39
45
  roomId: input.roomId,
40
46
  limit: input.limit,
41
47
  before: input.before,
@@ -48,7 +54,7 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
48
54
  await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_SEND, userId), SEND_MESSAGE_RATE_LIMIT);
49
55
  return mapErrors({
50
56
  NOT_FOUND: ChatRoomNotFoundError,
51
- FORBIDDEN: ChatRoomNotMemberError,
57
+ FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerMutedError, ChatPlayerBannedError],
52
58
  BAD_REQUEST: ChatMessageBlockedError,
53
59
  }, () => chatService.sendRoomMessage({
54
60
  userId,
@@ -59,37 +65,85 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
59
65
  }),
60
66
  deleteMessage: os.deleteMessage.handler(({ input, context }) => {
61
67
  const userId = getUserId(context);
62
- return mapErrors({ NOT_FOUND: ChatMessageNotFoundError, FORBIDDEN: ChatMessageOwnershipError }, () => chatService.deleteMessage(input.id, userId));
68
+ return mapErrors({
69
+ NOT_FOUND: [ChatMessageNotFoundError, ChatRoomNotFoundError],
70
+ FORBIDDEN: [ChatRoomNotMemberError, ChatRoomNotModeratorError],
71
+ }, () => chatService.deleteMessage(input.id, userId, context.clientMeta));
72
+ }),
73
+ adminListRoomMessages: os.adminListRoomMessages.handler(async ({ input, context }) => {
74
+ await adminGuard.assert(context, 'chat-moderation', 'view');
75
+ return mapErrors({ NOT_FOUND: ChatRoomNotFoundError }, () => chatService.listAdminRoomMessages(input));
63
76
  }),
64
- getGlobalMessages: os.getGlobalMessages.handler(({ context }) => chatService.getGlobalMessages(undefined, resolveViewerId(context))),
77
+ adminListMessages: os.adminListMessages.handler(async ({ input, context }) => {
78
+ await adminGuard.assert(context, 'chat-moderation', 'view');
79
+ return chatService.listAdminMessages(input);
80
+ }),
81
+ adminDeleteMessage: os.adminDeleteMessage.handler(async ({ input, context }) => {
82
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
83
+ return mapErrors({ NOT_FOUND: ChatMessageNotFoundError }, () => moderationService.deleteMessage(input.id, userId, { ip, userAgent }, 'admin'));
84
+ }),
85
+ getGlobalMessages: os.getGlobalMessages.handler(({ context }) => mapErrors({ FORBIDDEN: ChatPlayerBannedError }, () => chatService.getGlobalMessages(undefined, resolveViewerId(context)))),
65
86
  sendGlobalMessage: os.sendGlobalMessage.handler(async ({ input, context }) => {
66
87
  const userId = getUserId(context);
67
88
  const username = resolveUsername(context);
68
89
  await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_SEND, userId), SEND_MESSAGE_RATE_LIMIT);
69
- return mapErrors({ BAD_REQUEST: ChatMessageBlockedError }, () => chatService.sendGlobalMessage(userId, username, input.content));
90
+ return mapErrors({
91
+ BAD_REQUEST: ChatMessageBlockedError,
92
+ FORBIDDEN: [ChatPlayerMutedError, ChatPlayerBannedError],
93
+ }, () => chatService.sendGlobalMessage(userId, username, input.content));
70
94
  }),
71
95
  // Grant includes all rooms the player has access to (public + private memberships)
72
96
  // so Ably clients can subscribe to any accessible room without re-auth.
73
97
  getConnection: os.getConnection.handler(async ({ input, context }) => {
74
- const userId = getUserId(context);
75
98
  context.resHeaders?.set('cache-control', 'no-store');
76
- const rooms = await chatService.listRooms(userId);
77
- const channels = [chatChannel(null), ...rooms.map((r) => chatChannel(r.id))];
78
- return authorizer.issueGrant({ userId, clientId: input.clientId ?? userId, channels });
99
+ const viewerId = resolveViewerId(context);
100
+ if (!viewerId) {
101
+ const anonymousId = `anonymous:${randomUUID()}`;
102
+ return authorizer.issueGrant({
103
+ userId: anonymousId,
104
+ clientId: anonymousId,
105
+ channels: [chatChannel(null)],
106
+ });
107
+ }
108
+ const rooms = await chatService.listRooms(viewerId);
109
+ const globalRoom = rooms.find((room) => room.slug === '__global');
110
+ const channels = [
111
+ ...(globalRoom && !globalRoom.isBanned ? [chatChannel(null)] : []),
112
+ ...rooms
113
+ .filter((room) => room.slug !== '__global' && !room.isBanned)
114
+ .map((room) => chatChannel(room.id)),
115
+ ];
116
+ return authorizer.issueGrant({
117
+ userId: viewerId,
118
+ clientId: input.clientId ?? viewerId,
119
+ channels,
120
+ });
79
121
  }),
80
122
  streamMessages: os.streamMessages.handler(async ({ input, signal, context }) => {
81
- const roomId = input.roomId ?? null;
123
+ const roomId = input.roomId === '__global' || input.roomId === undefined ? null : input.roomId;
82
124
  // Private-room streams require membership; public-room and global streams are readable anonymously.
83
125
  const viewerId = resolveViewerId(context);
84
126
  if (roomId) {
85
- await mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.verifyRoomAccess(roomId, viewerId));
127
+ await mapErrors({
128
+ NOT_FOUND: ChatRoomNotFoundError,
129
+ FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerBannedError],
130
+ }, () => chatService.verifyRoomAccess(roomId, viewerId));
131
+ }
132
+ else {
133
+ await mapErrors({ FORBIDDEN: ChatPlayerBannedError }, () => chatService.verifyGlobalAccess(viewerId));
86
134
  }
87
135
  return createEventStreamGenerator((push) => chatService.subscribeMessages(roomId, push, viewerId), { signal });
88
136
  }),
89
137
  getOnlineCount: os.getOnlineCount.handler(async ({ input, context }) => {
90
138
  const roomId = input.roomId ?? null;
91
139
  if (roomId) {
92
- await mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.verifyRoomAccess(roomId, resolveViewerId(context)));
140
+ await mapErrors({
141
+ NOT_FOUND: ChatRoomNotFoundError,
142
+ FORBIDDEN: [ChatRoomNotMemberError, ChatPlayerBannedError],
143
+ }, () => chatService.verifyRoomAccess(roomId, resolveViewerId(context)));
144
+ }
145
+ else {
146
+ await mapErrors({ FORBIDDEN: ChatPlayerBannedError }, () => chatService.verifyGlobalAccess(resolveViewerId(context)));
93
147
  }
94
148
  return chatService.getOnlineCount(roomId);
95
149
  }),
@@ -120,39 +174,75 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
120
174
  joinRoom: os.joinRoom.handler(async ({ input, context }) => {
121
175
  const userId = getUserId(context);
122
176
  await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_ROOM_JOIN, userId), JOIN_ROOM_RATE_LIMIT);
123
- return mapErrors({ NOT_FOUND: ChatRoomJoinCodeNotFoundError, FORBIDDEN: ChatRoomBannedError }, () => chatService.joinRoom({ userId, joinCode: input.joinCode, ...context.clientMeta }));
177
+ return mapErrors({ NOT_FOUND: ChatRoomJoinCodeNotFoundError, FORBIDDEN: ChatRoomBannedError }, () => membershipService.joinRoom({ userId, joinCode: input.joinCode, ...context.clientMeta }));
178
+ }),
179
+ joinPublicRoom: os.joinPublicRoom.handler(async ({ input, context }) => {
180
+ const userId = getUserId(context);
181
+ await assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.CHAT_ROOM_JOIN, userId), JOIN_ROOM_RATE_LIMIT);
182
+ return mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomBannedError }, () => membershipService.joinPublicRoom({ roomId: input.roomId, userId, ...context.clientMeta }));
183
+ }),
184
+ adminJoinRoom: os.adminJoinRoom.handler(async ({ input, context }) => {
185
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-room', 'view');
186
+ return mapErrors({ NOT_FOUND: ChatRoomNotFoundError }, () => membershipService.adminJoinRoom({ roomId: input.roomId, userId, ip, userAgent }));
124
187
  }),
125
188
  leaveRoom: os.leaveRoom.handler(({ input, context }) => {
126
189
  const userId = getUserId(context);
127
- return mapErrors({ BAD_REQUEST: ChatRoomLastModeratorError }, () => chatService.leaveRoom({ userId, roomId: input.roomId, ...context.clientMeta }));
190
+ return mapErrors({ BAD_REQUEST: ChatRoomLastModeratorError }, () => membershipService.leaveRoom({ userId, roomId: input.roomId, ...context.clientMeta }));
128
191
  }),
129
192
  getRoom: os.getRoom.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.getRoom({ roomId: input.roomId, viewerId: resolveViewerId(context) }))),
130
- kickMember: os.kickMember.handler(({ input, context }) => {
193
+ getRoomRules: os.getRoomRules.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.listRoomRules(input.roomId, resolveViewerId(context)))),
194
+ updatePrivateRoom: os.updatePrivateRoom.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomOwnershipError }, () => chatService.updatePrivateRoom({
195
+ ...input,
196
+ actorId: getUserId(context),
197
+ ...context.clientMeta,
198
+ }))),
199
+ createRoomRule: os.createRoomRule.handler(({ input, context }) => mapErrors({
200
+ NOT_FOUND: ChatRoomNotFoundError,
201
+ FORBIDDEN: [ChatRoomNotMemberError, ChatRoomNotModeratorError],
202
+ }, () => chatService.createRoomRule({ ...input, actorId: getUserId(context) }))),
203
+ updateRoomRule: os.updateRoomRule.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError, BAD_REQUEST: ChatRoomRuleNotFoundError }, () => chatService.updateRoomRule({ ...input, actorId: getUserId(context) }))),
204
+ deleteRoomRule: os.deleteRoomRule.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError, BAD_REQUEST: ChatRoomRuleNotFoundError }, () => chatService.deleteRoomRule({ ...input, actorId: getUserId(context) }))),
205
+ getRoomConfiguration: os.getRoomConfiguration.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.getRoomConfiguration(input.roomId, resolveViewerId(context)))),
206
+ updateRoomConfiguration: os.updateRoomConfiguration.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => chatService.updateRoomConfiguration({ ...input, actorId: getUserId(context) }))),
207
+ listRoomUsers: os.listRoomUsers.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => chatService.listRoomUsers({ ...input, actorId: getUserId(context) }))),
208
+ listRoomBlockedUsers: os.listRoomBlockedUsers.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => chatService.listRoomBlockedUsers({ ...input, actorId: getUserId(context) }))),
209
+ removeMember: os.removeMember.handler(({ input, context }) => {
131
210
  const moderatorId = getUserId(context);
132
211
  return mapErrors({
133
212
  NOT_FOUND: ChatRoomNotFoundError,
134
213
  FORBIDDEN: ChatRoomNotModeratorError,
135
214
  BAD_REQUEST: ChatRoomSelfModerationError,
136
- }, () => chatService.kickMember({
215
+ }, () => membershipService.removeMember({
137
216
  moderatorId,
138
217
  roomId: input.roomId,
139
218
  userId: input.userId,
140
219
  ...context.clientMeta,
141
220
  }));
142
221
  }),
143
- banMember: os.banMember.handler(({ input, context }) => {
222
+ banRoomMember: os.banRoomMember.handler(({ input, context }) => {
144
223
  const moderatorId = getUserId(context);
145
224
  return mapErrors({
146
225
  NOT_FOUND: ChatRoomNotFoundError,
147
226
  FORBIDDEN: ChatRoomNotModeratorError,
148
227
  BAD_REQUEST: ChatRoomSelfModerationError,
149
- }, () => chatService.banMember({
228
+ }, () => roomBanService.banMember({
150
229
  moderatorId,
151
230
  roomId: input.roomId,
152
231
  userId: input.userId,
232
+ durationSeconds: input.durationSeconds,
233
+ reason: input.reason,
153
234
  ...context.clientMeta,
154
235
  }));
155
236
  }),
237
+ unbanRoomMember: os.unbanRoomMember.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => roomBanService.unbanMember({ ...input, moderatorId: getUserId(context) }))),
238
+ muteRoomMember: os.muteRoomMember.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => roomMuteService.muteRoomMember({
239
+ roomId: input.roomId,
240
+ userId: input.userId,
241
+ moderatorId: getUserId(context),
242
+ durationSeconds: input.durationSeconds,
243
+ reason: input.reason,
244
+ }))),
245
+ unmuteRoomMember: os.unmuteRoomMember.handler(({ input, context }) => mapErrors({ FORBIDDEN: ChatRoomNotModeratorError }, () => roomMuteService.unmuteRoomMember({ ...input, moderatorId: getUserId(context) }))),
156
246
  listRoomMembers: os.listRoomMembers.handler(({ input, context }) => mapErrors({ NOT_FOUND: ChatRoomNotFoundError, FORBIDDEN: ChatRoomNotMemberError }, () => chatService.listRoomMembers({
157
247
  roomId: input.roomId,
158
248
  viewerId: getUserId(context),
@@ -181,6 +271,36 @@ export function createChatRouter({ chatService, authorizer, adminGuard, limiter,
181
271
  await adminGuard.assert(context, 'chat-moderation', 'view');
182
272
  return chatService.adminListIgnoredUsers(input);
183
273
  }),
274
+ adminMute: os.adminMute.handler(async ({ input, context }) => {
275
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
276
+ return mapErrors({
277
+ NOT_FOUND: ChatRoomNotFoundError,
278
+ BAD_REQUEST: ChatAdminPrivateRoomModerationError,
279
+ }, () => moderationService.mute({ ...input, actorId: userId, ip, userAgent }));
280
+ }),
281
+ adminUnmute: os.adminUnmute.handler(async ({ input, context }) => {
282
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
283
+ return moderationService.unmute({ ...input, actorId: userId, ip, userAgent });
284
+ }),
285
+ adminListMutes: os.adminListMutes.handler(async ({ input, context }) => {
286
+ await adminGuard.assert(context, 'chat-moderation', 'view');
287
+ return moderationService.listMutes(input.userId);
288
+ }),
289
+ adminBan: os.adminBan.handler(async ({ input, context }) => {
290
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
291
+ return mapErrors({
292
+ NOT_FOUND: ChatRoomNotFoundError,
293
+ BAD_REQUEST: ChatAdminPrivateRoomModerationError,
294
+ }, () => moderationService.ban({ ...input, actorId: userId, ip, userAgent }));
295
+ }),
296
+ adminUnban: os.adminUnban.handler(async ({ input, context }) => {
297
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'chat-moderation', 'moderate');
298
+ return moderationService.unban({ ...input, actorId: userId, ip, userAgent });
299
+ }),
300
+ adminListBans: os.adminListBans.handler(async ({ input, context }) => {
301
+ await adminGuard.assert(context, 'chat-moderation', 'view');
302
+ return moderationService.listBans(input.userId);
303
+ }),
184
304
  });
185
305
  }
186
306
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat/router/index.ts"],"names":[],"mappings":"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"}