@openora/core 0.4.1-canary.60 → 0.4.1-canary.63

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 (217) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +2 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +2 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +2 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +13 -0
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/plugin.d.ts +2 -0
  11. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  12. package/dist/casino/lobby/plugin.d.ts +2 -0
  13. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  14. package/dist/cms/plugin.d.ts +2 -0
  15. package/dist/cms/plugin.d.ts.map +1 -1
  16. package/dist/compliance/plugin.d.ts +2 -0
  17. package/dist/compliance/plugin.d.ts.map +1 -1
  18. package/dist/contracts/adapters/audit.d.ts +1 -1
  19. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  20. package/dist/contracts/adapters/audit.js.map +1 -1
  21. package/dist/contracts/adapters/chat-system-writer.d.ts +7 -1
  22. package/dist/contracts/adapters/chat-system-writer.d.ts.map +1 -1
  23. package/dist/contracts/adapters/chat-system-writer.js.map +1 -1
  24. package/dist/contracts/adapters/gift-commands.d.ts +58 -0
  25. package/dist/contracts/adapters/gift-commands.d.ts.map +1 -0
  26. package/dist/contracts/adapters/gift-commands.js +11 -0
  27. package/dist/contracts/adapters/gift-commands.js.map +1 -0
  28. package/dist/contracts/adapters/index.d.ts +5 -1
  29. package/dist/contracts/adapters/index.d.ts.map +1 -1
  30. package/dist/contracts/adapters/index.js +2 -0
  31. package/dist/contracts/adapters/index.js.map +1 -1
  32. package/dist/contracts/adapters/rain-commands.d.ts +27 -0
  33. package/dist/contracts/adapters/rain-commands.d.ts.map +1 -0
  34. package/dist/contracts/adapters/rain-commands.js +12 -0
  35. package/dist/contracts/adapters/rain-commands.js.map +1 -0
  36. package/dist/contracts/schemas/chat-command-metadata.d.ts +26 -0
  37. package/dist/contracts/schemas/chat-command-metadata.d.ts.map +1 -1
  38. package/dist/contracts/schemas/chat-command-metadata.js +25 -0
  39. package/dist/contracts/schemas/chat-command-metadata.js.map +1 -1
  40. package/dist/contracts/schemas/chat-command.d.ts +126 -0
  41. package/dist/contracts/schemas/chat-command.d.ts.map +1 -1
  42. package/dist/contracts/schemas/chat-command.js +19 -1
  43. package/dist/contracts/schemas/chat-command.js.map +1 -1
  44. package/dist/contracts/schemas/events.d.ts +15 -3
  45. package/dist/contracts/schemas/events.d.ts.map +1 -1
  46. package/dist/contracts/schemas/events.js +17 -6
  47. package/dist/contracts/schemas/events.js.map +1 -1
  48. package/dist/contracts/schemas/identity.d.ts +2 -1
  49. package/dist/contracts/schemas/identity.d.ts.map +1 -1
  50. package/dist/contracts/schemas/identity.js +5 -1
  51. package/dist/contracts/schemas/identity.js.map +1 -1
  52. package/dist/engagement/chat/__tests__/chat.service.int.test.js +211 -8
  53. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  54. package/dist/engagement/chat/contract/index.d.ts +719 -40
  55. package/dist/engagement/chat/contract/index.d.ts.map +1 -1
  56. package/dist/engagement/chat/contract/index.js +51 -5
  57. package/dist/engagement/chat/contract/index.js.map +1 -1
  58. package/dist/engagement/chat/drizzle/migrations/0004_panoramic_robin_chapel.sql +6 -0
  59. package/dist/engagement/chat/drizzle/migrations/meta/0004_snapshot.json +666 -0
  60. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +7 -0
  61. package/dist/engagement/chat/plugin.d.ts +2 -0
  62. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  63. package/dist/engagement/chat/router/index.d.ts +608 -34
  64. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  65. package/dist/engagement/chat/router/index.js +10 -2
  66. package/dist/engagement/chat/router/index.js.map +1 -1
  67. package/dist/engagement/chat/schema/index.d.ts +72 -0
  68. package/dist/engagement/chat/schema/index.d.ts.map +1 -1
  69. package/dist/engagement/chat/schema/index.js +15 -3
  70. package/dist/engagement/chat/schema/index.js.map +1 -1
  71. package/dist/engagement/chat/service/chat.service.d.ts +421 -34
  72. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  73. package/dist/engagement/chat/service/chat.service.js +155 -40
  74. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  75. package/dist/engagement/chat-commands/contract/index.d.ts +181 -73
  76. package/dist/engagement/chat-commands/contract/index.d.ts.map +1 -1
  77. package/dist/engagement/chat-commands/contract/index.js +50 -72
  78. package/dist/engagement/chat-commands/contract/index.js.map +1 -1
  79. package/dist/engagement/chat-commands/plugin.d.ts +3 -1
  80. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  81. package/dist/engagement/chat-commands/plugin.js +4 -4
  82. package/dist/engagement/chat-commands/plugin.js.map +1 -1
  83. package/dist/engagement/chat-commands/router/index.d.ts +185 -83
  84. package/dist/engagement/chat-commands/router/index.d.ts.map +1 -1
  85. package/dist/engagement/chat-commands/router/index.js +35 -25
  86. package/dist/engagement/chat-commands/router/index.js.map +1 -1
  87. package/dist/engagement/chat-commands/seed/index.d.ts.map +1 -1
  88. package/dist/engagement/chat-commands/seed/index.js +12 -0
  89. package/dist/engagement/chat-commands/seed/index.js.map +1 -1
  90. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js +205 -733
  91. package/dist/engagement/chat-commands/service/__tests__/chat-commands.service.test.js.map +1 -1
  92. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +44 -68
  93. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
  94. package/dist/engagement/chat-commands/service/chat-commands.service.js +143 -571
  95. package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -1
  96. package/dist/engagement/contracts.d.ts +1 -0
  97. package/dist/engagement/contracts.d.ts.map +1 -1
  98. package/dist/engagement/contracts.js +1 -0
  99. package/dist/engagement/contracts.js.map +1 -1
  100. package/dist/engagement/index.d.ts +1 -0
  101. package/dist/engagement/index.d.ts.map +1 -1
  102. package/dist/engagement/index.js +1 -0
  103. package/dist/engagement/index.js.map +1 -1
  104. package/dist/engagement/notifications/plugin.d.ts +2 -0
  105. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  106. package/dist/engagement/server.d.ts +1 -0
  107. package/dist/engagement/server.d.ts.map +1 -1
  108. package/dist/engagement/server.js +1 -0
  109. package/dist/engagement/server.js.map +1 -1
  110. package/dist/engagement/social-transfers/contract/index.d.ts +85 -0
  111. package/dist/engagement/social-transfers/contract/index.d.ts.map +1 -0
  112. package/dist/engagement/social-transfers/contract/index.js +21 -0
  113. package/dist/engagement/social-transfers/contract/index.js.map +1 -0
  114. package/dist/engagement/social-transfers/drizzle/migrations/0000_clammy_rattler.sql +46 -0
  115. package/dist/engagement/social-transfers/drizzle/migrations/meta/0000_snapshot.json +287 -0
  116. package/dist/engagement/social-transfers/drizzle/migrations/meta/_journal.json +13 -0
  117. package/dist/engagement/social-transfers/drizzle.config.d.ts +4 -0
  118. package/dist/engagement/social-transfers/drizzle.config.d.ts.map +1 -0
  119. package/dist/engagement/social-transfers/drizzle.config.js +21 -0
  120. package/dist/engagement/social-transfers/drizzle.config.js.map +1 -0
  121. package/dist/engagement/social-transfers/index.d.ts +3 -0
  122. package/dist/engagement/social-transfers/index.d.ts.map +1 -0
  123. package/dist/engagement/social-transfers/index.js +6 -0
  124. package/dist/engagement/social-transfers/index.js.map +1 -0
  125. package/dist/engagement/social-transfers/migrate.d.ts +5 -0
  126. package/dist/engagement/social-transfers/migrate.d.ts.map +1 -0
  127. package/dist/engagement/social-transfers/migrate.js +17 -0
  128. package/dist/engagement/social-transfers/migrate.js.map +1 -0
  129. package/dist/engagement/social-transfers/plugin.d.ts +111 -0
  130. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -0
  131. package/dist/engagement/social-transfers/plugin.js +24 -0
  132. package/dist/engagement/social-transfers/plugin.js.map +1 -0
  133. package/dist/engagement/social-transfers/router/index.d.ts +77 -0
  134. package/dist/engagement/social-transfers/router/index.d.ts.map +1 -0
  135. package/dist/engagement/social-transfers/router/index.js +25 -0
  136. package/dist/engagement/social-transfers/router/index.js.map +1 -0
  137. package/dist/engagement/social-transfers/schema/index.d.ts +609 -0
  138. package/dist/engagement/social-transfers/schema/index.d.ts.map +1 -0
  139. package/dist/engagement/social-transfers/schema/index.js +61 -0
  140. package/dist/engagement/social-transfers/schema/index.js.map +1 -0
  141. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts +2 -0
  142. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.d.ts.map +1 -0
  143. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +757 -0
  144. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -0
  145. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts +75 -0
  146. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts.map +1 -0
  147. package/dist/engagement/social-transfers/service/social-transfers.service.js +789 -0
  148. package/dist/engagement/social-transfers/service/social-transfers.service.js.map +1 -0
  149. package/dist/iam/plugin.d.ts +2 -0
  150. package/dist/iam/plugin.d.ts.map +1 -1
  151. package/dist/iam/service/iam.service.d.ts +1 -1
  152. package/dist/pam/identity/__tests__/identity.service.int.test.js +47 -2
  153. package/dist/pam/identity/__tests__/identity.service.int.test.js.map +1 -1
  154. package/dist/pam/identity/__tests__/phone-login.service.int.test.js +23 -2
  155. package/dist/pam/identity/__tests__/phone-login.service.int.test.js.map +1 -1
  156. package/dist/pam/identity/plugin.d.ts +2 -0
  157. package/dist/pam/identity/plugin.d.ts.map +1 -1
  158. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  159. package/dist/pam/identity/service/identity.service.js +29 -1
  160. package/dist/pam/identity/service/identity.service.js.map +1 -1
  161. package/dist/pam/identity/service/phone-login.service.d.ts.map +1 -1
  162. package/dist/pam/identity/service/phone-login.service.js +23 -0
  163. package/dist/pam/identity/service/phone-login.service.js.map +1 -1
  164. package/dist/pam/player-management/__tests__/player.router.int.test.js +27 -4
  165. package/dist/pam/player-management/__tests__/player.router.int.test.js.map +1 -1
  166. package/dist/pam/player-management/__tests__/player.service.int.test.js +159 -6
  167. package/dist/pam/player-management/__tests__/player.service.int.test.js.map +1 -1
  168. package/dist/pam/player-management/contract/index.d.ts +39 -0
  169. package/dist/pam/player-management/contract/index.d.ts.map +1 -1
  170. package/dist/pam/player-management/contract/index.js +33 -1
  171. package/dist/pam/player-management/contract/index.js.map +1 -1
  172. package/dist/pam/player-management/plugin.d.ts +3 -1
  173. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  174. package/dist/pam/player-management/plugin.js +3 -3
  175. package/dist/pam/player-management/plugin.js.map +1 -1
  176. package/dist/pam/player-management/router/index.d.ts +21 -0
  177. package/dist/pam/player-management/router/index.d.ts.map +1 -1
  178. package/dist/pam/player-management/router/index.js +12 -2
  179. package/dist/pam/player-management/router/index.js.map +1 -1
  180. package/dist/pam/player-management/service/player.service.d.ts +10 -3
  181. package/dist/pam/player-management/service/player.service.d.ts.map +1 -1
  182. package/dist/pam/player-management/service/player.service.js +66 -3
  183. package/dist/pam/player-management/service/player.service.js.map +1 -1
  184. package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts +2 -0
  185. package/dist/pam/player-note/__tests__/player-note.router.int.test.d.ts.map +1 -0
  186. package/dist/pam/player-note/__tests__/player-note.router.int.test.js +52 -0
  187. package/dist/pam/player-note/__tests__/player-note.router.int.test.js.map +1 -0
  188. package/dist/pam/player-note/plugin.d.ts +49 -46
  189. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  190. package/dist/pam/player-note/plugin.js +3 -1
  191. package/dist/pam/player-note/plugin.js.map +1 -1
  192. package/dist/pam/player-note/router/index.d.ts +2 -1
  193. package/dist/pam/player-note/router/index.d.ts.map +1 -1
  194. package/dist/pam/player-note/router/index.js +13 -2
  195. package/dist/pam/player-note/router/index.js.map +1 -1
  196. package/dist/pam/profile/plugin.d.ts +2 -0
  197. package/dist/pam/profile/plugin.d.ts.map +1 -1
  198. package/dist/pam/tag/plugin.d.ts +2 -0
  199. package/dist/pam/tag/plugin.d.ts.map +1 -1
  200. package/dist/server/auth/permissions.d.ts +24 -0
  201. package/dist/server/auth/permissions.d.ts.map +1 -1
  202. package/dist/server/auth/permissions.js +4 -0
  203. package/dist/server/auth/permissions.js.map +1 -1
  204. package/dist/server/runtime/core-token-catalog.d.ts +2 -0
  205. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  206. package/dist/server/runtime/core-token-catalog.js +3 -1
  207. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  208. package/dist/wallet/__tests__/wallet.service.int.test.js +7 -0
  209. package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
  210. package/dist/wallet/plugin.d.ts +2 -0
  211. package/dist/wallet/plugin.d.ts.map +1 -1
  212. package/dist/wallet/router/index.js +1 -1
  213. package/dist/wallet/router/index.js.map +1 -1
  214. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  215. package/dist/wallet/service/wallet.service.js +16 -0
  216. package/dist/wallet/service/wallet.service.js.map +1 -1
  217. package/package.json +21 -1
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/engagement/chat-commands/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,GACN,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,eAAe;IACb,EAAE,EAAE,eAAe;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC;IACvD,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,mBAAmB,CACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACzB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EACtB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAC3B,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,EACnB,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAC9B,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAChB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACxB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAC3B,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACb,CAAC;YACF,OAAO,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;CAC0C,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/engagement/chat-commands/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,aAAa,EACb,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,eAAe;IACb,EAAE,EAAE,eAAe;IACnB,SAAS,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC;IAChD,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,mBAAmB,CACjC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAC3B,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACxB,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EACpB,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,EACpB,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAC9B,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CACpB,CAAC;YACF,OAAO,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;CAC0C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AdminGuard, type OssContext } from '@openora/core/server';
1
+ import { type OssContext, type AdminGuard } from '@openora/core/server';
2
2
  import { ChatCommandsService } from '../service/chat-commands.service.js';
