@openora/core 0.4.1-canary.49 → 0.4.1-canary.51

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 (225) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/contract/index.d.ts +12 -0
  3. package/dist/admin-console/contract/index.d.ts.map +1 -1
  4. package/dist/admin-console/router/index.d.ts +6 -0
  5. package/dist/admin-console/router/index.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts.map +1 -1
  7. package/dist/audit/plugin.js +19 -4
  8. package/dist/audit/plugin.js.map +1 -1
  9. package/dist/audit/service/audit.service.d.ts +1 -0
  10. package/dist/audit/service/audit.service.d.ts.map +1 -1
  11. package/dist/audit/service/audit.service.js +11 -6
  12. package/dist/audit/service/audit.service.js.map +1 -1
  13. package/dist/casino/gaming/__tests__/gaming.service.test.js +2 -2
  14. package/dist/casino/gaming/__tests__/gaming.service.test.js.map +1 -1
  15. package/dist/casino/gaming/admin-reporting.d.ts +2 -1
  16. package/dist/casino/gaming/admin-reporting.d.ts.map +1 -1
  17. package/dist/casino/gaming/admin-reporting.js +14 -0
  18. package/dist/casino/gaming/admin-reporting.js.map +1 -1
  19. package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.js +3 -0
  20. package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.js.map +1 -1
  21. package/dist/compliance/drizzle/migrations/0004_military_silk_fever.sql +1 -1
  22. package/dist/contracts/adapters/admin-game-reporting.d.ts +5 -0
  23. package/dist/contracts/adapters/admin-game-reporting.d.ts.map +1 -1
  24. package/dist/contracts/adapters/admin-game-reporting.js.map +1 -1
  25. package/dist/contracts/adapters/admin-user-directory.d.ts +6 -1
  26. package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
  27. package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
  28. package/dist/contracts/adapters/audit.d.ts +10 -0
  29. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  30. package/dist/contracts/adapters/audit.js.map +1 -1
  31. package/dist/contracts/adapters/cache.d.ts +3 -0
  32. package/dist/contracts/adapters/cache.d.ts.map +1 -1
  33. package/dist/contracts/adapters/cache.js.map +1 -1
  34. package/dist/contracts/adapters/chat-block-writer.d.ts +8 -0
  35. package/dist/contracts/adapters/chat-block-writer.d.ts.map +1 -0
  36. package/dist/contracts/adapters/chat-block-writer.js +3 -0
  37. package/dist/contracts/adapters/chat-block-writer.js.map +1 -0
  38. package/dist/contracts/adapters/chat-room-access.d.ts +6 -0
  39. package/dist/contracts/adapters/chat-room-access.d.ts.map +1 -0
  40. package/dist/contracts/adapters/chat-room-access.js +3 -0
  41. package/dist/contracts/adapters/chat-room-access.js.map +1 -0
  42. package/dist/contracts/adapters/chat-system-writer.d.ts +12 -0
  43. package/dist/contracts/adapters/chat-system-writer.d.ts.map +1 -0
  44. package/dist/contracts/adapters/chat-system-writer.js +3 -0
  45. package/dist/contracts/adapters/chat-system-writer.js.map +1 -0
  46. package/dist/contracts/adapters/index.d.ts +8 -2
  47. package/dist/contracts/adapters/index.d.ts.map +1 -1
  48. package/dist/contracts/adapters/index.js +4 -1
  49. package/dist/contracts/adapters/index.js.map +1 -1
  50. package/dist/contracts/adapters/realtime.d.ts +3 -0
  51. package/dist/contracts/adapters/realtime.d.ts.map +1 -1
  52. package/dist/contracts/adapters/realtime.js +14 -0
  53. package/dist/contracts/adapters/realtime.js.map +1 -1
  54. package/dist/contracts/adapters/wallet-commands.d.ts +2 -0
  55. package/dist/contracts/adapters/wallet-commands.d.ts.map +1 -1
  56. package/dist/contracts/adapters/wallet-commands.js.map +1 -1
  57. package/dist/contracts/schemas/chat-command-metadata.d.ts +47 -0
  58. package/dist/contracts/schemas/chat-command-metadata.d.ts.map +1 -0
  59. package/dist/contracts/schemas/chat-command-metadata.js +42 -0
  60. package/dist/contracts/schemas/chat-command-metadata.js.map +1 -0
  61. package/dist/contracts/schemas/chat-command.d.ts +87 -0
  62. package/dist/contracts/schemas/chat-command.d.ts.map +1 -0
  63. package/dist/contracts/schemas/chat-command.js +26 -0
  64. package/dist/contracts/schemas/chat-command.js.map +1 -0
  65. package/dist/contracts/schemas/events.d.ts +59 -0
  66. package/dist/contracts/schemas/events.d.ts.map +1 -1
  67. package/dist/contracts/schemas/events.js +52 -2
  68. package/dist/contracts/schemas/events.js.map +1 -1
  69. package/dist/contracts/schemas/index.d.ts +2 -0
  70. package/dist/contracts/schemas/index.d.ts.map +1 -1
  71. package/dist/contracts/schemas/index.js +2 -0
  72. package/dist/contracts/schemas/index.js.map +1 -1
  73. package/dist/contracts/schemas/wallet-tx.d.ts +3 -1
  74. package/dist/contracts/schemas/wallet-tx.d.ts.map +1 -1
  75. package/dist/contracts/schemas/wallet-tx.js +2 -0
  76. package/dist/contracts/schemas/wallet-tx.js.map +1 -1
  77. package/dist/engagement/chat/__tests__/chat.service.test.js +138 -10
  78. package/dist/engagement/chat/__tests__/chat.service.test.js.map +1 -1
  79. package/dist/engagement/chat/contract/index.d.ts +285 -0
  80. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  81. package/dist/engagement/chat/contract/index.js +23 -1
  82. package/dist/engagement/chat/contract/index.js.map +1 -1
  83. package/dist/engagement/chat/drizzle/migrations/0002_steep_zodiak.sql +3 -0
  84. package/dist/engagement/chat/drizzle/migrations/0003_stormy_king_bedlam.sql +9 -0
  85. package/dist/engagement/chat/drizzle/migrations/meta/0002_snapshot.json +576 -0
  86. package/dist/engagement/chat/drizzle/migrations/meta/0003_snapshot.json +652 -0
  87. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +14 -0
  88. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  89. package/dist/engagement/chat/plugin.js +15 -3
  90. package/dist/engagement/chat/plugin.js.map +1 -1
  91. package/dist/engagement/chat/router/index.d.ts +242 -0
  92. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  93. package/dist/engagement/chat/router/index.js +14 -2
  94. package/dist/engagement/chat/router/index.js.map +1 -1
  95. package/dist/engagement/chat/schema/index.d.ts +179 -0
  96. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  97. package/dist/engagement/chat/schema/index.js +17 -1
  98. package/dist/engagement/chat/schema/index.js.map +1 -1
  99. package/dist/engagement/chat/service/chat.service.d.ts +176 -8
  100. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  101. package/dist/engagement/chat/service/chat.service.js +129 -13
  102. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  103. package/dist/engagement/chat-commands/contract/index.d.ts +252 -0
  104. package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -0
  105. package/dist/engagement/chat-commands/contract/index.js +138 -0
  106. package/dist/engagement/chat-commands/contract/index.js.map +1 -0
  107. package/dist/engagement/chat-commands/drizzle/migrations/0000_daffy_lady_bullseye.sql +24 -0
  108. package/dist/engagement/chat-commands/drizzle/migrations/meta/0000_snapshot.json +164 -0
  109. package/dist/engagement/chat-commands/drizzle/migrations/meta/_journal.json +13 -0
  110. package/dist/engagement/chat-commands/drizzle.config.d.ts +4 -0
  111. package/dist/engagement/chat-commands/drizzle.config.d.ts.map +1 -0
  112. package/dist/engagement/chat-commands/drizzle.config.js +21 -0
  113. package/dist/engagement/chat-commands/drizzle.config.js.map +1 -0
  114. package/dist/engagement/chat-commands/migrate.d.ts +3 -0
  115. package/dist/engagement/chat-commands/migrate.d.ts.map +1 -0
  116. package/dist/engagement/chat-commands/migrate.js +15 -0
  117. package/dist/engagement/chat-commands/migrate.js.map +1 -0
  118. package/dist/engagement/chat-commands/plugin.d.ts +3 -0
  119. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -0
  120. package/dist/engagement/chat-commands/plugin.js +15 -0
  121. package/dist/engagement/chat-commands/plugin.js.map +1 -0
  122. package/dist/engagement/chat-commands/router/index.d.ts +173 -0
  123. package/dist/engagement/chat-commands/router/index.d.ts.map +1 -0
  124. package/dist/engagement/chat-commands/router/index.js +61 -0
  125. package/dist/engagement/chat-commands/router/index.js.map +1 -0
  126. package/dist/engagement/chat-commands/schema/index.d.ts +337 -0
  127. package/dist/engagement/chat-commands/schema/index.d.ts.map +1 -0
  128. package/dist/engagement/chat-commands/schema/index.js +29 -0
  129. package/dist/engagement/chat-commands/schema/index.js.map +1 -0
  130. package/dist/engagement/chat-commands/seed/index.d.ts +3 -0
  131. package/dist/engagement/chat-commands/seed/index.d.ts.map +1 -0
  132. package/dist/engagement/chat-commands/seed/index.js +54 -0
  133. package/dist/engagement/chat-commands/seed/index.js.map +1 -0
  134. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.d.ts +2 -0
  135. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.d.ts.map +1 -0
  136. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +888 -0
  137. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -0
  138. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +90 -0
  139. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -0
  140. package/dist/engagement/chat-commands/service/chat-commands.service.js +641 -0
  141. package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -0
  142. package/dist/engagement/contracts.d.ts +1 -0
  143. package/dist/engagement/contracts.d.ts.map +1 -1
  144. package/dist/engagement/contracts.js +1 -0
  145. package/dist/engagement/contracts.js.map +1 -1
  146. package/dist/engagement/index.d.ts +1 -0
  147. package/dist/engagement/index.d.ts.map +1 -1
  148. package/dist/engagement/index.js +1 -0
  149. package/dist/engagement/index.js.map +1 -1
  150. package/dist/engagement/server.d.ts +1 -0
  151. package/dist/engagement/server.d.ts.map +1 -1
  152. package/dist/engagement/server.js +1 -0
  153. package/dist/engagement/server.js.map +1 -1
  154. package/dist/iam/service/iam.service.d.ts +1 -1
  155. package/dist/pam/identity/__tests__/admin-user-directory.test.js +24 -0
  156. package/dist/pam/identity/__tests__/admin-user-directory.test.js.map +1 -1
  157. package/dist/pam/identity/admin-user-directory.d.ts +16 -1
  158. package/dist/pam/identity/admin-user-directory.d.ts.map +1 -1
  159. package/dist/pam/identity/admin-user-directory.js +39 -6
  160. package/dist/pam/identity/admin-user-directory.js.map +1 -1
  161. package/dist/react/hooks/__tests__/use-event-stream.test.d.ts +2 -0
  162. package/dist/react/hooks/__tests__/use-event-stream.test.d.ts.map +1 -0
  163. package/dist/react/hooks/__tests__/use-event-stream.test.js +153 -0
  164. package/dist/react/hooks/__tests__/use-event-stream.test.js.map +1 -0
  165. package/dist/react/hooks/use-event-stream.d.ts +3 -3
  166. package/dist/react/hooks/use-event-stream.d.ts.map +1 -1
  167. package/dist/react/hooks/use-event-stream.js +60 -28
  168. package/dist/react/hooks/use-event-stream.js.map +1 -1
  169. package/dist/server/kernel/__tests__/cache.test.js +1 -0
  170. package/dist/server/kernel/__tests__/cache.test.js.map +1 -1
  171. package/dist/server/kernel/__tests__/realtime-transport.test.js +11 -0
  172. package/dist/server/kernel/__tests__/realtime-transport.test.js.map +1 -1
  173. package/dist/server/kernel/realtime-transport.d.ts +2 -0
  174. package/dist/server/kernel/realtime-transport.d.ts.map +1 -1
  175. package/dist/server/kernel/realtime-transport.js +13 -1
  176. package/dist/server/kernel/realtime-transport.js.map +1 -1
  177. package/dist/server/kernel/redis-cache.d.ts +3 -0
  178. package/dist/server/kernel/redis-cache.d.ts.map +1 -1
  179. package/dist/server/kernel/redis-cache.js +10 -0
  180. package/dist/server/kernel/redis-cache.js.map +1 -1
  181. package/dist/server/runtime/create-app.d.ts.map +1 -1
  182. package/dist/server/runtime/create-app.js +2 -4
  183. package/dist/server/runtime/create-app.js.map +1 -1
  184. package/dist/testing/index.d.ts +1 -0
  185. package/dist/testing/index.d.ts.map +1 -1
  186. package/dist/testing/index.js +1 -0
  187. package/dist/testing/index.js.map +1 -1
  188. package/dist/testing/mock.d.ts +1 -0
  189. package/dist/testing/mock.d.ts.map +1 -1
  190. package/dist/testing/mock.js +7 -2
  191. package/dist/testing/mock.js.map +1 -1
  192. package/dist/testing/realtime-transport-conformance.d.ts +35 -0
  193. package/dist/testing/realtime-transport-conformance.d.ts.map +1 -0
  194. package/dist/testing/realtime-transport-conformance.js +77 -0
  195. package/dist/testing/realtime-transport-conformance.js.map +1 -0
  196. package/dist/wallet/__tests__/wallet-commands.service.test.js +36 -6
  197. package/dist/wallet/__tests__/wallet-commands.service.test.js.map +1 -1
  198. package/dist/wallet/admin-reporting.d.ts +2 -2
  199. package/dist/wallet/contract/index.d.ts +6 -0
  200. package/dist/wallet/contract/index.d.ts.map +1 -1
  201. package/dist/wallet/drizzle/migrations/0004_reflective_shriek.sql +2 -0
  202. package/dist/wallet/drizzle/migrations/meta/0004_snapshot.json +567 -0
  203. package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
  204. package/dist/wallet/router/index.d.ts +4 -0
  205. package/dist/wallet/router/index.d.ts.map +1 -1
  206. package/dist/wallet/schema/index.d.ts +3 -3
  207. package/dist/wallet/schema/index.d.ts.map +1 -1
  208. package/dist/wallet/service/wallet-commands.service.d.ts +1 -1
  209. package/dist/wallet/service/wallet-commands.service.d.ts.map +1 -1
  210. package/dist/wallet/service/wallet-commands.service.js +6 -3
  211. package/dist/wallet/service/wallet-commands.service.js.map +1 -1
  212. package/dist/wallet/service/wallet.service.d.ts +1 -1
  213. package/package.json +30 -7
  214. package/dist/engagement/chat/react/use-chat-stream.d.ts +0 -26
  215. package/dist/engagement/chat/react/use-chat-stream.d.ts.map +0 -1
  216. package/dist/engagement/chat/react/use-chat-stream.js +0 -54
  217. package/dist/engagement/chat/react/use-chat-stream.js.map +0 -1
  218. package/dist/engagement/chat/react/use-join-room.d.ts +0 -13
  219. package/dist/engagement/chat/react/use-join-room.d.ts.map +0 -1
  220. package/dist/engagement/chat/react/use-join-room.js +0 -25
  221. package/dist/engagement/chat/react/use-join-room.js.map +0 -1
  222. package/dist/engagement/react.d.ts +0 -3
  223. package/dist/engagement/react.d.ts.map +0 -1
  224. package/dist/engagement/react.js +0 -4
  225. package/dist/engagement/react.js.map +0 -1
