@openora/core 0.4.1-canary.84 → 0.4.1-canary.86

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 (54) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/adapters/chat-block-writer.d.ts +5 -0
  3. package/dist/contracts/adapters/chat-block-writer.d.ts.map +1 -1
  4. package/dist/contracts/adapters/chat-block-writer.js +4 -0
  5. package/dist/contracts/adapters/chat-block-writer.js.map +1 -1
  6. package/dist/contracts/adapters/gift-commands.d.ts +1 -1
  7. package/dist/contracts/adapters/gift-commands.d.ts.map +1 -1
  8. package/dist/contracts/adapters/gift-commands.js.map +1 -1
  9. package/dist/contracts/adapters/index.d.ts +1 -1
  10. package/dist/contracts/adapters/index.d.ts.map +1 -1
  11. package/dist/contracts/adapters/index.js +1 -1
  12. package/dist/contracts/adapters/index.js.map +1 -1
  13. package/dist/engagement/chat/__tests__/chat.service.int.test.js +32 -1
  14. package/dist/engagement/chat/__tests__/chat.service.int.test.js.map +1 -1
  15. package/dist/engagement/chat/__tests__/global-chat-room.int.test.d.ts +2 -0
  16. package/dist/engagement/chat/__tests__/global-chat-room.int.test.d.ts.map +1 -0
  17. package/dist/engagement/chat/__tests__/global-chat-room.int.test.js +91 -0
  18. package/dist/engagement/chat/__tests__/global-chat-room.int.test.js.map +1 -0
  19. package/dist/engagement/chat/drizzle/migrations/0007_seed_global_chat_room.sql +8 -0
  20. package/dist/engagement/chat/drizzle/migrations/meta/0007_snapshot.json +1456 -0
  21. package/dist/engagement/chat/drizzle/migrations/meta/_journal.json +7 -0
  22. package/dist/engagement/chat/router/index.d.ts.map +1 -1
  23. package/dist/engagement/chat/router/index.js +6 -3
  24. package/dist/engagement/chat/router/index.js.map +1 -1
  25. package/dist/engagement/chat/service/chat.service.d.ts +4 -1
  26. package/dist/engagement/chat/service/chat.service.d.ts.map +1 -1
  27. package/dist/engagement/chat/service/chat.service.js +32 -7
  28. package/dist/engagement/chat/service/chat.service.js.map +1 -1
  29. package/dist/engagement/chat-commands/router/index.d.ts.map +1 -1
  30. package/dist/engagement/chat-commands/router/index.js +7 -2
  31. package/dist/engagement/chat-commands/router/index.js.map +1 -1
  32. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts +1 -0
  33. package/dist/engagement/chat-commands/service/chat-commands.service.d.ts.map +1 -1
  34. package/dist/engagement/chat-commands/service/chat-commands.service.js +3 -0
  35. package/dist/engagement/chat-commands/service/chat-commands.service.js.map +1 -1
  36. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
  37. package/dist/engagement/social-transfers/plugin.js +2 -2
  38. package/dist/engagement/social-transfers/plugin.js.map +1 -1
  39. package/dist/engagement/social-transfers/router/index.d.ts.map +1 -1
  40. package/dist/engagement/social-transfers/router/index.js +2 -1
  41. package/dist/engagement/social-transfers/router/index.js.map +1 -1
  42. package/dist/engagement/social-transfers/schema/index.d.ts +2 -2
  43. package/dist/engagement/social-transfers/schema/index.js +2 -2
  44. package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.d.ts +2 -0
  45. package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.d.ts.map +1 -0
  46. package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.js +31 -0
  47. package/dist/engagement/social-transfers/service/__tests__/rain-split.int.test.js.map +1 -0
  48. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js +175 -16
  49. package/dist/engagement/social-transfers/service/__tests__/social-transfers.service.test.js.map +1 -1
  50. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts +9 -3
  51. package/dist/engagement/social-transfers/service/social-transfers.service.d.ts.map +1 -1
  52. package/dist/engagement/social-transfers/service/social-transfers.service.js +25 -10
  53. package/dist/engagement/social-transfers/service/social-transfers.service.js.map +1 -1
  54. package/package.json +1 -1