3
3
  export declare function createChatCommandsRouter(svc: ChatCommandsService, adminGuard: AdminGuard): {
4
4
  listCommands: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
@@ -7,7 +7,9 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
7
7
  gift: "gift";
8
8
  rain: "rain";
9
9
  profile: "profile";
10
+ unblock: "unblock";
10
11
  ignore: "ignore";
12
+ unignore: "unignore";
11
13
  donate: "donate";
12
14
  mention: "mention";
13
15
  }>;
@@ -19,37 +21,98 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
19
21
  minAmount: import("zod").ZodOptional<import("zod").ZodString>;
20
22
  maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
21
23
  }, import("zod/v4/core").$strip>>;
24
+ updatedAt: import("zod").ZodISODateTime;
22
25
  }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
23
- execute: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
24
- type: import("zod").ZodLiteral<"gift">;
25
- amount: import("zod").ZodString;
26
- roomId: import("zod").ZodUUID;
27
- idempotencyKey: import("zod").ZodUUID;
26
+ adminListCommands: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
27
+ sortBy: import("zod").ZodDefault<import("zod").ZodEnum<{
28
+ updatedAt: "updatedAt";
29
+ key: "key";
30
+ }>>;
31
+ sortOrder: import("zod").ZodDefault<import("zod").ZodEnum<{
32
+ asc: "asc";
33
+ desc: "desc";
34
+ }>>;
35
+ page: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
36
+ limit: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
28
37
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
29
- type: import("zod").ZodLiteral<"rain">;
30
- amount: import("zod").ZodString;
31
- recipientCount: import("zod").ZodNumber;
32
- roomId: import("zod").ZodUUID;
33
- idempotencyKey: import("zod").ZodUUID;
38
+ items: import("zod").ZodArray<import("zod").ZodObject<{
39
+ key: import("zod").ZodEnum<{
40
+ block: "block";
41
+ gift: "gift";
42
+ rain: "rain";
43
+ profile: "profile";
44
+ unblock: "unblock";
45
+ ignore: "ignore";
46
+ unignore: "unignore";
47
+ donate: "donate";
48
+ mention: "mention";
49
+ }>;
50
+ enabled: import("zod").ZodBoolean;
51
+ label: import("zod").ZodString;
52
+ description: import("zod").ZodNullable<import("zod").ZodString>;
53
+ config: import("zod").ZodNullable<import("zod").ZodObject<{
54
+ maxAmount: import("zod").ZodOptional<import("zod").ZodString>;
55
+ minAmount: import("zod").ZodOptional<import("zod").ZodString>;
56
+ maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
57
+ }, import("zod/v4/core").$strip>>;
58
+ updatedAt: import("zod").ZodISODateTime;
59
+ }, import("zod/v4/core").$strip>>;
60
+ total: import("zod").ZodNumber;
61
+ page: import("zod").ZodNumber;
62
+ limit: import("zod").ZodNumber;
63
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
64
+ adminUpdateCommand: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
65
+ key: import("zod").ZodEnum<{
66
+ block: "block";
67
+ gift: "gift";
68
+ rain: "rain";
69
+ profile: "profile";
70
+ unblock: "unblock";
71
+ ignore: "ignore";
72
+ unignore: "unignore";
73
+ donate: "donate";
74
+ mention: "mention";
75
+ }>;
76
+ enabled: import("zod").ZodBoolean;
77
+ config: import("zod").ZodOptional<import("zod").ZodObject<{
78
+ maxAmount: import("zod").ZodOptional<import("zod").ZodString>;
79
+ minAmount: import("zod").ZodOptional<import("zod").ZodString>;
80
+ maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
81
+ }, import("zod/v4/core").$strip>>;
34
82
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
35
- type: import("zod").ZodLiteral<"donate">;
36
- targetUsername: import("zod").ZodString;
83
+ key: import("zod").ZodEnum<{
84
+ block: "block";
85
+ gift: "gift";
86
+ rain: "rain";
87
+ profile: "profile";
88
+ unblock: "unblock";
89
+ ignore: "ignore";
90
+ unignore: "unignore";
91
+ donate: "donate";
92
+ mention: "mention";
93
+ }>;
94
+ enabled: import("zod").ZodBoolean;
95
+ label: import("zod").ZodString;
96
+ description: import("zod").ZodNullable<import("zod").ZodString>;
97
+ config: import("zod").ZodNullable<import("zod").ZodObject<{
98
+ maxAmount: import("zod").ZodOptional<import("zod").ZodString>;
99
+ minAmount: import("zod").ZodOptional<import("zod").ZodString>;
100
+ maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
101
+ }, import("zod/v4/core").$strip>>;
102
+ updatedAt: import("zod").ZodISODateTime;
103
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
104
+ postGift: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
37
105
  amount: import("zod").ZodString;
