@openora/core 0.4.1-canary.153 → 0.4.1-canary.155

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 (155) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/plugin.d.ts +1 -0
  3. package/dist/admin-console/plugin.d.ts.map +1 -1
  4. package/dist/analytics/plugin.d.ts +1 -0
  5. package/dist/analytics/plugin.d.ts.map +1 -1
  6. package/dist/audit/plugin.d.ts +1 -0
  7. package/dist/audit/plugin.d.ts.map +1 -1
  8. package/dist/audit/plugin.js +12 -1
  9. package/dist/audit/plugin.js.map +1 -1
  10. package/dist/casino/gaming/plugin.d.ts +1 -0
  11. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  12. package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts +2 -0
  13. package/dist/casino/lobby/__tests__/lobby-contract.test.d.ts.map +1 -0
  14. package/dist/casino/lobby/__tests__/lobby-contract.test.js +39 -0
  15. package/dist/casino/lobby/__tests__/lobby-contract.test.js.map +1 -0
  16. package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts +2 -0
  17. package/dist/casino/lobby/__tests__/lobby-layout.int.test.d.ts.map +1 -0
  18. package/dist/casino/lobby/__tests__/lobby-layout.int.test.js +145 -0
  19. package/dist/casino/lobby/__tests__/lobby-layout.int.test.js.map +1 -0
  20. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js +45 -7
  21. package/dist/casino/lobby/__tests__/lobby.cache.int.test.js.map +1 -1
  22. package/dist/casino/lobby/contract/index.d.ts +84 -0
  23. package/dist/casino/lobby/contract/index.d.ts.map +1 -1
  24. package/dist/casino/lobby/contract/index.js +38 -1
  25. package/dist/casino/lobby/contract/index.js.map +1 -1
  26. package/dist/casino/lobby/drizzle/migrations/0001_true_clea.sql +20 -0
  27. package/dist/casino/lobby/drizzle/migrations/meta/0001_snapshot.json +343 -0
  28. package/dist/casino/lobby/drizzle/migrations/meta/_journal.json +7 -0
  29. package/dist/casino/lobby/plugin.d.ts +1 -0
  30. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  31. package/dist/casino/lobby/plugin.js +7 -3
  32. package/dist/casino/lobby/plugin.js.map +1 -1
  33. package/dist/casino/lobby/router/index.d.ts +42 -2
  34. package/dist/casino/lobby/router/index.d.ts.map +1 -1
  35. package/dist/casino/lobby/router/index.js +13 -2
  36. package/dist/casino/lobby/router/index.js.map +1 -1
  37. package/dist/casino/lobby/schema/index.d.ts +222 -0
  38. package/dist/casino/lobby/schema/index.d.ts.map +1 -1
  39. package/dist/casino/lobby/schema/index.js +21 -1
  40. package/dist/casino/lobby/schema/index.js.map +1 -1
  41. package/dist/casino/lobby/service/lobby.service.d.ts +36 -3
  42. package/dist/casino/lobby/service/lobby.service.d.ts.map +1 -1
  43. package/dist/casino/lobby/service/lobby.service.js +253 -13
  44. package/dist/casino/lobby/service/lobby.service.js.map +1 -1
  45. package/dist/cms/plugin.d.ts +1 -0
  46. package/dist/cms/plugin.d.ts.map +1 -1
  47. package/dist/compliance/__tests__/compliance.service.int.test.js +248 -25
  48. package/dist/compliance/__tests__/compliance.service.int.test.js.map +1 -1
  49. package/dist/compliance/__tests__/regulatory-overview.router.int.test.d.ts +2 -0
  50. package/dist/compliance/__tests__/regulatory-overview.router.int.test.d.ts.map +1 -0
  51. package/dist/compliance/__tests__/regulatory-overview.router.int.test.js +102 -0
  52. package/dist/compliance/__tests__/regulatory-overview.router.int.test.js.map +1 -0
  53. package/dist/compliance/contract/index.d.ts +77 -2
  54. package/dist/compliance/contract/index.d.ts.map +1 -1
  55. package/dist/compliance/contract/index.js +50 -1
  56. package/dist/compliance/contract/index.js.map +1 -1
  57. package/dist/compliance/drizzle/migrations/0008_omniscient_northstar.sql +14 -0
  58. package/dist/compliance/drizzle/migrations/meta/0008_snapshot.json +870 -0
  59. package/dist/compliance/drizzle/migrations/meta/_journal.json +7 -0
  60. package/dist/compliance/plugin.d.ts +1 -0
  61. package/dist/compliance/plugin.d.ts.map +1 -1
  62. package/dist/compliance/plugin.js +2 -2
  63. package/dist/compliance/plugin.js.map +1 -1
  64. package/dist/compliance/router/index.d.ts +43 -1
  65. package/dist/compliance/router/index.d.ts.map +1 -1
  66. package/dist/compliance/router/index.js +32 -4
  67. package/dist/compliance/router/index.js.map +1 -1
  68. package/dist/compliance/schema/index.d.ts +181 -2
  69. package/dist/compliance/schema/index.d.ts.map +1 -1
  70. package/dist/compliance/schema/index.js +15 -2
  71. package/dist/compliance/schema/index.js.map +1 -1
  72. package/dist/compliance/server.d.ts +1 -1
  73. package/dist/compliance/server.d.ts.map +1 -1
  74. package/dist/compliance/server.js +1 -1
  75. package/dist/compliance/server.js.map +1 -1
  76. package/dist/compliance/service/compliance.service.d.ts +61 -14
  77. package/dist/compliance/service/compliance.service.d.ts.map +1 -1
  78. package/dist/compliance/service/compliance.service.js +226 -30
  79. package/dist/compliance/service/compliance.service.js.map +1 -1
  80. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts +2 -0
  81. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.d.ts.map +1 -0
  82. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js +25 -0
  83. package/dist/contracts/adapters/__tests__/lobby-section-catalog.test.js.map +1 -0
  84. package/dist/contracts/adapters/audit.d.ts +1 -1
  85. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  86. package/dist/contracts/adapters/audit.js.map +1 -1
  87. package/dist/contracts/adapters/index.d.ts +2 -0
  88. package/dist/contracts/adapters/index.d.ts.map +1 -1
  89. package/dist/contracts/adapters/index.js +1 -0
  90. package/dist/contracts/adapters/index.js.map +1 -1
  91. package/dist/contracts/adapters/lobby-section-catalog.d.ts +39 -0
  92. package/dist/contracts/adapters/lobby-section-catalog.d.ts.map +1 -0
  93. package/dist/contracts/adapters/lobby-section-catalog.js +34 -0
  94. package/dist/contracts/adapters/lobby-section-catalog.js.map +1 -0
  95. package/dist/contracts/schemas/events.d.ts +25 -0
  96. package/dist/contracts/schemas/events.d.ts.map +1 -1
  97. package/dist/contracts/schemas/events.js +8 -3
  98. package/dist/contracts/schemas/events.js.map +1 -1
  99. package/dist/contracts/schemas/iam.d.ts +1 -0
  100. package/dist/contracts/schemas/iam.d.ts.map +1 -1
  101. package/dist/contracts/schemas/iam.js +1 -0
  102. package/dist/contracts/schemas/iam.js.map +1 -1
  103. package/dist/contracts/schemas/index.d.ts +1 -0
  104. package/dist/contracts/schemas/index.d.ts.map +1 -1
  105. package/dist/contracts/schemas/index.js +1 -0
  106. package/dist/contracts/schemas/index.js.map +1 -1
  107. package/dist/contracts/schemas/lobby.d.ts +27 -0
  108. package/dist/contracts/schemas/lobby.d.ts.map +1 -0
  109. package/dist/contracts/schemas/lobby.js +22 -0
  110. package/dist/contracts/schemas/lobby.js.map +1 -0
  111. package/dist/engagement/chat/plugin.d.ts +1 -0
  112. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  113. package/dist/engagement/chat-commands/plugin.d.ts +1 -0
  114. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  115. package/dist/engagement/notifications/plugin.d.ts +1 -0
  116. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  117. package/dist/engagement/social/plugin.d.ts +1 -0
  118. package/dist/engagement/social/plugin.d.ts.map +1 -1
  119. package/dist/fx/exchange-rate/plugin.d.ts +1 -0
  120. package/dist/fx/exchange-rate/plugin.d.ts.map +1 -1
  121. package/dist/iam/plugin.d.ts +1 -0
  122. package/dist/iam/plugin.d.ts.map +1 -1
  123. package/dist/iam/seed/data/default-admin-roles.d.ts.map +1 -1
  124. package/dist/iam/seed/data/default-admin-roles.js +1 -0
  125. package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
  126. package/dist/iam/service/iam.service.d.ts +1 -1
  127. package/dist/mail/plugin.d.ts +1 -0
  128. package/dist/mail/plugin.d.ts.map +1 -1
  129. package/dist/pam/identity/plugin.d.ts +1 -0
  130. package/dist/pam/identity/plugin.d.ts.map +1 -1
  131. package/dist/pam/player-management/plugin.d.ts +1 -0
  132. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  133. package/dist/pam/player-note/plugin.d.ts +1 -0
  134. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  135. package/dist/pam/profile/plugin.d.ts +1 -0
  136. package/dist/pam/profile/plugin.d.ts.map +1 -1
  137. package/dist/pam/tag/plugin.d.ts +1 -0
  138. package/dist/pam/tag/plugin.d.ts.map +1 -1
  139. package/dist/server/auth/permissions.d.ts +12 -0
  140. package/dist/server/auth/permissions.d.ts.map +1 -1
  141. package/dist/server/auth/permissions.js +1 -0
  142. package/dist/server/auth/permissions.js.map +1 -1
  143. package/dist/server/runtime/__tests__/create-app.test.js +8 -5
  144. package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
  145. package/dist/server/runtime/core-token-catalog.d.ts +1 -0
  146. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  147. package/dist/server/runtime/core-token-catalog.js +2 -1
  148. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  149. package/dist/server/runtime/create-app.d.ts +1 -1
  150. package/dist/server/runtime/create-app.d.ts.map +1 -1
  151. package/dist/server/runtime/create-app.js +2 -8
  152. package/dist/server/runtime/create-app.js.map +1 -1
  153. package/dist/wallet/plugin.d.ts +1 -0
  154. package/dist/wallet/plugin.d.ts.map +1 -1
  155. package/package.json +1 -1