@@ -0,0 +1,652 @@
1
+ {
2
+ "id": "79e5eb46-0b0f-4006-8e14-b713be88acfe",
3
+ "prevId": "92579669-633b-4bec-9839-1674019645a5",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.chat_message": {
8
+ "name": "chat_message",
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
+ "room_id": {
19
+ "name": "room_id",
20
+ "type": "uuid",
21
+ "primaryKey": false,
22
+ "notNull": false
23
+ },
24
+ "user_id": {
25
+ "name": "user_id",
26
+ "type": "uuid",
27
+ "primaryKey": false,
28
+ "notNull": true
29
+ },
30
+ "username": {
31
+ "name": "username",
32
+ "type": "text",
33
+ "primaryKey": false,
34
+ "notNull": true
35
+ },
36
+ "content": {
37
+ "name": "content",
38
+ "type": "text",
39
+ "primaryKey": false,
40
+ "notNull": true
41
+ },
42
+ "type": {
43
+ "name": "type",
44
+ "type": "chat_message_type",
45
+ "typeSchema": "public",
46
+ "primaryKey": false,
47
+ "notNull": true,
48
+ "default": "'user'"
49
+ },
50
+ "metadata": {
51
+ "name": "metadata",
52
+ "type": "jsonb",
53
+ "primaryKey": false,
54
+ "notNull": false
55
+ },
56
+ "is_deleted": {
57
+ "name": "is_deleted",
58
+ "type": "boolean",
59
+ "primaryKey": false,
60
+ "notNull": true,
61
+ "default": false
62
+ },
63
+ "created_at": {
64
+ "name": "created_at",
65
+ "type": "timestamp with time zone",
66
+ "primaryKey": false,
67
+ "notNull": true,
68
+ "default": "now()"
69
+ }
70
+ },
71
+ "indexes": {
72
+ "chat_msg_room_id_created_at_idx": {
73
+ "name": "chat_msg_room_id_created_at_idx",
74
+ "columns": [
75
+ {
76
+ "expression": "room_id",
77
+ "isExpression": false,
78
+ "asc": true,
79
+ "nulls": "last"
80
+ },
81
+ {
82
+ "expression": "created_at",
83
+ "isExpression": false,
84
+ "asc": true,
85
+ "nulls": "last"
86
+ }
87
+ ],
88
+ "isUnique": false,
89
+ "concurrently": false,
90
+ "method": "btree",
91
+ "with": {}
92
+ },
93
+ "chat_msg_created_at_idx": {
94
+ "name": "chat_msg_created_at_idx",
95
+ "columns": [
96
+ {
97
+ "expression": "created_at",
98
+ "isExpression": false,
99
+ "asc": true,
100
+ "nulls": "last"
101
+ }
102
+ ],
103
+ "isUnique": false,
104
+ "concurrently": false,
105
+ "method": "btree",
106
+ "with": {}
107
+ }
108
+ },
109
+ "foreignKeys": {
110
+ "chat_message_room_id_chat_room_id_fk": {
111
+ "name": "chat_message_room_id_chat_room_id_fk",
112
+ "tableFrom": "chat_message",
113
+ "tableTo": "chat_room",
114
+ "columnsFrom": ["room_id"],
115
+ "columnsTo": ["id"],
116
+ "onDelete": "no action",
117
+ "onUpdate": "no action"
118
+ }
119
+ },
120
+ "compositePrimaryKeys": {},
121
+ "uniqueConstraints": {},
122
+ "policies": {},
123
+ "checkConstraints": {},
124
+ "isRLSEnabled": false
125
+ },
126
+ "public.chat_room": {
127
+ "name": "chat_room",
128
+ "schema": "",
129
+ "columns": {
130
+ "id": {
131
+ "name": "id",
132
+ "type": "uuid",
133
+ "primaryKey": true,
134
+ "notNull": true,
135
+ "default": "gen_random_uuid()"
136
+ },
137
+ "name": {
138
+ "name": "name",
139
+ "type": "text",
140
+ "primaryKey": false,
141
+ "notNull": true
142
+ },
143
+ "slug": {
144
+ "name": "slug",
145
+ "type": "text",
146
+ "primaryKey": false,
147
+ "notNull": true
148
+ },
149
+ "category": {
150
+ "name": "category",
151
+ "type": "chat_room_category",
152
+ "typeSchema": "public",
153
+ "primaryKey": false,
154
+ "notNull": true,
155
+ "default": "'games-sports'"
156
+ },
157
+ "is_public": {
158
+ "name": "is_public",
159
+ "type": "boolean",
160
+ "primaryKey": false,
161
+ "notNull": true,
162
+ "default": true
163
+ },
164
+ "join_code": {
165
+ "name": "join_code",
166
+ "type": "text",
167
+ "primaryKey": false,
168
+ "notNull": false
169
+ },
170
+ "creator_id": {
171
+ "name": "creator_id",
172
+ "type": "uuid",
173
+ "primaryKey": false,
174
+ "notNull": false
175
+ },
176
+ "created_at": {
177
+ "name": "created_at",
178
+ "type": "timestamp with time zone",
179
+ "primaryKey": false,
180
+ "notNull": true,
181
+ "default": "now()"
182
+ },
183
+ "deleted_at": {
184
+ "name": "deleted_at",
185
+ "type": "timestamp with time zone",
186
+ "primaryKey": false,
187
+ "notNull": false
188
+ }
189
+ },
190
+ "indexes": {
191
+ "chat_room_slug_key": {
192
+ "name": "chat_room_slug_key",
193
+ "columns": [
194
+ {
195
+ "expression": "slug",
196
+ "isExpression": false,
197
+ "asc": true,
198
+ "nulls": "last"
199
+ }
200
+ ],
201
+ "isUnique": true,
202
+ "concurrently": false,
203
+ "method": "btree",
204
+ "with": {}
205
+ },
206
+ "chat_room_join_code_key": {
207
+ "name": "chat_room_join_code_key",
208
+ "columns": [
209
+ {
210
+ "expression": "join_code",
211
+ "isExpression": false,
212
+ "asc": true,
213
+ "nulls": "last"
214
+ }
215
+ ],
216
+ "isUnique": true,
217
+ "concurrently": false,
218
+ "method": "btree",
219
+ "with": {}
220
+ },
221
+ "chat_room_deleted_at_idx": {
222
+ "name": "chat_room_deleted_at_idx",
223
+ "columns": [
224
+ {
225
+ "expression": "deleted_at",
226
+ "isExpression": false,
227
+ "asc": true,
228
+ "nulls": "last"
229
+ }
230
+ ],
231
+ "isUnique": false,
232
+ "concurrently": false,
233
+ "method": "btree",
234
+ "with": {}
235
+ },
236
+ "chat_room_creator_public_deleted_at_idx": {
237
+ "name": "chat_room_creator_public_deleted_at_idx",
238
+ "columns": [
239
+ {
240
+ "expression": "creator_id",
241
+ "isExpression": false,
242
+ "asc": true,
243
+ "nulls": "last"
244
+ },
245
+ {
246
+ "expression": "is_public",
247
+ "isExpression": false,
248
+ "asc": true,
249
+ "nulls": "last"
250
+ },
251
+ {
252
+ "expression": "deleted_at",
253
+ "isExpression": false,
254
+ "asc": true,
255
+ "nulls": "last"
256
+ }
257
+ ],
258
+ "isUnique": false,
259
+ "concurrently": false,
260
+ "method": "btree",
261
+ "with": {}
262
+ }
263
+ },
264
+ "foreignKeys": {},
265
+ "compositePrimaryKeys": {},
266
+ "uniqueConstraints": {},
267
+ "policies": {},
268
+ "checkConstraints": {},
269
+ "isRLSEnabled": false
270
+ },
271
+ "public.chat_room_ban": {
272
+ "name": "chat_room_ban",
273
+ "schema": "",
274
+ "columns": {
275
+ "id": {
276
+ "name": "id",
277
+ "type": "uuid",
278
+ "primaryKey": true,
279
+ "notNull": true,
280
+ "default": "gen_random_uuid()"
281
+ },
282
+ "room_id": {
283
+ "name": "room_id",
284
+ "type": "uuid",
285
+ "primaryKey": false,
286
+ "notNull": true
287
+ },
288
+ "user_id": {
289
+ "name": "user_id",
290
+ "type": "uuid",
291
+ "primaryKey": false,
292
+ "notNull": true
293
+ },
294
+ "banned_by": {
295
+ "name": "banned_by",
296
+ "type": "uuid",
297
+ "primaryKey": false,
298
+ "notNull": true
299
+ },
300
+ "created_at": {
301
+ "name": "created_at",
302
+ "type": "timestamp with time zone",
303
+ "primaryKey": false,
304
+ "notNull": true,
305
+ "default": "now()"
306
+ }
307
+ },
308
+ "indexes": {
309
+ "chat_room_ban_room_user_key": {
310
+ "name": "chat_room_ban_room_user_key",
311
+ "columns": [
312
+ {
313
+ "expression": "room_id",
314
+ "isExpression": false,
315
+ "asc": true,
316
+ "nulls": "last"
317
+ },
318
+ {
319
+ "expression": "user_id",
320
+ "isExpression": false,
321
+ "asc": true,
322
+ "nulls": "last"
323
+ }
324
+ ],
325
+ "isUnique": true,
326
+ "concurrently": false,
327
+ "method": "btree",
328
+ "with": {}
329
+ },
330
+ "chat_room_ban_room_idx": {
331
+ "name": "chat_room_ban_room_idx",
332
+ "columns": [
333
+ {
334
+ "expression": "room_id",
335
+ "isExpression": false,
336
+ "asc": true,
337
+ "nulls": "last"
338
+ }
339
+ ],
340
+ "isUnique": false,
341
+ "concurrently": false,
342
+ "method": "btree",
343
+ "with": {}
344
+ }
345
+ },
346
+ "foreignKeys": {
347
+ "chat_room_ban_room_id_chat_room_id_fk": {
348
+ "name": "chat_room_ban_room_id_chat_room_id_fk",
349
+ "tableFrom": "chat_room_ban",
350
+ "tableTo": "chat_room",
351
+ "columnsFrom": ["room_id"],
352
+ "columnsTo": ["id"],
353
+ "onDelete": "cascade",
354
+ "onUpdate": "no action"
355
+ }
356
+ },
357
+ "compositePrimaryKeys": {},
358
+ "uniqueConstraints": {},
359
+ "policies": {},
360
+ "checkConstraints": {},
361
+ "isRLSEnabled": false
362
+ },
363
+ "public.chat_room_member": {
364
+ "name": "chat_room_member",
365
+ "schema": "",
366
+ "columns": {
367
+ "id": {
368
+ "name": "id",
369
+ "type": "uuid",
370
+ "primaryKey": true,
371
+ "notNull": true,
372
+ "default": "gen_random_uuid()"
373
+ },
374
+ "room_id": {
375
+ "name": "room_id",
376
+ "type": "uuid",
377
+ "primaryKey": false,
378
+ "notNull": true
379
+ },
380
+ "user_id": {
381
+ "name": "user_id",
382
+ "type": "uuid",
383
+ "primaryKey": false,
384
+ "notNull": true
385
+ },
386
+ "role": {
387
+ "name": "role",
388
+ "type": "chat_room_role",
389
+ "typeSchema": "public",
390
+ "primaryKey": false,
391
+ "notNull": true,
392
+ "default": "'member'"
393
+ },
394
+ "joined_at": {
395
+ "name": "joined_at",
396
+ "type": "timestamp with time zone",
397
+ "primaryKey": false,
398
+ "notNull": true,
399
+ "default": "now()"
400
+ }
401
+ },
402
+ "indexes": {
403
+ "chat_room_member_room_user_key": {
404
+ "name": "chat_room_member_room_user_key",
405
+ "columns": [
406
+ {
407
+ "expression": "room_id",
408
+ "isExpression": false,
409
+ "asc": true,
410
+ "nulls": "last"
411
+ },
412
+ {
413
+ "expression": "user_id",
414
+ "isExpression": false,
415
+ "asc": true,
416
+ "nulls": "last"
417
+ }
418
+ ],
419
+ "isUnique": true,
420
+ "concurrently": false,
421
+ "method": "btree",
422
+ "with": {}
423
+ },
424
+ "chat_room_member_room_idx": {
425
+ "name": "chat_room_member_room_idx",
426
+ "columns": [
427
+ {
428
+ "expression": "room_id",
429
+ "isExpression": false,
430
+ "asc": true,
431
+ "nulls": "last"
432
+ }
433
+ ],
434
+ "isUnique": false,
435
+ "concurrently": false,
436
+ "method": "btree",
437
+ "with": {}
438
+ },
439
+ "chat_room_member_user_idx": {
440
+ "name": "chat_room_member_user_idx",
441
+ "columns": [
442
+ {
443
+ "expression": "user_id",
444
+ "isExpression": false,
445
+ "asc": true,
446
+ "nulls": "last"
447
+ }
448
+ ],
449
+ "isUnique": false,
450
+ "concurrently": false,
451
+ "method": "btree",
452
+ "with": {}
453
+ }
454
+ },
455
+ "foreignKeys": {
456
+ "chat_room_member_room_id_chat_room_id_fk": {
457
+ "name": "chat_room_member_room_id_chat_room_id_fk",
458
+ "tableFrom": "chat_room_member",
459
+ "tableTo": "chat_room",
460
+ "columnsFrom": ["room_id"],
461
+ "columnsTo": ["id"],
462
+ "onDelete": "cascade",
463
+ "onUpdate": "no action"
464
+ }
465
+ },
466
+ "compositePrimaryKeys": {},
467
+ "uniqueConstraints": {},
468
+ "policies": {},
469
+ "checkConstraints": {},
470
+ "isRLSEnabled": false
471
+ },
472
+ "public.chat_user_block": {
473
+ "name": "chat_user_block",
474
+ "schema": "",
475
+ "columns": {
476
+ "id": {
477
+ "name": "id",
478
+ "type": "uuid",
479
+ "primaryKey": true,
480
+ "notNull": true,
481
+ "default": "gen_random_uuid()"
482
+ },
483
+ "blocker_id": {
484
+ "name": "blocker_id",
485
+ "type": "uuid",
486
+ "primaryKey": false,
487
+ "notNull": true
488
+ },
489
+ "blocked_id": {
490
+ "name": "blocked_id",
491
+ "type": "uuid",
492
+ "primaryKey": false,
493
+ "notNull": true
494
+ },
495
+ "created_at": {
496
+ "name": "created_at",
497
+ "type": "timestamp with time zone",
498
+ "primaryKey": false,
499
+ "notNull": true,
500
+ "default": "now()"
501
+ }
502
+ },
503
+ "indexes": {
504
+ "chat_user_block_pair_key": {
505
+ "name": "chat_user_block_pair_key",
506
+ "columns": [
507
+ {
508
+ "expression": "blocker_id",
509
+ "isExpression": false,
510
+ "asc": true,
511
+ "nulls": "last"
512
+ },
513
+ {
514
+ "expression": "blocked_id",
515
+ "isExpression": false,
516
+ "asc": true,
517
+ "nulls": "last"
518
+ }
519
+ ],
520
+ "isUnique": true,
521
+ "concurrently": false,
522
+ "method": "btree",
523
+ "with": {}
524
+ },
525
+ "chat_user_block_blocker_idx": {
526
+ "name": "chat_user_block_blocker_idx",
527
+ "columns": [
528
+ {
529
+ "expression": "blocker_id",
530
+ "isExpression": false,
531
+ "asc": true,
532
+ "nulls": "last"
533
+ }
534
+ ],
535
+ "isUnique": false,
536
+ "concurrently": false,
537
+ "method": "btree",
538
+ "with": {}
539
+ }
540
+ },
541
+ "foreignKeys": {},
542
+ "compositePrimaryKeys": {},
543
+ "uniqueConstraints": {},
544
+ "policies": {},
545
+ "checkConstraints": {},
546
+ "isRLSEnabled": false
547
+ },
548
+ "public.chat_user_ignore": {
549
+ "name": "chat_user_ignore",
550
+ "schema": "",
551
+ "columns": {
552
+ "id": {
553
+ "name": "id",
554
+ "type": "uuid",
555
+ "primaryKey": true,
556
+ "notNull": true,
557
+ "default": "gen_random_uuid()"
558
+ },
559
+ "ignorer_id": {
560
+ "name": "ignorer_id",
561
+ "type": "uuid",
562
+ "primaryKey": false,
563
+ "notNull": true
564
+ },
565
+ "ignored_id": {
566
+ "name": "ignored_id",
567
+ "type": "uuid",
568
+ "primaryKey": false,
569
+ "notNull": true
570
+ },
571
+ "created_at": {
572
+ "name": "created_at",
573
+ "type": "timestamp with time zone",
574
+ "primaryKey": false,
575
+ "notNull": true,
576
+ "default": "now()"
577
+ }
578
+ },
579
+ "indexes": {
580
+ "chat_user_ignore_pair_key": {
581
+ "name": "chat_user_ignore_pair_key",
582
+ "columns": [
583
+ {
584
+ "expression": "ignorer_id",
585
+ "isExpression": false,
586
+ "asc": true,
587
+ "nulls": "last"
588
+ },
589
+ {
590
+ "expression": "ignored_id",
591
+ "isExpression": false,
592
+ "asc": true,
593
+ "nulls": "last"
594
+ }
595
+ ],
596
+ "isUnique": true,
597
+ "concurrently": false,
598
+ "method": "btree",
599
+ "with": {}
600
+ },
601
+ "chat_user_ignore_ignorer_idx": {
602
+ "name": "chat_user_ignore_ignorer_idx",
603
+ "columns": [
604
+ {
605
+ "expression": "ignorer_id",
606
+ "isExpression": false,
607
+ "asc": true,
608
+ "nulls": "last"
609
+ }
610
+ ],
611
+ "isUnique": false,
612
+ "concurrently": false,
613
+ "method": "btree",
614
+ "with": {}
615
+ }
616
+ },
617
+ "foreignKeys": {},
618
+ "compositePrimaryKeys": {},
619
+ "uniqueConstraints": {},
620
+ "policies": {},
621
+ "checkConstraints": {},
622
+ "isRLSEnabled": false
623
+ }
624
+ },
625
+ "enums": {
626
+ "public.chat_message_type": {
627
+ "name": "chat_message_type",
628
+ "schema": "public",
629
+ "values": ["user", "system"]
630
+ },
631
+ "public.chat_room_category": {
632
+ "name": "chat_room_category",
633
+ "schema": "public",
634
+ "values": ["games-sports", "regions", "languages", "private-channels"]
635
+ },
636
+ "public.chat_room_role": {
637
+ "name": "chat_room_role",
638
+ "schema": "public",
639
+ "values": ["member", "moderator"]
640
+ }
641
+ },
642
+ "schemas": {},
643
+ "sequences": {},
644
+ "roles": {},
645
+ "policies": {},
646
+ "views": {},
647
+ "_meta": {
648
+ "columns": {},
649
+ "schemas": {},
650
+ "tables": {}
651
+ }
652
+ }
@@ -15,6 +15,20 @@
15
15
  "when": 1784721152596,