38
- roomId: import("zod").ZodNullable<import("zod").ZodUUID>;
106
+ roomId: import("zod").ZodPipe<import("zod").ZodUnion<readonly [import("zod").ZodUUID, import("zod").ZodLiteral<"__global">]>, import("zod").ZodTransform<string | null, string>>;
39
107
  idempotencyKey: import("zod").ZodUUID;
40
108
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
41
- type: import("zod").ZodLiteral<"block">;
42
- targetUsername: import("zod").ZodString;
43
- roomId: import("zod").ZodNullable<import("zod").ZodUUID>;
44
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
45
- type: import("zod").ZodLiteral<"ignore">;
46
- targetUsername: import("zod").ZodString;
47
- roomId: import("zod").ZodNullable<import("zod").ZodUUID>;
48
- }, import("zod/v4/core").$strip>], "type">, import("zod").ZodObject<{
49
109
  id: import("zod").ZodUUID;
50
110
  roomId: import("zod").ZodNullable<import("zod").ZodUUID>;
51
111
  actorId: import("zod").ZodUUID;
112
+ userId: import("zod").ZodUUID;
113
+ username: import("zod").ZodString;
52
114
  content: import("zod").ZodString;
115
+ type: import("zod").ZodLiteral<"system">;
53
116
  metadata: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
54
117
  command: import("zod").ZodLiteral<"profile">;
55
118
  targetUserId: import("zod").ZodUUID;
@@ -62,30 +125,60 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
62
125
  senderUsername: import("zod").ZodString;
63
126
  amount: import("zod").ZodString;
64
127
  currency: import("zod").ZodString;
128
+ status: import("zod").ZodOptional<import("zod").ZodEnum<{
129
+ available: "available";
130
+ claimed: "claimed";
131
+ }>>;
132
+ claimedBy: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUUID>>;
133
+ claimedByUsername: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
134
+ claimedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
65
135
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
66
136
  command: import("zod").ZodLiteral<"rain">;
67
137
  fromUserId: import("zod").ZodUUID;
138
+ fromUsername: import("zod").ZodOptional<import("zod").ZodString>;
68
139
  amount: import("zod").ZodString;
69
140
  currency: import("zod").ZodString;
70
141
  recipientCount: import("zod").ZodNumber;
71
142
  perRecipient: import("zod").ZodString;
143
+ recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
144
+ userId: import("zod").ZodUUID;
145
+ username: import("zod").ZodString;
146
+ }, import("zod/v4/core").$strip>>>;
72
147
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
73
148
  command: import("zod").ZodLiteral<"block">;