@@ -1,6 +1,14 @@
1
- import { type OssContext } from '@openora/core/server';
1
+ import { type AdminGuard, type OssContext } from '@openora/core/server';
2
2
  import { LobbyService } from '../service/lobby.service.js';
3
- export declare function createLobbyRouter(lobby: LobbyService): {
3
+ export declare function createLobbyRouter({ lobby, adminGuard, }: {
4
+ lobby: LobbyService;
5
+ adminGuard: AdminGuard;
6
+ }): {
7
+ getLayout: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodArray<import("zod").ZodObject<{
8
+ id: import("zod").ZodUUID;
9
+ type: import("zod").ZodString;
10
+ data: import("zod").ZodJSONSchema;
11
+ }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
4
12
  listCategories: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodArray<import("zod").ZodObject<{
5
13
  id: import("zod").ZodUUID;
6
14
  name: import("zod").ZodString;
@@ -70,5 +78,37 @@ export declare function createLobbyRouter(lobby: LobbyService): {
70
78
  }, import("zod/v4/core").$strip>>;
71
79
  thumbnailUrl: import("zod").ZodNullable<import("zod").ZodString>;
72
80
  }, import("zod/v4/core").$strip>>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
81
+ getAdminLayout: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodObject<{
82
+ version: import("zod").ZodNumber;
83
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
84
+ id: import("zod").ZodUUID;
85
+ type: import("zod").ZodString;
86
+ config: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>;
87
+ sortOrder: import("zod").ZodNumber;
88
+ isEnabled: import("zod").ZodBoolean;
89
+ createdAt: import("zod").ZodISODateTime;
90
+ updatedAt: import("zod").ZodISODateTime;
91
+ }, import("zod/v4/core").$strip>>;
92
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
93
+ replaceLayout: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
94
+ version: import("zod").ZodNumber;
95
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
96
+ id: import("zod").ZodOptional<import("zod").ZodUUID>;
97
+ type: import("zod").ZodString;
98
+ config: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>;
99
+ isEnabled: import("zod").ZodDefault<import("zod").ZodBoolean>;
100
+ }, import("zod/v4/core").$strict>>;
101
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
102
+ version: import("zod").ZodNumber;
103
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
104
+ id: import("zod").ZodUUID;
105
+ type: import("zod").ZodString;
106
+ config: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodJSONSchema>;
107
+ sortOrder: import("zod").ZodNumber;
108
+ isEnabled: import("zod").ZodBoolean;
109
+ createdAt: import("zod").ZodISODateTime;
110
+ updatedAt: import("zod").ZodISODateTime;
111
+ }, import("zod/v4/core").$strip>>;
112
+ }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
73
113
  };