@@ -2,7 +2,7 @@ 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, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, NoOnlineUsersError, TooManyRecipientsError, RainCreditError, GiftNotFoundError, GiftAlreadyClaimedError, GiftSelfClaimError, GiftCreditError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, ChatPlayerNotFoundError, } from '../service/chat-commands.service.js';
5
+ import { CommandDisabledError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, NoOnlineUsersError, TooManyRecipientsError, RainCreditError, GiftNotFoundError, GiftAlreadyClaimedError, GiftSelfClaimError, BlockedRecipientError, 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();
@@ -35,7 +35,12 @@ export function createChatCommandsRouter(svc, adminGuard) {
35
35
  return mapErrors({
36
36
  NOT_FOUND: [GiftNotFoundError],
37
37
  FORBIDDEN: [ChatRoomNotMemberError],
38
- CONFLICT: [GiftAlreadyClaimedError, GiftSelfClaimError, GiftCreditError],
38
+ CONFLICT: [
39
+ GiftAlreadyClaimedError,
40
+ GiftSelfClaimError,
41
+ BlockedRecipientError,
42
+ GiftCreditError,
43
+ ],
39
44
  }, () => svc.claimGift(input.id, claimerId));
40
45
  }),
41
46
  getGift: os.getGift.handler(({ input, context }) => {
@@ -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":"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"}
@@ -13,6 +13,7 @@ export declare const RainCreditError: new () => Error;
13
13
  export declare const GiftNotFoundError: new (id: string) => Error;
14
14
  export declare const GiftAlreadyClaimedError: new () => Error;
15
15
  export declare const GiftSelfClaimError: new () => Error;
16
+ export declare const BlockedRecipientError: new () => Error;
16
17
  export declare const GiftCreditError: new () => Error;
17
18
  export declare const ChatCommandIdempotencyKeyReuseError: new () => Error;
18
19
  export declare const ConcurrentCommandReplayError: new () => Error;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-commands.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/service/chat-commands.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-commands.service.d.ts","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/service/chat-commands.service.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export const RainCreditError = makeConflictError('RainCreditError', 'A recipient
14
14
  export const GiftNotFoundError = makeNotFoundError('ChatGift');
15
15
  export const GiftAlreadyClaimedError = makeConflictError('GiftAlreadyClaimed', 'This gift has already been claimed');
16
16
  export const GiftSelfClaimError = makeConflictError('GiftSelfClaim', 'You cannot claim your own gift');
17
+ export const BlockedRecipientError = makeConflictError('BlockedRecipient', 'You cannot receive money from a user you blocked');
17
18
  export const GiftCreditError = makeConflictError('GiftCreditError', 'Recipient wallet is unavailable; gift claim aborted');
18
19
  export const ChatCommandIdempotencyKeyReuseError = makeConflictError('ChatCommandIdempotencyKeyReuse', 'This idempotency key was already used with different request parameters');
19
20
  export const ConcurrentCommandReplayError = makeConflictError('ConcurrentCommandReplay', 'This request is already being processed - please retry');
@@ -195,6 +196,8 @@ export class ChatCommandsService {
195
196
  throw new GiftAlreadyClaimedError();
196
197
  case 'self_claim':
197
198
  throw new GiftSelfClaimError();
199
+ case 'blocked_recipient':
200
+ throw new BlockedRecipientError();
198
201
  case 'room_not_member':
199
202
  throw new ChatRoomNotMemberError(result.roomId ?? null);
200
203
  case 'gift_credit_failed':
@@ -1 +1 @@
1
- {"version":3,"file":"chat-commands.service.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/service/chat-commands.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-commands.service.js","sourceRoot":"","sources":["../../../../src/engagement/chat-commands/service/chat-commands.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,wBA0B8C"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,wBA2B8C"}
@@ -1,5 +1,5 @@
1
1
  import { EVENT_BUS, DRIZZLE } from '@openora/core/server';
2
- import { CHAT_SYSTEM_WRITER, WALLET_COMMANDS, ADMIN_USER_DIRECTORY, AUDIT_WRITER, CHAT_REALTIME_TRANSPORT, CHAT_ROOM_ACCESS, CACHE, GIFT_COMMANDS, RAIN_COMMANDS, createToken, } from '@openora/core/contracts';
2
+ import { CHAT_SYSTEM_WRITER, CHAT_BLOCK_WRITER, WALLET_COMMANDS, ADMIN_USER_DIRECTORY, AUDIT_WRITER, CHAT_REALTIME_TRANSPORT, CHAT_ROOM_ACCESS, CACHE, GIFT_COMMANDS, RAIN_COMMANDS, createToken, } from '@openora/core/contracts';
3
3
  import { SocialTransfersService } from './service/social-transfers.service.js';
4
4
  import { createSocialTransfersRouter } from './router/index.js';
5
5
  const SOCIAL_TRANSFERS_SERVICE = createToken('_SocialTransfersService');
@@ -15,7 +15,7 @@ export default {
15
15
  id: 'social-transfers',
16
16
  dependsOn: ['chat', 'wallet', 'iam', 'audit'],
17
17
  register(ctx) {
18
- ctx.provide(SOCIAL_TRANSFERS_SERVICE, (c) => new SocialTransfersService(c.get(DRIZZLE), c.get(CHAT_SYSTEM_WRITER), c.get(WALLET_COMMANDS), c.get(ADMIN_USER_DIRECTORY), c.get(AUDIT_WRITER), c.get(CHAT_REALTIME_TRANSPORT), c.get(EVENT_BUS), c.get(CHAT_ROOM_ACCESS), c.get(CACHE)));
18
+ ctx.provide(SOCIAL_TRANSFERS_SERVICE, (c) => new SocialTransfersService(c.get(DRIZZLE), c.get(CHAT_SYSTEM_WRITER), c.get(CHAT_BLOCK_WRITER), c.get(WALLET_COMMANDS), c.get(ADMIN_USER_DIRECTORY), c.get(AUDIT_WRITER), c.get(CHAT_REALTIME_TRANSPORT), c.get(EVENT_BUS), c.get(CHAT_ROOM_ACCESS), c.get(CACHE)));
19
19
  ctx.provide(GIFT_COMMANDS, (c) => c.get(SOCIAL_TRANSFERS_SERVICE));
20
20
  ctx.provide(RAIN_COMMANDS, (c) => c.get(SOCIAL_TRANSFERS_SERVICE));
21
21
  ctx.routers.add('socialTransfers', (c) => createSocialTransfersRouter(c.get(SOCIAL_TRANSFERS_SERVICE)));
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,wBAAwB,GAAG,WAAW,CAAyB,yBAAyB,CAAC,CAAC;AAEhG,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,mEAAmE;AACnE,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,iEAAiE;AACjE,eAAe;IACb,EAAE,EAAE,kBAAkB;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CACT,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,sBAAsB,CACxB,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,gBAAgB,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACb,CACJ,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAEnE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CACvC,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;CAC0C,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/engagement/social-transfers/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,YAAY,EACZ,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,EACL,aAAa,EACb,aAAa,EACb,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAC/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE,MAAM,wBAAwB,GAAG,WAAW,CAAyB,yBAAyB,CAAC,CAAC;AAEhG,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,mEAAmE;AACnE,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,iEAAiE;AACjE,eAAe;IACb,EAAE,EAAE,kBAAkB;IACtB,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CACT,wBAAwB,EACxB,CAAC,CAAC,EAAE,EAAE,CACJ,IAAI,sBAAsB,CACxB,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EACd,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC,EACzB,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,EACxB,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,gBAAgB,CAAC,EACvB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACb,CACJ,CAAC;QACF,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAEnE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CACvC,2BAA2B,CAAC,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAC7D,CAAC;IACJ,CAAC;CAC0C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,sBAAsB,EAUvB,MAAM,wCAAwC,CAAC;AAEhD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7E,OAAO,EACL,sBAAsB,EAWvB,MAAM,wCAAwC,CAAC;AAEhD,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBtE"}
@@ -1,7 +1,7 @@
1
1
  import { implement } from '@orpc/server';
2
2
  import { mapErrors, getUserId } from '@openora/core/server';
3
3
  import { socialTransfersContract } from '../contract/index.js';
4
- import { CommandDisabledError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, DonateSelfError, ChatPlayerNotFoundError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, } from '../service/social-transfers.service.js';
4
+ import { CommandDisabledError, InsufficientBalanceError, ExceedsLimitError, BelowMinimumError, DonateSelfError, BlockedRecipientError, ChatPlayerNotFoundError, ChatCommandIdempotencyKeyReuseError, ConcurrentCommandReplayError, ChatRoomNotMemberError, } from '../service/social-transfers.service.js';
5
5
  export function createSocialTransfersRouter(svc) {
6
6
  const os = implement(socialTransfersContract).$context();
7
7
  return os.router({
@@ -14,6 +14,7 @@ export function createSocialTransfersRouter(svc) {
14
14
  ExceedsLimitError,
15
15
  BelowMinimumError,
16
16
  DonateSelfError,
17
+ BlockedRecipientError,
17
18
  ChatCommandIdempotencyKeyReuseError,
18
19
  ConcurrentCommandReplayError,
19
20
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,uBAAuB,EACvB,mCAAmC,EACnC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,UAAU,2BAA2B,CAAC,GAA2B;IACrE,MAAM,EAAE,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAErE,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACvD,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,eAAe;oBACf,mCAAmC;oBACnC,4BAA4B;iBAC7B;gBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CACrC,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/engagement/social-transfers/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,oBAAoB,EACpB,wBAAwB,EACxB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,mCAAmC,EACnC,4BAA4B,EAC5B,sBAAsB,GACvB,MAAM,wCAAwC,CAAC;AAEhD,MAAM,UAAU,2BAA2B,CAAC,GAA2B;IACrE,MAAM,EAAE,GAAG,SAAS,CAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAc,CAAC;IAErE,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACvD,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,eAAe;oBACf,qBAAqB;oBACrB,mCAAmC;oBACnC,4BAA4B;iBAC7B;gBACD,SAAS,EAAE,CAAC,sBAAsB,CAAC;aACpC,EACD,GAAG,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CACrC,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -363,8 +363,8 @@ export declare const playerDonate: import("drizzle-orm/pg-core").PgTableWithColu
363
363
  export type PlayerDonate = typeof playerDonate.$inferSelect;
364
364
  /**
365
365
  * Header row per `/rain` event. `amount` is the ACTUALLY-distributed total
366
- * (`floor(typedAmount / recipientCount) * recipientCount`), never the raw
367
- * player-typed amount - see this module's AGENTS.md. roomId is nullable: rain
366
+ * (`floor(typedAmount / requestedRecipientCount) * actualRecipientCount`), never
367
+ * the raw player-typed amount - see this module's AGENTS.md. roomId is nullable: rain
368
368
  * can be sent into global chat (GLOBAL_CHAT_ROOM_ID sentinel on the wire).
369
369
  */
370
370
  export declare const playerRain: import("drizzle-orm/pg-core").PgTableWithColumns<{
@@ -34,8 +34,8 @@ export const playerDonate = pgTable('player_donate', {
34
34
  });
35
35
  /**
36
36
  * Header row per `/rain` event. `amount` is the ACTUALLY-distributed total
37
- * (`floor(typedAmount / recipientCount) * recipientCount`), never the raw
38
- * player-typed amount - see this module's AGENTS.md. roomId is nullable: rain
37
+ * (`floor(typedAmount / requestedRecipientCount) * actualRecipientCount`), never
38
+ * the raw player-typed amount - see this module's AGENTS.md. roomId is nullable: rain
39
39
  * can be sent into global chat (GLOBAL_CHAT_ROOM_ID sentinel on the wire).
40
40
  */
41
41
  export const playerRain = pgTable('player_rain', {
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=rain-split.int.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rain-split.int.test.d.ts","sourceRoot":"","sources":["../../../../../src/engagement/social-transfers/service/__tests__/rain-split.int.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,31 @@
1
+ import { afterAll, beforeAll, describe, expect, it } from 'vitest';
2
+ import { createTestDb } from '@openora/core/testing';
3
+ import { migrate } from '../../migrate.js';
4
+ import { calculateRainSplit, TooManyRecipientsError } from '../social-transfers.service.js';
5
+ let db;
6
+ beforeAll(async () => {
7
+ db = await createTestDb([migrate]);
8
+ });
9
+ afterAll(async () => {
10
+ await db?.drop();
11
+ });
12
+ describe('calculateRainSplit', () => {
13
+ it('floors per-recipient rain to cents in real Postgres', async () => {
14
+ const result = await db.drizzle.db.transaction((tx) => calculateRainSplit(tx, '44.44', 3, 3));
15
+ expect(result).toEqual({
16
+ perRecipient: '14.8100000000000000',
17
+ totalDistributed: '44.4300000000000000',
18
+ });
19
+ });
20
+ it('keeps the requested per-recipient amount when fewer users are available', async () => {
21
+ const result = await db.drizzle.db.transaction((tx) => calculateRainSplit(tx, '100', 5, 4));
22
+ expect(result).toEqual({
23
+ perRecipient: '20.0000000000000000',
24
+ totalDistributed: '80.0000000000000000',
25
+ });
26
+ });
27
+ it('rejects a split that would pay zero cents per recipient', async () => {
28
+ await expect(db.drizzle.db.transaction((tx) => calculateRainSplit(tx, '0.01', 2, 2))).rejects.toThrow(TooManyRecipientsError);
29
+ });
30
+ });
31
+ //# sourceMappingURL=rain-split.int.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rain-split.int.test.js","sourceRoot":"","sources":["../../../../../src/engagement/social-transfers/service/__tests__/rain-split.int.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACnE,OAAO,EAAE,YAAY,EAAe,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAE5F,IAAI,EAAU,CAAC;AAEf,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,EAAE,GAAG,MAAM,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE9F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,YAAY,EAAE,qBAAqB;YACnC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;QACvF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAE5F,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,YAAY,EAAE,qBAAqB;YACnC,gBAAgB,EAAE,qBAAqB;SACxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,MAAM,CACV,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CACxE,CAAC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
2
  import { mock, makeDrizzle, makeEventBus } from '../../../../testing/mock.js';
3
- import { SocialTransfersService, InsufficientBalanceError, BelowMinimumError, DonateSelfError, ChatPlayerNotFoundError, fingerprintCommand, } from '../social-transfers.service.js';
3
+ import { SocialTransfersService, InsufficientBalanceError, BelowMinimumError, DonateSelfError, BlockedRecipientError, ChatPlayerNotFoundError, fingerprintCommand, } from '../social-transfers.service.js';
4
4
  const ACTOR_ID = '00000000-0000-0000-0000-000000000001';
5
5
  const CLAIMER_ID = '00000000-0000-0000-0000-000000000002';
6
6
  const RECIPIENT_2 = '00000000-0000-0000-0000-000000000006';
@@ -177,7 +177,11 @@ function makeSvc(overrides = {}) {
177
177
  returning: overrides.drizzleRows?.returning ?? [],
178
178
  execute: overrides.drizzleRows?.execute,
179
179
  });
180
- return new SocialTransfersService(drizzle, overrides.writer ?? makeWriter(), overrides.wallet ?? makeWallet(), overrides.directory ?? makeDirectory(), overrides.audit ?? makeAudit(), overrides.transport ?? makeTransport(), mock(makeEventBus()), overrides.roomAccess ?? makeRoomAccess(), overrides.cache ?? makeCache());
180
+ return new SocialTransfersService(drizzle, overrides.writer ?? makeWriter(), overrides.blockWriter ??
181
+ mock({
182
+ getBlockedUserIds: vi.fn().mockResolvedValue([]),
183
+ isBlocked: vi.fn().mockResolvedValue(false),
184
+ }), overrides.wallet ?? makeWallet(), overrides.directory ?? makeDirectory(), overrides.audit ?? makeAudit(), overrides.transport ?? makeTransport(), mock(makeEventBus()), overrides.roomAccess ?? makeRoomAccess(), overrides.cache ?? makeCache());
181
185
  }
182
186
  const IDEMPOTENCY_KEY = '00000000-0000-0000-0000-0000000000aa';
183
187
  const IDEMPOTENCY_CACHE_KEY = `chat-command:idempotency:${ACTOR_ID}:gift:${IDEMPOTENCY_KEY}`;
@@ -363,6 +367,17 @@ describe('SocialTransfersService.claimGift', () => {
363
367
  const result = await svc.claimGift(GIFT_ID, ACTOR_ID);
364
368
  expect(result).toEqual({ ok: false, reason: 'self_claim' });
365
369
  });
370
+ it('returns { ok: false, reason: "blocked_recipient" } when the sender blocked the claimer', async () => {
371
+ const svc = makeSvc({
372
+ drizzleRows: { select: [[GIFT_ROW]], returning: [] },
373
+ blockWriter: mock({
374
+ getBlockedUserIds: vi.fn().mockResolvedValue([CLAIMER_ID]),
375
+ isBlocked: vi.fn().mockResolvedValue(true),
376
+ }),
377
+ });
378
+ const result = await svc.claimGift(GIFT_ID, CLAIMER_ID);
379
+ expect(result).toEqual({ ok: false, reason: 'blocked_recipient' });
380
+ });
366
381
  it('returns { ok: false, reason: "already_claimed" } when the update returns no rows (race lost)', async () => {
367
382
  const svc = makeSvc({
368
383
  drizzleRows: { select: [[GIFT_ROW]], returning: [[]] }, // empty = already claimed
@@ -495,7 +510,15 @@ describe('SocialTransfersService.sendRain (RAIN_COMMANDS port)', () => {
495
510
  drizzleRows: {
496
511
  select: [[RAIN_ROW]],
497
512
  returning: [[{ id: '00000000-0000-0000-0000-0000000000cc' }]],
498
- execute: [[{ per_recipient: '5.00000000', total_distributed: '10.00000000' }]],
513
+ execute: [
514
+ [
515
+ {
516
+ per_recipient: '5.00000000',
517
+ total_distributed: '10.00000000',
518
+ has_positive_recipient: true,
519
+ },
520
+ ],
521
+ ],
499
522
  },
500
523
  wallet,
501
524
  writer,
@@ -536,13 +559,21 @@ describe('SocialTransfersService.sendRain (RAIN_COMMANDS port)', () => {
536
559
  }));
537
560
  expect(transport.publish).toHaveBeenCalledWith(`chat:room:${ROOM_ID}`, SYSTEM_MSG);
538
561
  });
539
- it('debits only the amount actually distributed (floor(amount/n)*n), never the raw player-typed amount', async () => {
562
+ it('debits only the amount actually distributed after flooring per-recipient cents', async () => {
540
563
  const wallet = makeWallet();
541
564
  const svc = makeSvc({
542
565
  drizzleRows: {
543
566
  select: [[RAIN_ROW]],
544
567
  returning: [[{ id: '00000000-0000-0000-0000-0000000000cc' }]],
545
- execute: [[{ per_recipient: '1.00000000', total_distributed: '10.00000000' }]],
568
+ execute: [
569
+ [
570
+ {
571
+ per_recipient: '1.09000000',
572
+ total_distributed: '10.90000000',
573
+ has_positive_recipient: true,
574
+ },
575
+ ],
576
+ ],
546
577
  },
547
578
  wallet,
548
579
  directory: makeDirectory('bob', 'alice', Array.from({ length: 10 }, (_, i) => `00000000-0000-0000-0000-0000000000${10 + i}`)),
@@ -556,7 +587,130 @@ describe('SocialTransfersService.sendRain (RAIN_COMMANDS port)', () => {
556
587
  }, ACTOR_ID);
557
588
  expect(wallet.debit).toHaveBeenCalledWith(expect.anything(), {
558
589
  userId: ACTOR_ID,
590
+ amount: '10.90000000',
591
+ type: 'rain',
592
+ });
593
+ });
594
+ it('fixes the per-recipient amount from the requested count before reducing to available users', async () => {
595
+ const wallet = makeWallet();
596
+ const svc = makeSvc({
597
+ drizzleRows: {
598
+ select: [[RAIN_ROW]],
599
+ returning: [[{ id: '00000000-0000-0000-0000-0000000000cc' }]],
600
+ execute: [
601
+ [
602
+ {
603
+ per_recipient: '20.00000000',
604
+ total_distributed: '80.00000000',
605
+ has_positive_recipient: true,
606
+ },
607
+ ],
608
+ ],
609
+ },
610
+ wallet,
611
+ directory: makeDirectory('bob', 'alice', [
612
+ '00000000-0000-0000-0000-000000000010',
613
+ '00000000-0000-0000-0000-000000000011',
614
+ ]),
615
+ });
616
+ await svc.sendRain({
617
+ amount: '100.00000000',
618
+ recipientCount: 5,
619
+ roomId: ROOM_ID,
620
+ idempotencyKey: IDEMPOTENCY_KEY,
621
+ onlineUserIds: [
622
+ CLAIMER_ID,
623
+ RECIPIENT_2,
624
+ '00000000-0000-0000-0000-000000000010',
625
+ '00000000-0000-0000-0000-000000000011',
626
+ ],
627
+ }, ACTOR_ID);
628
+ expect(wallet.credit).toHaveBeenCalledTimes(4);
629
+ expect(wallet.credit).toHaveBeenCalledWith(expect.anything(), {
630
+ userId: CLAIMER_ID,
631
+ amount: '20.00000000',
632
+ currency: 'USD',
633
+ type: 'rain',
634
+ });
635
+ expect(wallet.debit).toHaveBeenCalledWith(expect.anything(), {
636
+ userId: ACTOR_ID,
637
+ amount: '80.00000000',
638
+ type: 'rain',
639
+ });
640
+ });
641
+ it('allows blocked users to receive rain', async () => {
642
+ const wallet = makeWallet();
643
+ const svc = makeSvc({
644
+ drizzleRows: {
645
+ select: [[RAIN_ROW]],
646
+ returning: [[{ id: '00000000-0000-0000-0000-0000000000cc' }]],
647
+ execute: [
648
+ [
649
+ {
650
+ per_recipient: '5.00000000',
651
+ total_distributed: '10.00000000',
652
+ has_positive_recipient: true,
653
+ },
654
+ ],
655
+ ],
656
+ },
657
+ wallet,
658
+ blockWriter: mock({
659
+ getBlockedUserIds: vi.fn().mockResolvedValue([CLAIMER_ID]),
660
+ isBlocked: vi.fn().mockResolvedValue(true),
661
+ }),
662
+ });
663
+ await svc.sendRain({
559
664
  amount: '10.00000000',
665
+ recipientCount: 2,
666
+ roomId: ROOM_ID,
667
+ idempotencyKey: IDEMPOTENCY_KEY,
668
+ onlineUserIds: [ACTOR_ID, CLAIMER_ID, RECIPIENT_2],
669
+ }, ACTOR_ID);
670
+ expect(wallet.credit).toHaveBeenCalledTimes(2);
671
+ expect(wallet.credit).toHaveBeenCalledWith(expect.anything(), {
672
+ userId: CLAIMER_ID,
673
+ amount: '5.00000000',
674
+ currency: 'USD',
675
+ type: 'rain',
676
+ });
677
+ });
678
+ it('supports non-even totals by flooring the requested per-recipient payout to cents', async () => {
679
+ const wallet = makeWallet();
680
+ const svc = makeSvc({
681
+ drizzleRows: {
682
+ select: [[RAIN_ROW]],
683
+ returning: [[{ id: '00000000-0000-0000-0000-0000000000cc' }]],
684
+ execute: [
685
+ [
686
+ {
687
+ per_recipient: '14.81000000',
688
+ total_distributed: '44.43000000',
689
+ has_positive_recipient: true,
690
+ },
691
+ ],
692
+ ],
693
+ },
694
+ wallet,
695
+ directory: makeDirectory('bob', 'alice', ['00000000-0000-0000-0000-000000000010']),
696
+ });
697
+ await svc.sendRain({
698
+ amount: '44.44000000',
699
+ recipientCount: 3,
700
+ roomId: ROOM_ID,
701
+ idempotencyKey: IDEMPOTENCY_KEY,
702
+ onlineUserIds: [ACTOR_ID, CLAIMER_ID, RECIPIENT_2, '00000000-0000-0000-0000-000000000010'],
703
+ }, ACTOR_ID);
704
+ expect(wallet.credit).toHaveBeenCalledTimes(3);
705
+ expect(wallet.credit).toHaveBeenCalledWith(expect.anything(), {
706
+ userId: CLAIMER_ID,
707
+ amount: '14.81000000',
708
+ currency: 'USD',
709
+ type: 'rain',
710
+ });
711
+ expect(wallet.debit).toHaveBeenCalledWith(expect.anything(), {
712
+ userId: ACTOR_ID,
713
+ amount: '44.43000000',
560
714
  type: 'rain',
561
715
  });
562
716
  });
@@ -599,17 +753,6 @@ describe('SocialTransfersService.sendRain (RAIN_COMMANDS port)', () => {
599
753
  }, ACTOR_ID);
600
754
  expect(result).toEqual({ ok: false, reason: 'exceeds_limit' });
601
755
  });
602
- it('returns { ok: false, reason: "too_many_recipients" } when recipientCount exceeds the whole-dollar amount', async () => {
603
- const svc = makeSvc({ drizzleRows: { select: [[RAIN_ROW]] } });
604
- const result = await svc.sendRain({
605
- amount: '3.00000000',
606
- recipientCount: 4,
607
- roomId: ROOM_ID,
608
- idempotencyKey: IDEMPOTENCY_KEY,
609
- onlineUserIds: [],
610
- }, ACTOR_ID);
611
- expect(result).toEqual({ ok: false, reason: 'too_many_recipients' });
612
- });
613
756
  });
614
757
  const DONATE_ROW = {
615
758
  key: 'donate',
@@ -734,6 +877,22 @@ describe('SocialTransfersService.sendDonate', () => {
734
877
  idempotencyKey: IDEMPOTENCY_KEY,
735
878
  }, ACTOR_ID)).rejects.toThrow(DonateSelfError);
736
879
  });
880
+ it('throws BlockedRecipientError when the sender targets a blocked user', async () => {
881
+ const svc = makeSvc({
882
+ drizzleRows: { select: [[DONATE_ROW]] },
883
+ directory: makeRecipientDirectory(),
884
+ blockWriter: mock({
885
+ getBlockedUserIds: vi.fn().mockResolvedValue([CLAIMER_ID]),
886
+ isBlocked: vi.fn().mockResolvedValue(true),
887
+ }),
888
+ });
889
+ await expect(svc.sendDonate({
890
+ targetUsername: 'alice',
891
+ amount: '10.00000000',
892
+ roomId: ROOM_ID,
893
+ idempotencyKey: IDEMPOTENCY_KEY,
894
+ }, ACTOR_ID)).rejects.toThrow(BlockedRecipientError);
895
+ });
737
896
  it('throws ChatPlayerNotFoundError when the target username does not exist', async () => {
738
897
  const directory = mock({
739
898
  findPlayerIds: vi.fn().mockResolvedValue([]),