74
149
  targetUserId: import("zod").ZodUUID;
75
150
  displayName: import("zod").ZodString;
151
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
152
+ command: import("zod").ZodLiteral<"unblock">;
153
+ targetUserId: import("zod").ZodUUID;
154
+ displayName: import("zod").ZodString;
76
155
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
77
156
  command: import("zod").ZodLiteral<"ignore">;
78
157
  targetUserId: import("zod").ZodUUID;
79
158
  displayName: import("zod").ZodString;
159
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
160
+ command: import("zod").ZodLiteral<"unignore">;
161
+ targetUserId: import("zod").ZodUUID;
162
+ displayName: import("zod").ZodString;
80
163
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
81
164
  command: import("zod").ZodLiteral<"donate">;
165
+ senderId: import("zod").ZodOptional<import("zod").ZodUUID>;
166
+ senderUsername: import("zod").ZodOptional<import("zod").ZodString>;
82
167
  recipientId: import("zod").ZodUUID;
83
168
  recipientUsername: import("zod").ZodString;
84
169
  amount: import("zod").ZodString;
85
170
  currency: import("zod").ZodString;
86
171
  }, import("zod/v4/core").$strip>], "command">;
172
+ isDeleted: import("zod").ZodBoolean;
87
173
  createdAt: import("zod").ZodString;