74
114
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,YAAY,EAA8B,MAAM,6BAA6B,CAAC;AAEvF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EACL,YAAY,EAKb,MAAM,6BAA6B,CAAC;AAKrC,wBAAgB,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,GACX,EAAE;IACD,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BA"}
@@ -1,14 +1,25 @@
1
1
  import { implement } from '@orpc/server';
2
2
  import { mapErrors } from '@openora/core/server';
3
3
  import { lobbyContract } from '../contract/index.js';
4
- import { LobbyCategoryNotFoundError } from '../service/lobby.service.js';
5
- export function createLobbyRouter(lobby) {
4
+ import { LobbyCategoryNotFoundError, LobbyLayoutVersionConflictError, LobbySectionFieldError, LobbySectionNotFoundError, } from '../service/lobby.service.js';
5
+ const NOT_FOUND = [LobbySectionNotFoundError];
6
+ const BAD_REQUEST = [LobbySectionFieldError];
7
+ export function createLobbyRouter({ lobby, adminGuard, }) {
6
8
  const os = implement(lobbyContract).$context();
7
9
  return os.router({
10
+ getLayout: os.getLayout.handler(() => lobby.getLayout()),
8
11
  listCategories: os.listCategories.handler(() => lobby.listCategories()),
9
12
  getCategoryBySlug: os.getCategoryBySlug.handler(({ input }) => mapErrors({ NOT_FOUND: LobbyCategoryNotFoundError }, () => lobby.getCategoryGames(input.slug))),
10
13
  getFeatured: os.getFeatured.handler(() => lobby.getFeatured()),
11
14
  search: os.search.handler(({ input }) => lobby.search(input.q)),
15
+ getAdminLayout: os.getAdminLayout.handler(async ({ context }) => {
16
+ await adminGuard.assert(context, 'game-config', 'view');
17
+ return lobby.getAdminLayout();
18
+ }),
19
+ replaceLayout: os.replaceLayout.handler(async ({ input, context }) => {
20
+ const { userId, ip, userAgent } = await adminGuard.assert(context, 'game-config', 'update');
21
+ return mapErrors({ NOT_FOUND, BAD_REQUEST, CONFLICT: LobbyLayoutVersionConflictError }, () => lobby.replaceLayout({ ...input, actorId: userId, ip, userAgent }));
22
+ }),
12
23
  });
13
24
  }
14
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAgB,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAEvF,MAAM,UAAU,iBAAiB,CAAC,KAAmB;IACnD,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAc,CAAC;IAE3D,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5D,SAAS,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CACxD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CACF;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAE9D,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAChE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,SAAS,EAAoC,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAEL,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AAErC,MAAM,SAAS,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,sBAAsB,CAAC,CAAC;AAE7C,MAAM,UAAU,iBAAiB,CAAC,EAChC,KAAK,EACL,UAAU,GAIX;IACC,MAAM,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAc,CAAC;IAE3D,OAAO,EAAE,CAAC,MAAM,CAAC;QACf,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACxD,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvE,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAC5D,SAAS,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,EAAE,GAAG,EAAE,CACxD,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACnC,CACF;QAED,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAE9D,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE/D,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;YAC9D,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACxD,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;QAChC,CAAC,CAAC;QAEF,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;YACnE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;YAC5F,OAAO,SAAS,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,+BAA+B,EAAE,EAAE,GAAG,EAAE,CAC3F,KAAK,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAClE,CAAC;QACJ,CAAC,CAAC;KACH,CAAC,CAAC;AACL,CAAC"}
@@ -291,6 +291,228 @@ export declare const featuredSlot: import("drizzle-orm/pg-core").PgTableWithColu
291
291
  };