16
16
  "tag": "0001_cloudy_groot",
17
17
  "breakpoints": true
18
+ },
19
+ {
20
+ "idx": 2,
21
+ "version": "7",
22
+ "when": 1785142633864,
23
+ "tag": "0002_steep_zodiak",
24
+ "breakpoints": true
25
+ },
26
+ {
27
+ "idx": 3,
28
+ "version": "7",
29
+ "when": 1785446950360,
30
+ "tag": "0003_stormy_king_bedlam",
31
+ "breakpoints": true
18
32
  }
19
33
  ]
20
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/chat/plugin.ts"],"names":[],"mappings":";AASA,wBAYG"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/chat/plugin.ts"],"names":[],"mappings":";AAkBA,wBAiCG"}
@@ -1,13 +1,25 @@
1
1
  import { definePlugin, EVENT_BUS, DRIZZLE, ADMIN_GUARD } from '@openora/core/server';
2
- import { REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER, RATE_LIMITER, } from '@openora/core/contracts';
2
+ import { CHAT_REALTIME_TRANSPORT, CHAT_REALTIME_CLIENT_AUTHORIZER, RATE_LIMITER, CHAT_SYSTEM_WRITER, CHAT_BLOCK_WRITER, CHAT_ROOM_ACCESS, ADMIN_USER_DIRECTORY, createToken, REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER, } from '@openora/core/contracts';
3
3
  import { ChatService } from './service/chat.service.js';