88
174
  }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
175
+ claimGift: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
176
+ id: import("zod").ZodUUID;
177
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
178
+ claimedBy: import("zod").ZodUUID;
179
+ claimedByUsername: import("zod").ZodString;
180
+ claimedAt: import("zod").ZodString;
181
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
89
182
  getGift: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
90
183
  id: import("zod").ZodUUID;
91
184
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
@@ -99,75 +192,84 @@ export declare function createChatCommandsRouter(svc: ChatCommandsService, admin
99
192
  claimedAt: import("zod").ZodNullable<import("zod").ZodString>;
100
193
  createdAt: import("zod").ZodString;
101
194
  }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
102
- claimGift: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
103
- id: import("zod").ZodUUID;
195
+ postRain: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
196
+ amount: import("zod").ZodString;
197
+ recipientCount: import("zod").ZodNumber;
198
+ roomId: import("zod").ZodPipe<import("zod").ZodUnion<readonly [import("zod").ZodUUID, import("zod").ZodLiteral<"__global">]>, import("zod").ZodTransform<string | null, string>>;
199
+ idempotencyKey: import("zod").ZodUUID;
104
200
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
105
- claimedBy: import("zod").ZodUUID;
106
- claimedByUsername: import("zod").ZodString;
107
- claimedAt: import("zod").ZodString;
108
- }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
109
- mentionSearch: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
110
- q: import("zod").ZodString;
111
- limit: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
112
- }, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
201
+ id: import("zod").ZodUUID;
202
+ roomId: import("zod").ZodNullable<import("zod").ZodUUID>;
203
+ actorId: import("zod").ZodUUID;
113
204
  userId: import("zod").ZodUUID;
114
205
  username: import("zod").ZodString;