292
292
  dialect: "pg";
293
293
  }>;
294
+ export declare const lobbyLayout: import("drizzle-orm/pg-core").PgTableWithColumns<{
295
+ name: "lobby_layout";
296
+ schema: undefined;
297
+ columns: {
298
+ id: import("drizzle-orm/pg-core").PgColumn<{
299
+ name: "id";
300
+ tableName: "lobby_layout";
301
+ dataType: "string";
302
+ columnType: "PgUUID";
303
+ data: string;
304
+ driverParam: string;
305
+ notNull: true;
306
+ hasDefault: true;
307
+ isPrimaryKey: true;
308
+ isAutoincrement: false;
309
+ hasRuntimeDefault: false;
310
+ enumValues: undefined;
311
+ baseColumn: never;
312
+ identity: undefined;
313
+ generated: undefined;
314
+ }, {}, {}>;
315
+ layoutKey: import("drizzle-orm/pg-core").PgColumn<{
316
+ name: "layoutKey";
317
+ tableName: "lobby_layout";
318
+ dataType: "string";
319
+ columnType: "PgText";
320
+ data: string;
321
+ driverParam: string;
322
+ notNull: true;
323
+ hasDefault: true;
324
+ isPrimaryKey: false;
325
+ isAutoincrement: false;
326
+ hasRuntimeDefault: false;
327
+ enumValues: [string, ...string[]];
328
+ baseColumn: never;
329
+ identity: undefined;
330
+ generated: undefined;
331
+ }, {}, {}>;
332
+ version: import("drizzle-orm/pg-core").PgColumn<{
333
+ name: "version";
334
+ tableName: "lobby_layout";
335
+ dataType: "number";
336
+ columnType: "PgInteger";
337
+ data: number;
338
+ driverParam: string | number;
339
+ notNull: true;
340
+ hasDefault: true;
341
+ isPrimaryKey: false;
342
+ isAutoincrement: false;
343
+ hasRuntimeDefault: false;
344
+ enumValues: undefined;
345
+ baseColumn: never;
346
+ identity: undefined;
347
+ generated: undefined;
348
+ }, {}, {}>;
349
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
350
+ name: "updatedAt";
351
+ tableName: "lobby_layout";
352
+ dataType: "date";
353
+ columnType: "PgTimestamp";
354
+ data: Date;
355
+ driverParam: string;
356
+ notNull: true;
357
+ hasDefault: true;
358
+ isPrimaryKey: false;
359
+ isAutoincrement: false;
360
+ hasRuntimeDefault: false;
361
+ enumValues: undefined;
362
+ baseColumn: never;
363
+ identity: undefined;
364
+ generated: undefined;
365
+ }, {}, {}>;
366
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
367
+ name: "createdAt";
368
+ tableName: "lobby_layout";
369
+ dataType: "date";
370
+ columnType: "PgTimestamp";
371
+ data: Date;
372
+ driverParam: string;
373
+ notNull: true;
374
+ hasDefault: true;
375
+ isPrimaryKey: false;
376
+ isAutoincrement: false;
377
+ hasRuntimeDefault: false;
378
+ enumValues: undefined;
379
+ baseColumn: never;
380
+ identity: undefined;
381
+ generated: undefined;
382
+ }, {}, {}>;
383
+ };
384
+ dialect: "pg";
385
+ }>;
386
+ export declare const lobbySection: import("drizzle-orm/pg-core").PgTableWithColumns<{
387
+ name: "lobby_section";
388
+ schema: undefined;
389
+ columns: {
390
+ id: import("drizzle-orm/pg-core").PgColumn<{
391
+ name: "id";
392
+ tableName: "lobby_section";
393
+ dataType: "string";
394
+ columnType: "PgUUID";
395
+ data: string;
396
+ driverParam: string;
397
+ notNull: true;
398
+ hasDefault: true;
399
+ isPrimaryKey: true;
400
+ isAutoincrement: false;
401
+ hasRuntimeDefault: false;
402
+ enumValues: undefined;
403
+ baseColumn: never;
404
+ identity: undefined;
405
+ generated: undefined;
406
+ }, {}, {}>;
407
+ type: import("drizzle-orm/pg-core").PgColumn<{
408
+ name: "type";
409
+ tableName: "lobby_section";
410
+ dataType: "string";
411
+ columnType: "PgText";
412
+ data: string;
413
+ driverParam: string;
414
+ notNull: true;
415
+ hasDefault: false;
416
+ isPrimaryKey: false;
417
+ isAutoincrement: false;
418
+ hasRuntimeDefault: false;
419
+ enumValues: [string, ...string[]];
420
+ baseColumn: never;
421
+ identity: undefined;
422
+ generated: undefined;
423
+ }, {}, {}>;
424
+ config: import("drizzle-orm/pg-core").PgColumn<{
425
+ name: "config";
426
+ tableName: "lobby_section";
427
+ dataType: "json";
428
+ columnType: "PgJsonb";
429
+ data: Record<string, import("zod").JSONType>;
430
+ driverParam: unknown;
431
+ notNull: true;
432
+ hasDefault: false;
433
+ isPrimaryKey: false;
434
+ isAutoincrement: false;
435
+ hasRuntimeDefault: false;
436
+ enumValues: undefined;
437
+ baseColumn: never;
438
+ identity: undefined;
439
+ generated: undefined;
440
+ }, {}, {
441
+ $type: Record<string, import("zod").JSONType>;
442
+ }>;
443
+ sortOrder: import("drizzle-orm/pg-core").PgColumn<{
444
+ name: "sortOrder";
445
+ tableName: "lobby_section";
446
+ dataType: "number";
447
+ columnType: "PgInteger";
448
+ data: number;
449
+ driverParam: string | number;
450
+ notNull: true;
451
+ hasDefault: true;
452
+ isPrimaryKey: false;
453
+ isAutoincrement: false;
454
+ hasRuntimeDefault: false;
455
+ enumValues: undefined;
456
+ baseColumn: never;
457
+ identity: undefined;
458
+ generated: undefined;
459
+ }, {}, {}>;
460
+ isEnabled: import("drizzle-orm/pg-core").PgColumn<{
461
+ name: "isEnabled";
462
+ tableName: "lobby_section";
463
+ dataType: "boolean";
464
+ columnType: "PgBoolean";
465
+ data: boolean;
466
+ driverParam: boolean;
467
+ notNull: true;
468
+ hasDefault: true;
469
+ isPrimaryKey: false;
470
+ isAutoincrement: false;
471
+ hasRuntimeDefault: false;
472
+ enumValues: undefined;
473
+ baseColumn: never;
474
+ identity: undefined;
475
+ generated: undefined;
476
+ }, {}, {}>;
477
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
478
+ name: "updatedAt";
479
+ tableName: "lobby_section";
480
+ dataType: "date";
481
+ columnType: "PgTimestamp";
482
+ data: Date;
483
+ driverParam: string;
484
+ notNull: true;
485
+ hasDefault: true;
486
+ isPrimaryKey: false;
487
+ isAutoincrement: false;
488
+ hasRuntimeDefault: false;
489
+ enumValues: undefined;
490
+ baseColumn: never;
491
+ identity: undefined;
492
+ generated: undefined;
493
+ }, {}, {}>;
494
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
495
+ name: "createdAt";
496
+ tableName: "lobby_section";
497
+ dataType: "date";
498
+ columnType: "PgTimestamp";
499
+ data: Date;
500
+ driverParam: string;
501
+ notNull: true;
502
+ hasDefault: true;
503
+ isPrimaryKey: false;
504
+ isAutoincrement: false;
505
+ hasRuntimeDefault: false;
506
+ enumValues: undefined;
507
+ baseColumn: never;
508
+ identity: undefined;
509
+ generated: undefined;
510
+ }, {}, {}>;
511
+ };
512
+ dialect: "pg";
513
+ }>;
514
+ export type LobbySection = typeof lobbySection.$inferSelect;
515
+ export type LobbyLayout = typeof lobbyLayout.$inferSelect;
294
516
  export type LobbyCategory = typeof lobbyCategory.$inferSelect;