4
4
  import { createChatRouter } from './router/index.js';
5
+ const CHAT_SERVICE = createToken('_ChatService');
5
6
  export default definePlugin({
6
7
  id: 'chat',
8
+ dependsOn: ['identity'],
7
9
  register(ctx) {
10
+ ctx.provide(CHAT_REALTIME_TRANSPORT, (c) => c.get(REALTIME_TRANSPORT));
11
+ ctx.provide(CHAT_REALTIME_CLIENT_AUTHORIZER, (c) => c.get(REALTIME_CLIENT_AUTHORIZER));
12
+ ctx.provide(CHAT_SERVICE, (c) => new ChatService(c.get(DRIZZLE), c.get(EVENT_BUS), c.get(CHAT_REALTIME_TRANSPORT), c.get(ADMIN_USER_DIRECTORY)));
13
+ ctx.provide(CHAT_SYSTEM_WRITER, (c) => c.get(CHAT_SERVICE));
14
+ ctx.provide(CHAT_BLOCK_WRITER, (c) => c.get(CHAT_SERVICE));
15
+ ctx.provide(CHAT_ROOM_ACCESS, (c) => ({
16
+ verifyRoomAccess: async (roomId, viewerId) => {
17
+ await c.get(CHAT_SERVICE).verifyRoomAccess(roomId, viewerId);
18
+ },
19
+ }));
8
20
  ctx.routers.add('chat', (c) => createChatRouter({
9
- chatService: new ChatService(c.get(DRIZZLE), c.get(EVENT_BUS), c.get(REALTIME_TRANSPORT)),
10
- authorizer: c.get(REALTIME_CLIENT_AUTHORIZER),
21
+ chatService: c.get(CHAT_SERVICE),
22
+ authorizer: c.get(CHAT_REALTIME_CLIENT_AUTHORIZER),
11
23
  adminGuard: c.get(ADMIN_GUARD),
12
24
  limiter: c.get(RATE_LIMITER),
13
25
  }));