115
- }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
116
- playerSearch: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
206
+ content: import("zod").ZodString;
207
+ type: import("zod").ZodLiteral<"system">;
208
+ metadata: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
209
+ command: import("zod").ZodLiteral<"profile">;
210
+ targetUserId: import("zod").ZodUUID;
211
+ displayName: import("zod").ZodString;
212
+ level: import("zod").ZodNumber;
213
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
214
+ command: import("zod").ZodLiteral<"gift">;
215
+ giftId: import("zod").ZodUUID;
216
+ senderId: import("zod").ZodUUID;
217
+ senderUsername: import("zod").ZodString;
218
+ amount: import("zod").ZodString;
219
+ currency: import("zod").ZodString;
220
+ status: import("zod").ZodOptional<import("zod").ZodEnum<{
221
+ available: "available";
222
+ claimed: "claimed";
223
+ }>>;
224
+ claimedBy: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodUUID>>;
225
+ claimedByUsername: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
226
+ claimedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
227
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
228
+ command: import("zod").ZodLiteral<"rain">;
229
+ fromUserId: import("zod").ZodUUID;
230
+ fromUsername: import("zod").ZodOptional<import("zod").ZodString>;
231
+ amount: import("zod").ZodString;
232
+ currency: import("zod").ZodString;
233
+ recipientCount: import("zod").ZodNumber;
234
+ perRecipient: import("zod").ZodString;
235
+ recipients: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
236
+ userId: import("zod").ZodUUID;
237
+ username: import("zod").ZodString;
238
+ }, import("zod/v4/core").$strip>>>;
239
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
240
+ command: import("zod").ZodLiteral<"block">;
241
+ targetUserId: import("zod").ZodUUID;
242
+ displayName: import("zod").ZodString;
243
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
244
+ command: import("zod").ZodLiteral<"unblock">;
245
+ targetUserId: import("zod").ZodUUID;
246
+ displayName: import("zod").ZodString;
247
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
248
+ command: import("zod").ZodLiteral<"ignore">;
249
+ targetUserId: import("zod").ZodUUID;
250
+ displayName: import("zod").ZodString;
251
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
252
+ command: import("zod").ZodLiteral<"unignore">;
253
+ targetUserId: import("zod").ZodUUID;
254
+ displayName: import("zod").ZodString;
255
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
256
+ command: import("zod").ZodLiteral<"donate">;
257
+ senderId: import("zod").ZodOptional<import("zod").ZodUUID>;
258
+ senderUsername: import("zod").ZodOptional<import("zod").ZodString>;
259
+ recipientId: import("zod").ZodUUID;
260
+ recipientUsername: import("zod").ZodString;
261
+ amount: import("zod").ZodString;
262
+ currency: import("zod").ZodString;
263
+ }, import("zod/v4/core").$strip>], "command">;
264
+ isDeleted: import("zod").ZodBoolean;
265
+ createdAt: import("zod").ZodString;
266
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
267
+ mentionSearch: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
117
268
  q: import("zod").ZodString;
118
269
  limit: import("zod").ZodDefault<import("zod").ZodCoercedNumber<unknown>>;
119
270
  }, import("zod/v4/core").$strip>, import("zod").ZodArray<import("zod").ZodObject<{
120
271
  userId: import("zod").ZodUUID;
121
272
  username: import("zod").ZodString;
122
- avatarUrl: import("zod").ZodNullable<import("zod").ZodString>;
123
- level: import("zod").ZodNumber;
124
273
  }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
125
- playerProfile: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
126
- userId: import("zod").ZodUUID;
127
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
128
- userId: import("zod").ZodUUID;
129
- username: import("zod").ZodString;
130
- avatarUrl: import("zod").ZodNullable<import("zod").ZodString>;
131
- level: import("zod").ZodNumber;
132
- joinedAt: import("zod").ZodNullable<import("zod").ZodString>;
133
- totalWagered: import("zod").ZodNullable<import("zod").ZodString>;
134
- totalBets: import("zod").ZodNullable<import("zod").ZodNumber>;
135
- currency: import("zod").ZodNullable<import("zod").ZodString>;
136
- }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
137
- adminUpdateCommand: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
138
- key: import("zod").ZodEnum<{
139
- block: "block";
140
- gift: "gift";
141
- rain: "rain";
142
- profile: "profile";
143
- ignore: "ignore";
144
- donate: "donate";
145
- mention: "mention";
146
- }>;
147
- enabled: import("zod").ZodBoolean;
148
- config: import("zod").ZodOptional<import("zod").ZodObject<{
149
- maxAmount: import("zod").ZodOptional<import("zod").ZodString>;
150
- minAmount: import("zod").ZodOptional<import("zod").ZodString>;
151
- maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
152
- }, import("zod/v4/core").$strip>>;
153
- }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
154
- key: import("zod").ZodEnum<{
155
- block: "block";
156
- gift: "gift";
157
- rain: "rain";
158
- profile: "profile";
159
- ignore: "ignore";
160
- donate: "donate";
161
- mention: "mention";
162
- }>;
163
- enabled: import("zod").ZodBoolean;
164
- label: import("zod").ZodString;
165
- description: import("zod").ZodNullable<import("zod").ZodString>;
166
- config: import("zod").ZodNullable<import("zod").ZodObject<{
167
- maxAmount: import("zod").ZodOptional<import("zod").ZodString>;
168
- minAmount: import("zod").ZodOptional<import("zod").ZodString>;
169
- maxRecipients: import("zod").ZodOptional<import("zod").ZodNumber>;
170
- }, import("zod/v4/core").$strip>>;
171
- }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
172
274
  };