295
517
  export type LobbyCategoryGame = typeof lobbyCategoryGame.$inferSelect;
296
518
  export type FeaturedSlot = typeof featuredSlot.$inferSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/schema/index.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUzB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/schema/index.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUzB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQvB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYvB,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcxB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC1D,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC,YAAY,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACtE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC"}
@@ -1,4 +1,4 @@
1
- import { pgTable, uuid, text, integer, boolean, timestamp, uniqueIndex, index, } from 'drizzle-orm/pg-core';
1
+ import { pgTable, uuid, text, integer, boolean, timestamp, index, uniqueIndex, jsonb, } from 'drizzle-orm/pg-core';
2
2
  export const lobbyCategory = pgTable('lobby_category', {
3
3
  id: uuid().primaryKey().defaultRandom(),
4
4
  name: text().notNull(),
@@ -23,4 +23,24 @@ export const featuredSlot = pgTable('featured_slot', {
23
23
  isActive: boolean().notNull().default(true),
24
24
  createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
25
25
  });
26
+ export const lobbyLayout = pgTable('lobby_layout', {
27
+ id: uuid().primaryKey().defaultRandom(),
28
+ layoutKey: text().notNull().default('global'),
29
+ version: integer().notNull().default(0),
30
+ updatedAt: timestamp({ withTimezone: true })
31
+ .notNull()
32
+ .$onUpdateFn(() => new Date()),
33
+ createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
34
+ }, (t) => [uniqueIndex('lobby_layout_layout_key_key').on(t.layoutKey)]);
35
+ export const lobbySection = pgTable('lobby_section', {
36
+ id: uuid().primaryKey().defaultRandom(),
37
+ type: text().notNull(),
38
+ config: jsonb().$type().notNull(),
39
+ sortOrder: integer().notNull().default(0),
40
+ isEnabled: boolean().notNull().default(true),
41
+ updatedAt: timestamp({ withTimezone: true })
42
+ .notNull()
43
+ .$onUpdateFn(() => new Date()),
44
+ createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
45
+ }, (t) => [index('lobby_section_sort_order_idx').on(t.sortOrder)]);
26
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,OAAO,EACP,SAAS,EACT,WAAW,EACX,KAAK,GACN,MAAM,qBAAqB,CAAC;AAE7B,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,gBAAgB,EAChB;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACtB,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpE,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACtD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CACtC,qBAAqB,EACrB;IACE,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,UAAU,EAAE,IAAI,EAAE;SACf,OAAO,EAAE;SACT,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IAC9D,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACxB,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CAC1C,EACD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAAE;IACnD,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC,aAAa,EAAE;IACvC,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IACvB,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE;IAC3B,SAAS,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE;CACpE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/casino/lobby/schema/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,32 @@
1
- import { DrizzleService } from '@openora/core/server';
2
- import type { CacheAdapter } from '@openora/core/contracts';
1
+ import { type DrizzleService, type EventBus } from '@openora/core/server';
2
+ import type { CacheAdapter, ClientMeta, LobbySectionCatalog, User } from '@openora/core/contracts';
3
+ import type { LobbyAdminLayout, ReplaceLobbyLayoutInput } from '../contract/index.js';
4
+ export declare const LobbySectionNotFoundError: new (id: string) => Error & {
5
+ data?: Record<string, string>;
6
+ };
3
7
  export declare const LobbyCategoryNotFoundError: new (slug: string) => Error & {
4
8
  data?: Record<string, string>;
5
9
  };
10
+ export declare const LobbySectionFieldError: new (message: string) => Error & {
11
+ data?: Record<string, string>;
12
+ };
13
+ export declare const LobbyLayoutVersionConflictError: new (expectedVersion: number, actualVersion: number) => Error & {
14
+ data?: Record<string, string>;
15
+ };
16
+ type Actor = {
17
+ actorId?: User['id'];
18
+ } & ClientMeta;
6
19
  export declare class LobbyService {
7
20
  private readonly drizzle;
21
+ private readonly events;
22
+ private readonly sectionCatalog;
8
23
  private readonly cache?;
9
- constructor(drizzle: DrizzleService, cache?: CacheAdapter | undefined);
24
+ constructor(drizzle: DrizzleService, events: EventBus, sectionCatalog: LobbySectionCatalog, cache?: CacheAdapter | undefined);
25
+ getLayout(): Promise<{
26
+ id: string;
27
+ type: string;
28
+ data: import("zod").JSONType;
29
+ }[]>;
10
30
  listCategories(): Promise<{
11
31
  id: string;
12
32
  name: string;
@@ -72,5 +92,18 @@ export declare class LobbyService {
72
92
  }[];
73
93
  thumbnailUrl: string | null;
74
94
  }[]>;
95
+ getAdminLayout(): Promise<LobbyAdminLayout>;
96
+ replaceLayout(input: ReplaceLobbyLayoutInput & Actor): Promise<LobbyAdminLayout>;
97
+ private loadLayout;
98
+ private resolveSectionGroup;
99
+ private validateSections;
100
+ private parseConfig;
101
+ private groupSections;
102
+ private requireDefinition;
103
+ private loadAdminSections;
104
+ private assertUniqueSectionIds;
105
+ private assertExistingSectionIds;
106
+ private replaceSections;
75
107
  }
108
+ export {};
76
109
  //# sourceMappingURL=lobby.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lobby.service.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/service/lobby.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAU5D,eAAO,MAAM,0BAA0B;QAVoB,CAAC;CAa3D,CAAC;AA2BF,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBADN,OAAO,EAAE,cAAc,EACvB,KAAK,CAAC,EAAE,YAAY,YAAA;IAGjC,cAAc;;;;;;;IA0Bd,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8C7B,WAAW;;;;;;;;;IAyCX,MAAM,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;CAmB3B"}
1
+ {"version":3,"file":"lobby.service.d.ts","sourceRoot":"","sources":["../../../../src/casino/lobby/service/lobby.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAWL,KAAK,cAAc,EAEnB,KAAK,QAAQ,EACd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,mBAAmB,EAOnB,IAAI,EACL,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,gBAAgB,EAGhB,uBAAuB,EACxB,MAAM,sBAAsB,CAAC;AAgB9B,eAAO,MAAM,yBAAyB;QA7CpC,CAAD;CA6CyE,CAAC;AAC3E,eAAO,MAAM,0BAA0B;QA9CrC,CAAD;CAiDA,CAAC;AACF,eAAO,MAAM,sBAAsB;QAlDjC,CAAD;CAqDA,CAAC;AACF,eAAO,MAAM,+BAA+B;QAtD1C,CAAD;CA4DA,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;CACtB,GAAG,UAAU,CAAC;AAyCf,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAHN,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,QAAQ,EAChB,cAAc,EAAE,mBAAmB,EACnC,KAAK,CAAC,EAAE,YAAY,YAAA;IAGjC,SAAS;;;;;IAIT,cAAc;;;;;;;IA0Bd,gBAAgB,CAAC,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4C7B,WAAW;;;;;;;;;IAuCX,MAAM,CAAC,KAAK,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;IAoBpB,cAAc,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAiB3C,aAAa,CAAC,KAAK,EAAE,uBAAuB,GAAG,KAAK,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAmExE,UAAU;YAsBV,mBAAmB;YAuEnB,gBAAgB;IA4B9B,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,iBAAiB;YAUX,iBAAiB;IAW/B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,wBAAwB;YAyBlB,eAAe;CA8B9B"}