173
275
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EACL,mBAAmB,EAiBpB,MAAM,qCAAqC,CAAC;AAI7C,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwExF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE9F,OAAO,EACL,mBAAmB,EAgBpB,MAAM,qCAAqC,CAAC;AAI7C,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFxF"}
@@ -2,13 +2,21 @@ import { implement } from '@orpc/server';
2
2
  import { populateContractRouterPaths } from '@orpc/contract';
3
3
  import { mapErrors, getUserId } from '@openora/core/server';
4
4
  import { chatCommandsContract } from '../contract/index.js';
5
- import { CommandDisabledError, ChatPlayerNotFoundError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, NoOnlineUsersError, RainCreditError, GiftNotFoundError, GiftAlreadyClaimedError, GiftSelfClaimError, DonateSelfError, TooManyRecipientsError, SelfModerationActionError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, } from '../service/chat-commands.service.js';
5
+ import { CommandDisabledError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, NoOnlineUsersError, TooManyRecipientsError, RainCreditError, GiftNotFoundError, GiftAlreadyClaimedError, GiftSelfClaimError, GiftCreditError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, ChatPlayerNotFoundError, } from '../service/chat-commands.service.js';
6
6
  const cc = populateContractRouterPaths({ chatCommands: chatCommandsContract }).chatCommands;
7
7
  export function createChatCommandsRouter(svc, adminGuard) {
8
8
  const os = implement(cc).$context();
9
9
  return os.router({
10
10
  listCommands: os.listCommands.handler(() => svc.listCommands()),
11
- execute: os.execute.handler(({ input, context }) => {
11
+ adminListCommands: os.adminListCommands.handler(async ({ input, context }) => {
12
+ await adminGuard.assert(context, 'chat-command', 'view');
13
+ return svc.adminListCommands(input);
14
+ }),
15
+ adminUpdateCommand: os.adminUpdateCommand.handler(async ({ input, context }) => {
16
+ const { userId } = await adminGuard.assert(context, 'chat-command', 'update');
17
+ return svc.adminUpdateCommand(input, userId);
18
+ }),
19
+ postGift: os.postGift.handler(({ input, context }) => {
12
20
  const actorId = getUserId(context);
13
21
  return mapErrors({
14
22
  NOT_FOUND: [CommandDisabledError, ChatPlayerNotFoundError],
@@ -16,45 +24,47 @@ export function createChatCommandsRouter(svc, adminGuard) {
16
24
  InsufficientBalanceError,
17
25
  ExceedsLimitError,
18
26
  BelowMinimumError,
19
- NoOnlineUsersError,
20
- RainCreditError,
21
- DonateSelfError,
22
- TooManyRecipientsError,
23
- SelfModerationActionError,
24
27
  ChatCommandIdempotencyKeyReuseError,
25
28
  ConcurrentCommandReplayError,
26
29
  ],
27
30
  FORBIDDEN: [ChatRoomNotMemberError],
28
- }, () => svc.executeCommand(input, actorId));
29
- }),
30
- getGift: os.getGift.handler(({ input, context }) => {
31
- const viewerId = getUserId(context);
32
- return mapErrors({ NOT_FOUND: [GiftNotFoundError], FORBIDDEN: [ChatRoomNotMemberError] }, () => svc.getGift(input.id, viewerId));
31
+ }, () => svc.postGift(input, actorId));
33
32
  }),
34
33
  claimGift: os.claimGift.handler(({ input, context }) => {
35
34
  const claimerId = getUserId(context);
36
35
  return mapErrors({
37
36
  NOT_FOUND: [GiftNotFoundError],
38
37
  FORBIDDEN: [ChatRoomNotMemberError],
39
- CONFLICT: [GiftAlreadyClaimedError, GiftSelfClaimError],
38
+ CONFLICT: [GiftAlreadyClaimedError, GiftSelfClaimError, GiftCreditError],
40
39
  }, () => svc.claimGift(input.id, claimerId));
41
40
  }),
42
- mentionSearch: os.mentionSearch.handler(({ input, context }) => {
41
+ getGift: os.getGift.handler(({ input, context }) => {
43
42
  const viewerId = getUserId(context);
44
- return svc.searchMentions(input.q, input.limit, viewerId);
43
+ return mapErrors({
44
+ NOT_FOUND: [GiftNotFoundError],
45
+ FORBIDDEN: [ChatRoomNotMemberError],
46
+ }, () => svc.getGift(input.id, viewerId));
45
47
  }),
46
- playerSearch: os.playerSearch.handler(({ input, context }) => {
47
- const viewerId = getUserId(context);
48
- return svc.searchPlayers(input.q, input.limit, viewerId);
48
+ postRain: os.postRain.handler(({ input, context }) => {
49
+ const actorId = getUserId(context);
50
+ return mapErrors({
51
+ NOT_FOUND: [CommandDisabledError, ChatPlayerNotFoundError],
52
+ CONFLICT: [
53
+ InsufficientBalanceError,
54
+ ExceedsLimitError,
55
+ BelowMinimumError,
56
+ NoOnlineUsersError,
57
+ TooManyRecipientsError,
58
+ RainCreditError,
59
+ ChatCommandIdempotencyKeyReuseError,
60
+ ConcurrentCommandReplayError,
61
+ ],
62
+ FORBIDDEN: [ChatRoomNotMemberError],
63
+ }, () => svc.postRain(input, actorId));
49
64
  }),
50
- playerProfile: os.playerProfile.handler(({ input, context }) => {
65
+ mentionSearch: os.mentionSearch.handler(({ input, context }) => {
51
66
  const viewerId = getUserId(context);
52
- return mapErrors({ NOT_FOUND: [ChatPlayerNotFoundError] }, () => svc.getPlayerProfile(input.userId, viewerId));
53
- }),
54
- adminUpdateCommand: os.adminUpdateCommand.handler(async ({ input, context }) => {
55
- await adminGuard.assert(context);
56
- const actorId = getUserId(context);
57
- return svc.adminUpdateCommand(input, actorId);
67
+ return svc.searchMentions(input.q, input.limit, viewerId);
58
68
  }),
59
69
  });
60
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/router/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,mCAAmC,EACnC,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,qCAAqC,CAAC;AAE7C,MAAM,EAAE,GAAG,2BAA2B,CAAC,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC,CAAC,YAAY,CAAC;AAE5F,MAAM,UAAU,wBAAwB,CAAC,GAAwB,EAAE,UAAsB;IACvF,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAc,CAAC;IAEhD,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,YAAY,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAE/D,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC3E,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YACzD,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC9E,OAAO,GAAG,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,SAAS,CACd;gBACE,SAAS,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;gBAC1D,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,iBAAiB;oBACjB,iBAAiB;oBACjB,mCAAmC;oBACnC,4BAA4B;iBAC7B;gBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CACnC,CAAC;QACJ,CAAC,CAAC;QAEF,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACrD,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACrC,OAAO,SAAS,CACd;gBACE,SAAS,EAAE,CAAC,iBAAiB,CAAC;gBAC9B,SAAS,EAAE,CAAC,sBAAsB,CAAC;gBACnC,QAAQ,EAAE,CAAC,uBAAuB,EAAE,kBAAkB,EAAE,eAAe,CAAC;aACzE,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CACzC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACjD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,SAAS,CACd;gBACE,SAAS,EAAE,CAAC,iBAAiB,CAAC;gBAC9B,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CACtC,CAAC;QACJ,CAAC,CAAC;QAEF,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACnD,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,OAAO,SAAS,CACd;gBACE,SAAS,EAAE,CAAC,oBAAoB,EAAE,uBAAuB,CAAC;gBAC1D,QAAQ,EAAE;oBACR,wBAAwB;oBACxB,iBAAiB;oBACjB,iBAAiB;oBACjB,kBAAkB;oBAClB,sBAAsB;oBACtB,eAAe;oBACf,mCAAmC;oBACnC,4BAA4B;iBAC7B;gBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CACnC,CAAC;QACJ,CAAC,CAAC;QAEF,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YAC7D,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YACpC,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/seed/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAmDnE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/seed/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGtD,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DnE"}
@@ -42,12 +42,24 @@ export async function seedChatCommands(db) {
42
42
  label: 'Block',
43
43
  description: 'Block a player — their messages will be hidden from you',
44
44
  },
45
+ {
46
+ key: 'unblock',
47
+ enabled: true,
48
+ label: 'Unblock',
49
+ description: 'Unblock a player — their messages will be visible to you again',
50
+ },
45
51
  {
46
52
  key: 'ignore',
47
53
  enabled: true,
48
54
  label: 'Ignore',
49
55
  description: 'Ignore a player — their messages will be hidden from you',
50
56
  },
57
+ {
58
+ key: 'unignore',
59
+ enabled: true,
60
+ label: 'Unignore',
61
+ description: 'Unignore a player — their messages will be visible to you again',
62
+ },
51
63
  ])
52
64
  .onConflictDoNothing();
53
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/seed/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAa;IAClD,MAAM,EAAE;SACL,MAAM,CAAC,iBAAiB,CAAC;SACzB,MAAM,CAAC;QACN;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,uCAAuC;SACrD;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4BAA4B;SAC1C;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,+BAA+B;YAC5C,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE;SACpC;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;SACvD;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE;SACpC;QACD;YACE,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,yDAAyD;SACvE;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,0DAA0D;SACxE;KACF,CAAC;SACD,mBAAmB,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/seed/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EAAa;IAClD,MAAM,EAAE;SACL,MAAM,CAAC,iBAAiB,CAAC;SACzB,MAAM,CAAC;QACN;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,uCAAuC;SACrD;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,4BAA4B;SAC1C;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,+BAA+B;YAC5C,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE;SACpC;QACD;YACE,GAAG,EAAE,MAAM;YACX,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,EAAE;SACvD;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,wCAAwC;YACrD,MAAM,EAAE,EAAE,SAAS,EAAE,YAAY,EAAE;SACpC;QACD;YACE,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,yDAAyD;SACvE;QACD;YACE,GAAG,EAAE,SAAS;YACd,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,SAAS;YAChB,WAAW,EAAE,gEAAgE;SAC9E;QACD;YACE,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,0DAA0D;SACxE;QACD;YACE,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,iEAAiE;SAC/E;KACF,CAAC;SACD,mBAAmB,EAAE,CAAC;AAC3B,CAAC"}