@openora/core 0.4.1-canary.57 → 0.4.1-canary.59

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 (260) hide show
  1. package/README.md +10 -10
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/admin-console/plugin.d.ts +107 -1
  4. package/dist/admin-console/plugin.d.ts.map +1 -1
  5. package/dist/admin-console/plugin.js +3 -3
  6. package/dist/admin-console/plugin.js.map +1 -1
  7. package/dist/analytics/plugin.d.ts +107 -1
  8. package/dist/analytics/plugin.d.ts.map +1 -1
  9. package/dist/analytics/plugin.js +3 -3
  10. package/dist/analytics/plugin.js.map +1 -1
  11. package/dist/audit/plugin.d.ts +106 -1
  12. package/dist/audit/plugin.d.ts.map +1 -1
  13. package/dist/audit/plugin.js +3 -3
  14. package/dist/audit/plugin.js.map +1 -1
  15. package/dist/casino/gaming/plugin.d.ts +108 -1
  16. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  17. package/dist/casino/gaming/plugin.js +3 -3
  18. package/dist/casino/gaming/plugin.js.map +1 -1
  19. package/dist/casino/lobby/plugin.d.ts +106 -1
  20. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  21. package/dist/casino/lobby/plugin.js +3 -3
  22. package/dist/casino/lobby/plugin.js.map +1 -1
  23. package/dist/cms/plugin.d.ts +106 -1
  24. package/dist/cms/plugin.d.ts.map +1 -1
  25. package/dist/cms/plugin.js +3 -3
  26. package/dist/cms/plugin.js.map +1 -1
  27. package/dist/compliance/plugin.d.ts +109 -1
  28. package/dist/compliance/plugin.d.ts.map +1 -1
  29. package/dist/compliance/plugin.js +3 -3
  30. package/dist/compliance/plugin.js.map +1 -1
  31. package/dist/compliance/service/kyc.service.d.ts +8 -11
  32. package/dist/compliance/service/kyc.service.d.ts.map +1 -1
  33. package/dist/compliance/service/kyc.service.js +8 -11
  34. package/dist/compliance/service/kyc.service.js.map +1 -1
  35. package/dist/contracts/adapters/admin-game-reporting.d.ts +12 -0
  36. package/dist/contracts/adapters/admin-game-reporting.d.ts.map +1 -1
  37. package/dist/contracts/adapters/admin-game-reporting.js +6 -4
  38. package/dist/contracts/adapters/admin-game-reporting.js.map +1 -1
  39. package/dist/contracts/adapters/admin-permission.d.ts +10 -0
  40. package/dist/contracts/adapters/admin-permission.d.ts.map +1 -1
  41. package/dist/contracts/adapters/admin-permission.js +6 -4
  42. package/dist/contracts/adapters/admin-permission.js.map +1 -1
  43. package/dist/contracts/adapters/admin-player-activity.d.ts +22 -0
  44. package/dist/contracts/adapters/admin-player-activity.d.ts.map +1 -1
  45. package/dist/contracts/adapters/admin-player-activity.js.map +1 -1
  46. package/dist/contracts/adapters/admin-user-directory.d.ts +27 -0
  47. package/dist/contracts/adapters/admin-user-directory.d.ts.map +1 -1
  48. package/dist/contracts/adapters/admin-user-directory.js.map +1 -1
  49. package/dist/contracts/adapters/admin-wallet-reporting.d.ts +6 -0
  50. package/dist/contracts/adapters/admin-wallet-reporting.d.ts.map +1 -1
  51. package/dist/contracts/adapters/admin-wallet-reporting.js.map +1 -1
  52. package/dist/contracts/adapters/aggregator.d.ts +12 -0
  53. package/dist/contracts/adapters/aggregator.d.ts.map +1 -1
  54. package/dist/contracts/adapters/aggregator.js +5 -3
  55. package/dist/contracts/adapters/aggregator.js.map +1 -1
  56. package/dist/contracts/adapters/audit.d.ts +17 -0
  57. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  58. package/dist/contracts/adapters/audit.js.map +1 -1
  59. package/dist/contracts/adapters/broker.d.ts +23 -0
  60. package/dist/contracts/adapters/broker.d.ts.map +1 -1
  61. package/dist/contracts/adapters/broker.js +8 -6
  62. package/dist/contracts/adapters/broker.js.map +1 -1
  63. package/dist/contracts/adapters/cache.d.ts +8 -0
  64. package/dist/contracts/adapters/cache.d.ts.map +1 -1
  65. package/dist/contracts/adapters/cache.js +8 -6
  66. package/dist/contracts/adapters/cache.js.map +1 -1
  67. package/dist/contracts/adapters/chat-block-writer.d.ts +4 -0
  68. package/dist/contracts/adapters/chat-block-writer.d.ts.map +1 -1
  69. package/dist/contracts/adapters/chat-block-writer.js.map +1 -1
  70. package/dist/contracts/adapters/email-template.d.ts +8 -0
  71. package/dist/contracts/adapters/email-template.d.ts.map +1 -1
  72. package/dist/contracts/adapters/email-template.js +8 -6
  73. package/dist/contracts/adapters/email-template.js.map +1 -1
  74. package/dist/contracts/adapters/email.d.ts +7 -0
  75. package/dist/contracts/adapters/email.d.ts.map +1 -1
  76. package/dist/contracts/adapters/email.js +7 -5
  77. package/dist/contracts/adapters/email.js.map +1 -1
  78. package/dist/contracts/adapters/game.d.ts +4 -0
  79. package/dist/contracts/adapters/game.d.ts.map +1 -1
  80. package/dist/contracts/adapters/game.js +4 -2
  81. package/dist/contracts/adapters/game.js.map +1 -1
  82. package/dist/contracts/adapters/geo-ip.d.ts +4 -0
  83. package/dist/contracts/adapters/geo-ip.d.ts.map +1 -1
  84. package/dist/contracts/adapters/geo-ip.js +4 -2
  85. package/dist/contracts/adapters/geo-ip.js.map +1 -1
  86. package/dist/contracts/adapters/identity.d.ts +4 -0
  87. package/dist/contracts/adapters/identity.d.ts.map +1 -1
  88. package/dist/contracts/adapters/identity.js +4 -2
  89. package/dist/contracts/adapters/identity.js.map +1 -1
  90. package/dist/contracts/adapters/index.d.ts +7 -1
  91. package/dist/contracts/adapters/index.d.ts.map +1 -1
  92. package/dist/contracts/adapters/index.js +6 -4
  93. package/dist/contracts/adapters/index.js.map +1 -1
  94. package/dist/contracts/adapters/job-queue.d.ts +55 -0
  95. package/dist/contracts/adapters/job-queue.d.ts.map +1 -1
  96. package/dist/contracts/adapters/job-queue.js +11 -9
  97. package/dist/contracts/adapters/job-queue.js.map +1 -1
  98. package/dist/contracts/adapters/login-enforcement.d.ts +8 -0
  99. package/dist/contracts/adapters/login-enforcement.d.ts.map +1 -1
  100. package/dist/contracts/adapters/login-enforcement.js +8 -6
  101. package/dist/contracts/adapters/login-enforcement.js.map +1 -1
  102. package/dist/contracts/adapters/notification.d.ts +7 -0
  103. package/dist/contracts/adapters/notification.d.ts.map +1 -1
  104. package/dist/contracts/adapters/notification.js +7 -5
  105. package/dist/contracts/adapters/notification.js.map +1 -1
  106. package/dist/contracts/adapters/outbox.d.ts +14 -0
  107. package/dist/contracts/adapters/outbox.d.ts.map +1 -1
  108. package/dist/contracts/adapters/outbox.js +14 -12
  109. package/dist/contracts/adapters/outbox.js.map +1 -1
  110. package/dist/contracts/adapters/payment.d.ts +5 -0
  111. package/dist/contracts/adapters/payment.d.ts.map +1 -1
  112. package/dist/contracts/adapters/payment.js +5 -3
  113. package/dist/contracts/adapters/payment.js.map +1 -1
  114. package/dist/contracts/adapters/player-tags.d.ts +4 -0
  115. package/dist/contracts/adapters/player-tags.d.ts.map +1 -1
  116. package/dist/contracts/adapters/player-tags.js.map +1 -1
  117. package/dist/contracts/adapters/rate-limit.d.ts +17 -0
  118. package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
  119. package/dist/contracts/adapters/rate-limit.js +9 -6
  120. package/dist/contracts/adapters/rate-limit.js.map +1 -1
  121. package/dist/contracts/adapters/realtime.d.ts +90 -3
  122. package/dist/contracts/adapters/realtime.d.ts.map +1 -1
  123. package/dist/contracts/adapters/realtime.js +24 -22
  124. package/dist/contracts/adapters/realtime.js.map +1 -1
  125. package/dist/contracts/adapters/rng.d.ts +11 -0
  126. package/dist/contracts/adapters/rng.d.ts.map +1 -1
  127. package/dist/contracts/adapters/rng.js +11 -9
  128. package/dist/contracts/adapters/rng.js.map +1 -1
  129. package/dist/contracts/adapters/sms.d.ts +6 -0
  130. package/dist/contracts/adapters/sms.d.ts.map +1 -1
  131. package/dist/contracts/adapters/sms.js +6 -4
  132. package/dist/contracts/adapters/sms.js.map +1 -1
  133. package/dist/contracts/adapters/tag-evaluation-commands.d.ts +10 -0
  134. package/dist/contracts/adapters/tag-evaluation-commands.d.ts.map +1 -1
  135. package/dist/contracts/adapters/tag-evaluation-commands.js +10 -8
  136. package/dist/contracts/adapters/tag-evaluation-commands.js.map +1 -1
  137. package/dist/contracts/adapters/token.d.ts +21 -1
  138. package/dist/contracts/adapters/token.d.ts.map +1 -1
  139. package/dist/contracts/adapters/token.js +6 -4
  140. package/dist/contracts/adapters/token.js.map +1 -1
  141. package/dist/contracts/adapters/wallet-commands.d.ts +4 -0
  142. package/dist/contracts/adapters/wallet-commands.d.ts.map +1 -1
  143. package/dist/contracts/adapters/wallet-commands.js.map +1 -1
  144. package/dist/contracts/schemas/igaming-config.d.ts +25 -1
  145. package/dist/contracts/schemas/igaming-config.d.ts.map +1 -1
  146. package/dist/contracts/schemas/igaming-config.js +2 -1
  147. package/dist/contracts/schemas/igaming-config.js.map +1 -1
  148. package/dist/engagement/chat/plugin.d.ts +107 -1
  149. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  150. package/dist/engagement/chat/plugin.js +3 -3
  151. package/dist/engagement/chat/plugin.js.map +1 -1
  152. package/dist/engagement/chat-commands/plugin.d.ts +107 -1
  153. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  154. package/dist/engagement/chat-commands/plugin.js +3 -3
  155. package/dist/engagement/chat-commands/plugin.js.map +1 -1
  156. package/dist/engagement/notifications/plugin.d.ts +108 -1
  157. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  158. package/dist/engagement/notifications/plugin.js +3 -3
  159. package/dist/engagement/notifications/plugin.js.map +1 -1
  160. package/dist/iam/__tests__/iam.service.int.test.js +49 -1
  161. package/dist/iam/__tests__/iam.service.int.test.js.map +1 -1
  162. package/dist/iam/contract/index.d.ts +10 -0
  163. package/dist/iam/contract/index.d.ts.map +1 -1
  164. package/dist/iam/contract/index.js +4 -0
  165. package/dist/iam/contract/index.js.map +1 -1
  166. package/dist/iam/plugin.d.ts +107 -1
  167. package/dist/iam/plugin.d.ts.map +1 -1
  168. package/dist/iam/plugin.js +5 -5
  169. package/dist/iam/plugin.js.map +1 -1
  170. package/dist/iam/router/index.d.ts +10 -0
  171. package/dist/iam/router/index.d.ts.map +1 -1
  172. package/dist/iam/router/index.js +4 -0
  173. package/dist/iam/router/index.js.map +1 -1
  174. package/dist/iam/service/iam.service.d.ts +11 -3
  175. package/dist/iam/service/iam.service.d.ts.map +1 -1
  176. package/dist/iam/service/iam.service.js +20 -1
  177. package/dist/iam/service/iam.service.js.map +1 -1
  178. package/dist/pam/identity/plugin.d.ts +106 -1
  179. package/dist/pam/identity/plugin.d.ts.map +1 -1
  180. package/dist/pam/identity/plugin.js +3 -3
  181. package/dist/pam/identity/plugin.js.map +1 -1
  182. package/dist/pam/player-management/plugin.d.ts +107 -1
  183. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  184. package/dist/pam/player-management/plugin.js +3 -3
  185. package/dist/pam/player-management/plugin.js.map +1 -1
  186. package/dist/pam/player-management/service/kyc-status-writer.d.ts +1 -1
  187. package/dist/pam/player-management/service/kyc-status-writer.js +1 -1
  188. package/dist/pam/player-note/plugin.d.ts +106 -1
  189. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  190. package/dist/pam/player-note/plugin.js +3 -3
  191. package/dist/pam/player-note/plugin.js.map +1 -1
  192. package/dist/pam/profile/plugin.d.ts +106 -1
  193. package/dist/pam/profile/plugin.d.ts.map +1 -1
  194. package/dist/pam/profile/plugin.js +3 -3
  195. package/dist/pam/profile/plugin.js.map +1 -1
  196. package/dist/pam/tag/plugin.d.ts +107 -1
  197. package/dist/pam/tag/plugin.d.ts.map +1 -1
  198. package/dist/pam/tag/plugin.js +3 -3
  199. package/dist/pam/tag/plugin.js.map +1 -1
  200. package/dist/server/kernel/container.d.ts +6 -7
  201. package/dist/server/kernel/container.d.ts.map +1 -1
  202. package/dist/server/kernel/container.js +3 -0
  203. package/dist/server/kernel/container.js.map +1 -1
  204. package/dist/server/plugin-host/__tests__/core-plugins.test.js +1 -1
  205. package/dist/server/plugin-host/__tests__/core-plugins.test.js.map +1 -1
  206. package/dist/server/plugin-host/__tests__/load-plugins.test.js +10 -1
  207. package/dist/server/plugin-host/__tests__/load-plugins.test.js.map +1 -1
  208. package/dist/server/plugin-host/__tests__/module-registry.test.js.map +1 -1
  209. package/dist/server/plugin-host/__tests__/required-ports.test.js +1 -0
  210. package/dist/server/plugin-host/__tests__/required-ports.test.js.map +1 -1
  211. package/dist/server/plugin-host/__tests__/typed-plugin.test.js +56 -17
  212. package/dist/server/plugin-host/__tests__/typed-plugin.test.js.map +1 -1
  213. package/dist/server/plugin-host/core-plugins.js +19 -19
  214. package/dist/server/plugin-host/core-plugins.js.map +1 -1
  215. package/dist/server/plugin-host/define-plugin.d.ts +20 -21
  216. package/dist/server/plugin-host/define-plugin.d.ts.map +1 -1
  217. package/dist/server/plugin-host/define-plugin.js +1 -8
  218. package/dist/server/plugin-host/define-plugin.js.map +1 -1
  219. package/dist/server/plugin-host/index.d.ts +2 -3
  220. package/dist/server/plugin-host/index.d.ts.map +1 -1
  221. package/dist/server/plugin-host/index.js +1 -2
  222. package/dist/server/plugin-host/index.js.map +1 -1
  223. package/dist/server/plugin-host/load-plugins.d.ts +6 -21
  224. package/dist/server/plugin-host/load-plugins.d.ts.map +1 -1
  225. package/dist/server/plugin-host/load-plugins.js +9 -4
  226. package/dist/server/plugin-host/load-plugins.js.map +1 -1
  227. package/dist/server/plugin-host/module-registry.d.ts +8 -13
  228. package/dist/server/plugin-host/module-registry.d.ts.map +1 -1
  229. package/dist/server/plugin-host/module-registry.js +2 -9
  230. package/dist/server/plugin-host/module-registry.js.map +1 -1
  231. package/dist/server/runtime/__tests__/create-app.test.js +8 -3
  232. package/dist/server/runtime/__tests__/create-app.test.js.map +1 -1
  233. package/dist/server/runtime/core-token-catalog.d.ts +106 -0
  234. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -0
  235. package/dist/server/runtime/core-token-catalog.js +53 -0
  236. package/dist/server/runtime/core-token-catalog.js.map +1 -0
  237. package/dist/server/runtime/create-app.d.ts +3 -14
  238. package/dist/server/runtime/create-app.d.ts.map +1 -1
  239. package/dist/server/runtime/create-app.js +13 -17
  240. package/dist/server/runtime/create-app.js.map +1 -1
  241. package/dist/server/runtime/index.d.ts +2 -3
  242. package/dist/server/runtime/index.d.ts.map +1 -1
  243. package/dist/server/runtime/index.js +0 -2
  244. package/dist/server/runtime/index.js.map +1 -1
  245. package/dist/wallet/plugin.d.ts +107 -1
  246. package/dist/wallet/plugin.d.ts.map +1 -1
  247. package/dist/wallet/plugin.js +3 -3
  248. package/dist/wallet/plugin.js.map +1 -1
  249. package/generators/src/config.ts +1 -28
  250. package/generators/src/templates/adapter.hbs +3 -3
  251. package/generators/src/templates/contract.hbs +1 -1
  252. package/generators/src/templates/job-worker.hbs +3 -3
  253. package/generators/src/templates/module/plugin.hbs +4 -3
  254. package/generators/src/templates/plugin.hbs +3 -3
  255. package/package.json +1 -1
  256. package/dist/server/runtime/openapi.d.ts +0 -15
  257. package/dist/server/runtime/openapi.d.ts.map +0 -1
  258. package/dist/server/runtime/openapi.js +0 -26
  259. package/dist/server/runtime/openapi.js.map +0 -1
  260. package/generators/src/templates/module/agents.hbs +0 -17
@@ -1,15 +1,38 @@
1
+ /**
2
+ * Message-broker seam. The EventBus (@openora/core/server) publishes/subscribes through this
3
+ * adapter, so the inter-module transport is swappable: the default binding is an
4
+ * in-process broker; a downstream operator binds a durable driver (RabbitMQ,
5
+ * Redpanda / Kafka API, NATS JetStream) to MESSAGE_BROKER in an overlay and every
6
+ * event flows through it - no module change. Delivery is at-least-once once a real
7
+ * broker is bound, so consumers must be idempotent. See ADR-0010 and ADR-0016.
8
+ */
1
9
  import { type Token } from './token.js';
10
+ /**
11
+ * On-the-wire envelope that every remote adapter serializes. The EventBus
12
+ * builds this internally; module code never sees it (only the typed payload).
13
+ */
2
14
  export type EventEnvelope<T = unknown> = {
15
+ /** Consumer-side idempotency/dedup key (UUID per emission). */
3
16
  eventId: string;
17
+ /** Domain event name (eg "wallet.deposit.completed"). */
4
18
  topic: string;
19
+ /** The validated event payload (matches domainEventSchemas). */
5
20
  payload: T;
21
+ /** ISO-8601 timestamp of the emission. */
6
22
  occurredAt: string;
23
+ /** Monotonic integer for forward-compat payload evolution. */
7
24
  schemaVersion: number;
25
+ /** Maps to Kafka partition key / RabbitMQ routing key for per-user ordering guarantees. */
8
26
  orderingKey?: string;
27
+ /** Distributed trace correlation ID. */
9
28
  traceId?: string;
10
29
  };
11
30
  export type BrokerHandler = (envelope: EventEnvelope) => void | Promise<void>;
12
31
  export type SubscribeOptions = {
32
+ /**
33
+ * Forward hint for grouped consumers: Kafka consumer group / RabbitMQ queue group.
34
+ * When omitted, the adapter creates an exclusive per-process queue (fan-out).
35
+ */
13
36
  consumerGroup?: string;
14
37
  };
15
38
  export type MessageBrokerAdapter = {
@@ -1 +1 @@
1
- {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/broker.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAarD,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAI9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;IACzF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAiC,CAAC"}
1
+ {"version":3,"file":"broker.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI;IACvC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,OAAO,EAAE,CAAC,CAAC;IACX,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,aAAa,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE9E,MAAM,MAAM,gBAAgB,GAAG;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,MAAM,IAAI,CAAC;IACzF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,oBAAoB,CAAiC,CAAC"}
@@ -1,9 +1,11 @@
1
- // Message-broker seam. The EventBus (@openora/core/server) publishes/subscribes through this
2
- // adapter, so the inter-module transport is swappable: the default binding is an
3
- // in-process broker; a downstream operator binds a durable driver (RabbitMQ,
4
- // Redpanda / Kafka API, NATS JetStream) to MESSAGE_BROKER in an overlay and every
5
- // event flows through it - no module change. Delivery is at-least-once once a real
6
- // broker is bound, so consumers must be idempotent. See ADR-0010 and ADR-0016.
1
+ /**
2
+ * Message-broker seam. The EventBus (@openora/core/server) publishes/subscribes through this
3
+ * adapter, so the inter-module transport is swappable: the default binding is an
4
+ * in-process broker; a downstream operator binds a durable driver (RabbitMQ,
5
+ * Redpanda / Kafka API, NATS JetStream) to MESSAGE_BROKER in an overlay and every
6
+ * event flows through it - no module change. Delivery is at-least-once once a real
7
+ * broker is bound, so consumers must be idempotent. See ADR-0010 and ADR-0016.
8
+ */
7
9
  import { createToken } from './token.js';
8
10
  export const MESSAGE_BROKER = createToken('MESSAGE_BROKER');
9
11
  //# sourceMappingURL=broker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/contracts/adapters/broker.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,iFAAiF;AACjF,6EAA6E;AAC7E,kFAAkF;AAClF,mFAAmF;AACnF,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAqCrD,MAAM,CAAC,MAAM,cAAc,GAAgC,WAAW,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../src/contracts/adapters/broker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAuCrD,MAAM,CAAC,MAAM,cAAc,GAAgC,WAAW,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Cache seam. Hot, non-personalized reads (public catalogue/content feeds) load
3
+ * through this adapter so the backend is swappable: the default binding is an
4
+ * in-process TTL cache (zero deps), process-local so invalidation does NOT
5
+ * propagate across replicas. Set REDIS_URL to bind the shipped Redis reference
6
+ * adapter (cross-replica invalidation) with zero consumer code; rebind CACHE via
7
+ * an overlay for any other backend.
8
+ */
1
9
  import { type Token } from './token.js';
2
10
  export type CacheAdapter = {
3
11
  get<T>(key: string): Promise<T | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/cache.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,YAAY,CAAwB,CAAC"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC5C,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjF,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,YAAY,CAAwB,CAAC"}
@@ -1,9 +1,11 @@
1
- // Cache seam. Hot, non-personalized reads (public catalogue/content feeds) load
2
- // through this adapter so the backend is swappable: the default binding is an
3
- // in-process TTL cache (zero deps), process-local so invalidation does NOT
4
- // propagate across replicas. Set REDIS_URL to bind the shipped Redis reference
5
- // adapter (cross-replica invalidation) with zero consumer code; rebind CACHE via
6
- // an overlay for any other backend.
1
+ /**
2
+ * Cache seam. Hot, non-personalized reads (public catalogue/content feeds) load
3
+ * through this adapter so the backend is swappable: the default binding is an
4
+ * in-process TTL cache (zero deps), process-local so invalidation does NOT
5
+ * propagate across replicas. Set REDIS_URL to bind the shipped Redis reference
6
+ * adapter (cross-replica invalidation) with zero consumer code; rebind CACHE via
7
+ * an overlay for any other backend.
8
+ */
7
9
  import { createToken } from './token.js';
8
10
  export const CACHE = createToken('CACHE');
9
11
  //# sourceMappingURL=cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/contracts/adapters/cache.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,8EAA8E;AAC9E,2EAA2E;AAC3E,+EAA+E;AAC/E,iFAAiF;AACjF,oCAAoC;AACpC,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AASrD,MAAM,CAAC,MAAM,KAAK,GAAwB,WAAW,CAAC,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/contracts/adapters/cache.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AASrD,MAAM,CAAC,MAAM,KAAK,GAAwB,WAAW,CAAC,OAAO,CAAC,CAAC"}
@@ -2,6 +2,10 @@ import { type Token } from './token.js';
2
2
  export type ChatBlockWriter = {
3
3
  blockUser(blockerId: string, blockedId: string): Promise<unknown>;
4
4
  ignoreUser(ignorerId: string, ignoredId: string): Promise<unknown>;
5
+ /**
6
+ * Union of blocked + ignored ids for a viewer - chat-commands uses this to keep
7
+ * blocked/ignored players out of player search results.
8
+ */
5
9
  getExcludedUserIds(viewerId: string): Promise<string[]>;
6
10
  };
7
11
  export declare const CHAT_BLOCK_WRITER: Token<ChatBlockWriter>;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-block-writer.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/chat-block-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAGnE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAoC,CAAC"}
1
+ {"version":3,"file":"chat-block-writer.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/chat-block-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAClE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAoC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"chat-block-writer.js","sourceRoot":"","sources":["../../../src/contracts/adapters/chat-block-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAUrD,MAAM,CAAC,MAAM,iBAAiB,GAA2B,WAAW,CAAC,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"chat-block-writer.js","sourceRoot":"","sources":["../../../src/contracts/adapters/chat-block-writer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAYrD,MAAM,CAAC,MAAM,iBAAiB,GAA2B,WAAW,CAAC,mBAAmB,CAAC,CAAC"}
@@ -33,6 +33,14 @@ export type EmailTemplateRenderer = {
33
33
  };
34
34
  };
35
35
  export declare const EMAIL_TEMPLATE_RENDERER: Token<EmailTemplateRenderer>;
36
+ /**
37
+ * Production-safe English-only copy, shared by `DefaultEmailTemplateRenderer`
38
+ * (packages/core/src/pam/identity/adapters/) and the SessionResolver-only createAuth()
39
+ * fallback in server/auth/auth.ts - single source of truth so the two never drift.
40
+ * Openora core intentionally ships English-only; overlays that need other languages
41
+ * replace the renderer via ctx.provide(EMAIL_TEMPLATE_RENDERER, () => new MyRenderer()) -
42
+ * `render`'s `locale` param (sourced from IdentityService.resolveUserLanguage) exists for exactly that seam.
43
+ */
36
44
  export declare const DEFAULT_EMAIL_TEMPLATES: {
37
45
  [K in EmailTemplateKey]: (data: EmailTemplateData[K]) => {
38
46
  subject: string;
@@ -1 +1 @@
1
- {"version":3,"file":"email-template.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/email-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,uBAAuB,GACvB,oBAAoB,GACpB,0BAA0B,GAC1B,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,gBAAgB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,qBAAqB,EAAE;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,wBAAwB,EAAE;QAAE,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3E,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9C,CAAC;AAWF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,CAAC,SAAS,gBAAgB,EAC/B,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,qBAAqB,CACF,CAAC;AAQhE,eAAO,MAAM,uBAAuB,EAAE;KACnC,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAgC3F,CAAC"}
1
+ {"version":3,"file":"email-template.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/email-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,gBAAgB,GACxB,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,uBAAuB,GACvB,oBAAoB,GACpB,0BAA0B,GAC1B,uBAAuB,CAAC;AAE5B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,gBAAgB,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,cAAc,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,qBAAqB,EAAE;QAAE,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC;IAC3C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,wBAAwB,EAAE;QAAE,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3E,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;CAC9C,CAAC;AAWF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,CAAC,CAAC,SAAS,gBAAgB,EAC/B,GAAG,EAAE,CAAC,EACN,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAAK,CAAC,qBAAqB,CACF,CAAC;AAEhE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,EAAE;KACnC,CAAC,IAAI,gBAAgB,GAAG,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAgC3F,CAAC"}
@@ -7,12 +7,14 @@ const formatEmailDate = (value) => value === null
7
7
  timeZone: 'UTC',
8
8
  }).format(value)} UTC`;
9
9
  export const EMAIL_TEMPLATE_RENDERER = createToken('EMAIL_TEMPLATE_RENDERER');
10
- // Production-safe English-only copy, shared by `DefaultEmailTemplateRenderer`
11
- // (packages/core/src/pam/identity/adapters/) and the SessionResolver-only createAuth()
12
- // fallback in server/auth/auth.ts - single source of truth so the two never drift.
13
- // Openora core intentionally ships English-only; overlays that need other languages
14
- // replace the renderer via ctx.provide(EMAIL_TEMPLATE_RENDERER, () => new MyRenderer()) -
15
- // `render`'s `locale` param (sourced from IdentityService.resolveUserLanguage) exists for exactly that seam.
10
+ /**
11
+ * Production-safe English-only copy, shared by `DefaultEmailTemplateRenderer`
12
+ * (packages/core/src/pam/identity/adapters/) and the SessionResolver-only createAuth()
13
+ * fallback in server/auth/auth.ts - single source of truth so the two never drift.
14
+ * Openora core intentionally ships English-only; overlays that need other languages
15
+ * replace the renderer via ctx.provide(EMAIL_TEMPLATE_RENDERER, () => new MyRenderer()) -
16
+ * `render`'s `locale` param (sourced from IdentityService.resolveUserLanguage) exists for exactly that seam.
17
+ */
16
18
  export const DEFAULT_EMAIL_TEMPLATES = {
17
19
  verifyEmail: (data) => ({
18
20
  subject: 'Verify your email',
@@ -1 +1 @@
1
- {"version":3,"file":"email-template.js","sourceRoot":"","sources":["../../../src/contracts/adapters/email-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAqBrD,MAAM,eAAe,GAAG,CAAC,KAAkB,EAAU,EAAE,CACrD,KAAK,KAAK,IAAI;IACZ,CAAC,CAAC,gBAAgB;IAClB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAClC,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAU7B,MAAM,CAAC,MAAM,uBAAuB,GAClC,WAAW,CAAwB,yBAAyB,CAAC,CAAC;AAEhE,8EAA8E;AAC9E,uFAAuF;AACvF,mFAAmF;AACnF,oFAAoF;AACpF,0FAA0F;AAC1F,6GAA6G;AAC7G,MAAM,CAAC,MAAM,uBAAuB,GAEhC;IACF,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,sCAAsC,IAAI,CAAC,GAAG,2BAA2B,IAAI,CAAC,KAAK,EAAE;KAC5F,CAAC;IACF,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,gCAAgC,IAAI,CAAC,GAAG,EAAE;KACjD,CAAC;IACF,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,WAAW,iCAAiC;KAClG,CAAC;IACF,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,wDAAwD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,+DAA+D;KAC7J,CAAC;IACF,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,kEAAkE;KACzE,CAAC;IACF,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,IAAI,CAAC,WAAW;YACpB,CAAC,CAAC,qFAAqF;YACvF,CAAC,CAAC,uCAAuC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,iDAAiD;KAC5H,CAAC;IACF,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,+DAA+D;KACtE,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"email-template.js","sourceRoot":"","sources":["../../../src/contracts/adapters/email-template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAqBrD,MAAM,eAAe,GAAG,CAAC,KAAkB,EAAU,EAAE,CACrD,KAAK,KAAK,IAAI;IACZ,CAAC,CAAC,gBAAgB;IAClB,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;QAClC,SAAS,EAAE,MAAM;QACjB,SAAS,EAAE,OAAO;QAClB,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;AAU7B,MAAM,CAAC,MAAM,uBAAuB,GAClC,WAAW,CAAwB,yBAAyB,CAAC,CAAC;AAEhE;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAEhC;IACF,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,OAAO,EAAE,mBAAmB;QAC5B,IAAI,EAAE,sCAAsC,IAAI,CAAC,GAAG,2BAA2B,IAAI,CAAC,KAAK,EAAE;KAC5F,CAAC;IACF,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC3B,OAAO,EAAE,qBAAqB;QAC9B,IAAI,EAAE,gCAAgC,IAAI,CAAC,GAAG,EAAE;KACjD,CAAC;IACF,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,KAAK,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,aAAa,IAAI,CAAC,WAAW,iCAAiC;KAClG,CAAC;IACF,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,wDAAwD,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,+DAA+D;KAC7J,CAAC;IACF,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,mCAAmC;QAC5C,IAAI,EAAE,kEAAkE;KACzE,CAAC;IACF,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,IAAI,CAAC,WAAW;YACpB,CAAC,CAAC,qFAAqF;YACvF,CAAC,CAAC,uCAAuC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,iDAAiD;KAC5H,CAAC;IACF,qBAAqB,EAAE,GAAG,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,+DAA+D;KACtE,CAAC;CACH,CAAC"}
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Email-send seam. The identity module uses this to deliver password-reset and
3
+ * verification emails. The default implementation delegates to
4
+ * NOTIFICATION_DELIVERY_ADAPTER (log-to-stdout in dev); operators swap it via
5
+ * an overlay: ctx.provide(SEND_EMAIL, () => new MyEmailAdapter())
6
+ * Load your overlay AFTER the identity plugin in extensions.config.ts.
7
+ */
1
8
  import { type Token } from './token.js';
2
9
  export type SendEmailPort = {
3
10
  send(input: {
@@ -1 +1 @@
1
- {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/email.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAAa,CAA4C,CAAC"}
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/email.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,aAAa,CAA4C,CAAC"}
@@ -1,8 +1,10 @@
1
- // Email-send seam. The identity module uses this to deliver password-reset and
2
- // verification emails. The default implementation delegates to
3
- // NOTIFICATION_DELIVERY_ADAPTER (log-to-stdout in dev); operators swap it via
4
- // an overlay: ctx.provide(SEND_EMAIL, () => new MyEmailAdapter())
5
- // Load your overlay AFTER the identity plugin in extensions.config.ts.
1
+ /**
2
+ * Email-send seam. The identity module uses this to deliver password-reset and
3
+ * verification emails. The default implementation delegates to
4
+ * NOTIFICATION_DELIVERY_ADAPTER (log-to-stdout in dev); operators swap it via
5
+ * an overlay: ctx.provide(SEND_EMAIL, () => new MyEmailAdapter())
6
+ * Load your overlay AFTER the identity plugin in extensions.config.ts.
7
+ */
6
8
  import { createToken } from './token.js';
7
9
  export const SEND_EMAIL = createToken('SEND_EMAIL');
8
10
  //# sourceMappingURL=email.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/contracts/adapters/email.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,+DAA+D;AAC/D,8EAA8E;AAC9E,kEAAkE;AAClE,uEAAuE;AACvE,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAMrD,MAAM,CAAC,MAAM,UAAU,GAAyB,WAAW,CAAgB,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../src/contracts/adapters/email.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAMrD,MAAM,CAAC,MAAM,UAAU,GAAyB,WAAW,CAAgB,YAAY,CAAC,CAAC"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Gaming integration seam. A game studio/RGS implements GameAdapter; bind a
3
+ * concrete adapter to GAME_ADAPTER in the module's plugin.ts.
4
+ */
1
5
  import { type Token } from './token.js';
2
6
  export type GameAdapter = {
3
7
  launchGame(gameId: string, userId: string, currency: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/game.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,WAAW,CAA+B,CAAC"}
1
+ {"version":3,"file":"game.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/game.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,CACR,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,WAAW,CAA+B,CAAC"}
@@ -1,5 +1,7 @@
1
- // Gaming integration seam. A game studio/RGS implements GameAdapter; bind a
2
- // concrete adapter to GAME_ADAPTER in the module's plugin.ts.
1
+ /**
2
+ * Gaming integration seam. A game studio/RGS implements GameAdapter; bind a
3
+ * concrete adapter to GAME_ADAPTER in the module's plugin.ts.
4
+ */
3
5
  import { createToken } from './token.js';
4
6
  export const GAME_ADAPTER = createToken('GAME_ADAPTER');
5
7
  //# sourceMappingURL=game.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/contracts/adapters/game.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,8DAA8D;AAC9D,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAWrD,MAAM,CAAC,MAAM,YAAY,GAAuB,WAAW,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"game.js","sourceRoot":"","sources":["../../../src/contracts/adapters/game.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAWrD,MAAM,CAAC,MAAM,YAAY,GAAuB,WAAW,CAAC,cAAc,CAAC,CAAC"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Geo-IP seam. A vendor (eg MaxMind) implements GeoIpAdapter; bind a concrete
3
+ * adapter to GEO_IP_ADAPTER in the compliance module's plugin.ts.
4
+ */
1
5
  import { type Token } from './token.js';
2
6
  export type GeoIpAdapter = {
3
7
  lookup(ipAddress: string): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"geo-ip.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CAAiC,CAAC"}
1
+ {"version":3,"file":"geo-ip.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACpE,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,YAAY,CAAiC,CAAC"}
@@ -1,5 +1,7 @@
1
- // Geo-IP seam. A vendor (eg MaxMind) implements GeoIpAdapter; bind a concrete
2
- // adapter to GEO_IP_ADAPTER in the compliance module's plugin.ts.
1
+ /**
2
+ * Geo-IP seam. A vendor (eg MaxMind) implements GeoIpAdapter; bind a concrete
3
+ * adapter to GEO_IP_ADAPTER in the compliance module's plugin.ts.
4
+ */
3
5
  import { createToken } from './token.js';
4
6
  export const GEO_IP_ADAPTER = createToken('GEO_IP_ADAPTER');
5
7
  //# sourceMappingURL=geo-ip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geo-ip.js","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kEAAkE;AAClE,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAMrD,MAAM,CAAC,MAAM,cAAc,GAAwB,WAAW,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"geo-ip.js","sourceRoot":"","sources":["../../../src/contracts/adapters/geo-ip.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAMrD,MAAM,CAAC,MAAM,cAAc,GAAwB,WAAW,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Identity options token. Downstream operators can provide this to configure
3
+ * identity behaviors such as login rate-limiting/lockouts.
4
+ */
1
5
  import { type Token } from './token.js';
2
6
  export type IdentityLockoutOptions = {
3
7
  enabled?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/identity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,CACF,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC5E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,eAAe,CACF,CAAC"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,sBAAsB,CACF,CAAC;AAE1D,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC5E,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,eAAe,CACF,CAAC"}
@@ -1,5 +1,7 @@
1
- // Identity options token. Downstream operators can provide this to configure
2
- // identity behaviors such as login rate-limiting/lockouts.
1
+ /**
2
+ * Identity options token. Downstream operators can provide this to configure
3
+ * identity behaviors such as login rate-limiting/lockouts.
4
+ */
3
5
  import { createToken } from './token.js';
4
6
  export const IDENTITY_OPTIONS = createToken('IDENTITY_OPTIONS');
5
7
  export const SESSION_COMMANDS = createToken('SESSION_COMMANDS');
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/contracts/adapters/identity.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,2DAA2D;AAC3D,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAarD,MAAM,CAAC,MAAM,gBAAgB,GAC3B,WAAW,CAAyB,kBAAkB,CAAC,CAAC;AAM1D,MAAM,CAAC,MAAM,gBAAgB,GAC3B,WAAW,CAAkB,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/contracts/adapters/identity.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAarD,MAAM,CAAC,MAAM,gBAAgB,GAC3B,WAAW,CAAyB,kBAAkB,CAAC,CAAC;AAM1D,MAAM,CAAC,MAAM,gBAAgB,GAC3B,WAAW,CAAkB,kBAAkB,CAAC,CAAC"}
@@ -1,4 +1,10 @@
1
- export type { AnyToken, Token, SealedToken, ClientPageToken, TokenCatalog, TokenValue, } from './token.js';
1
+ /**
2
+ * @openora/core/contracts - the single home for vendor adapter interfaces (the swap
3
+ * seams). A module's service depends on an adapter interface; an operator binds
4
+ * a concrete implementation to its DI token in the module's plugin.ts. One file
5
+ * per service category. See AGENTS.md "third-party integration" in the decision tree.
6
+ */
7
+ export type { AnyToken, Token, SealedToken, ClientPageToken, TokenCatalog, TokenCatalogValues, TokenValue, } from './token.js';
2
8
  export { createToken, createSealedToken, createClientPageToken } from './token.js';
3
9
  export type { EventEnvelope, MessageBrokerAdapter, BrokerHandler, SubscribeOptions, } from './broker.js';
4
10
  export { MESSAGE_BROKER } from './broker.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
- // @openora/core/contracts - the single home for vendor adapter interfaces (the swap
2
- // seams). A module's service depends on an adapter interface; an operator binds
3
- // a concrete implementation to its DI token in the module's plugin.ts. One file
4
- // per service category. See AGENTS.md "third-party integration" in the decision tree.
1
+ /**
2
+ * @openora/core/contracts - the single home for vendor adapter interfaces (the swap
3
+ * seams). A module's service depends on an adapter interface; an operator binds
4
+ * a concrete implementation to its DI token in the module's plugin.ts. One file
5
+ * per service category. See AGENTS.md "third-party integration" in the decision tree.
6
+ */
5
7
  export { createToken, createSealedToken, createClientPageToken } from './token.js';
6
8
  export { MESSAGE_BROKER } from './broker.js';
7
9
  export { OUTBOX } from './outbox.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAUtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASnC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAS5F,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAS9F,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAS/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAOnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASnC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAazC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAMvC,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAS5F,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAS9F,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAS/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAOnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -1,4 +1,19 @@
1
+ /**
2
+ * Background-job seam. Modules enqueue durable, retryable, schedulable work
3
+ * through this adapter, so the queue driver is swappable: the default binding is
4
+ * an in-process queue (zero dependencies - good for `pnpm dev`, seed and tests);
5
+ * a downstream operator binds a durable driver (BullMQ/Redis is the reference
6
+ * overlay) to JOB_QUEUE without touching modules. Delivery is at-least-once, so
7
+ * handlers MUST be idempotent (use `idempotencyKey` + a DB guard for money jobs).
8
+ * Distinct from MESSAGE_BROKER: the broker is "something happened" fan-out (the
9
+ * EventBus facade); JOB_QUEUE is "execute this unit of work later, with delivery
10
+ * and retry control". See ADR-0014.
11
+ */
1
12
  import { type Token } from './token.js';
13
+ /**
14
+ * A queue name is a branded string so registrations and enqueues line up and a
15
+ * bare string can't be passed by accident.
16
+ */
2
17
  export type QueueName = string & {
3
18
  readonly __brand: 'QueueName';
4
19
  };
@@ -8,50 +23,90 @@ export type BackoffStrategy = {
8
23
  delayMs: number;
9
24
  };
10
25
  export type EnqueueOptions = {
26
+ /**
27
+ * Stable key -> at most one active job with this key (dedupe / idempotency).
28
+ * Drivers map this to BullMQ's jobId. Required-by-convention for money jobs;
29
+ * the handler must STILL guard duplicate execution with a DB unique constraint
30
+ * (queue dedupe alone is insufficient across a partial commit + retry).
31
+ */
11
32
  idempotencyKey?: string;
33
+ /**
34
+ * Fan-in ordering: jobs sharing a key run in order, never concurrently
35
+ * (per-wallet, per-bet). Cross-key jobs still parallelise.
36
+ */
12
37
  orderingKey?: string;
13
38
  delayMs?: number;
39
+ /** Total tries incl. the first (driver default if omitted). */
14
40
  attempts?: number;
15
41
  backoff?: BackoffStrategy;
42
+ /** Lower = sooner; a driver may ignore it. */
16
43
  priority?: number;
44
+ /** Drop the job if not started within this window. */
17
45
  ttlMs?: number;
46
+ /** Tracing/correlation metadata carried verbatim onto JobContext.meta. */
18
47
  meta?: Record<string, string | undefined>;
19
48
  };
20
49
  export type RepeatOptions = {
50
+ /** eg '0 * * * *' (durable drivers only). */
21
51
  cron?: string;
52
+ /** OR a fixed interval. */
22
53
  everyMs?: number;
23
54
  timezone?: string;
24
55
  };
56
+ /**
57
+ * Context handed to a worker handler. `payload` has already been validated by
58
+ * the registration's schema before the handler runs.
59
+ */
25
60
  export type JobContext<T> = {
26
61
  id: string;
27
62
  name: QueueName;
28
63
  payload: T;
64
+ /** 1-based. */
29
65
  attempt: number;
30
66
  enqueuedAt: Date;
67
+ /** Carried metadata (correlationId, idempotencyKey) for tracing. */
31
68
  meta: Record<string, string | undefined>;
32
69
  };
33
70
  export type JobHandler<T> = (ctx: JobContext<T>) => void | Promise<void>;
34
71
  export type WorkerOptions = {
72
+ /** Per-worker parallelism. */
35
73
  concurrency?: number;
74
+ /** Strict per-orderingKey serialization even when concurrency > 1. */
36
75
  serializeByOrderingKey?: boolean;
37
76
  };
77
+ /**
78
+ * A minimal structural validator. A Zod schema (`ZodType<T>`) satisfies this, so
79
+ * callers pass their schema directly - but @openora/core/contracts stays zod-free (every
80
+ * other seam here imports nothing but ./token).
81
+ */
38
82
  export type PayloadSchema<T> = {
39
83
  parse(data: unknown): T;
40
84
  };
85
+ /**
86
+ * What an overlay registers to start consuming a queue. The schema is the
87
+ * payload contract - validated before the handler runs, no vendor type leaks.
88
+ */
41
89
  export type WorkerRegistration<T> = {
42
90
  queue: QueueName;
43
91
  schema: PayloadSchema<T>;
44
92
  handler: JobHandler<T>;
45
93
  options?: WorkerOptions;
94
+ /**
95
+ * Invoked after attempts are exhausted (post-dead-letter hook): alert, persist
96
+ * the poison job, or trigger a compensating action. Never throws into the queue.
97
+ */
46
98
  onDeadLetter?: (ctx: JobContext<T>, error: Error) => void | Promise<void>;
47
99
  };
48
100
  export type JobQueueAdapter = {
49
101
  enqueue<T>(queue: QueueName, payload: T, opts?: EnqueueOptions): Promise<{
50
102
  id: string;
51
103
  }>;
104
+ /** Idempotent registration of a recurring schedule (keyed by queue + scheduleId). */
52
105
  schedule<T>(queue: QueueName, scheduleId: string, payload: T, repeat: RepeatOptions): Promise<void>;
53
106
  unschedule(queue: QueueName, scheduleId: string): Promise<void>;
107
+ /** Start consuming a queue. Called once per worker overlay during boot. */
54
108
  registerWorker<T>(registration: WorkerRegistration<T>): void;
109
+ /** Graceful drain: stop accepting, finish in-flight, close connections. */
55
110
  close(): Promise<void>;
56
111
  };
57
112
  export declare const JOB_QUEUE: Token<JobQueueAdapter>;
@@ -1 +1 @@
1
- {"version":3,"file":"job-queue.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/job-queue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"job-queue.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/job-queue.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
- // Background-job seam. Modules enqueue durable, retryable, schedulable work
2
- // through this adapter, so the queue driver is swappable: the default binding is
3
- // an in-process queue (zero dependencies - good for `pnpm dev`, seed and tests);
4
- // a downstream operator binds a durable driver (BullMQ/Redis is the reference
5
- // overlay) to JOB_QUEUE without touching modules. Delivery is at-least-once, so
6
- // handlers MUST be idempotent (use `idempotencyKey` + a DB guard for money jobs).
7
- // Distinct from MESSAGE_BROKER: the broker is "something happened" fan-out (the
8
- // EventBus facade); JOB_QUEUE is "execute this unit of work later, with delivery
9
- // and retry control". See ADR-0014.
1
+ /**
2
+ * Background-job seam. Modules enqueue durable, retryable, schedulable work
3
+ * through this adapter, so the queue driver is swappable: the default binding is
4
+ * an in-process queue (zero dependencies - good for `pnpm dev`, seed and tests);
5
+ * a downstream operator binds a durable driver (BullMQ/Redis is the reference
6
+ * overlay) to JOB_QUEUE without touching modules. Delivery is at-least-once, so
7
+ * handlers MUST be idempotent (use `idempotencyKey` + a DB guard for money jobs).
8
+ * Distinct from MESSAGE_BROKER: the broker is "something happened" fan-out (the
9
+ * EventBus facade); JOB_QUEUE is "execute this unit of work later, with delivery
10
+ * and retry control". See ADR-0014.
11
+ */
10
12
  import { createToken } from './token.js';
11
13
  export const queue = (name) => name;
12
14
  export const JOB_QUEUE = createToken('JOB_QUEUE');
@@ -1 +1 @@
1
- {"version":3,"file":"job-queue.js","sourceRoot":"","sources":["../../../src/contracts/adapters/job-queue.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,iFAAiF;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,gFAAgF;AAChF,kFAAkF;AAClF,gFAAgF;AAChF,iFAAiF;AACjF,oCAAoC;AACpC,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAKrD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAa,EAAE,CAAC,IAAiB,CAAC;AAmFpE,MAAM,CAAC,MAAM,SAAS,GAA2B,WAAW,CAAC,WAAW,CAAC,CAAC"}
1
+ {"version":3,"file":"job-queue.js","sourceRoot":"","sources":["../../../src/contracts/adapters/job-queue.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAOrD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAa,EAAE,CAAC,IAAiB,CAAC;AAsGpE,MAAM,CAAC,MAAM,SAAS,GAA2B,WAAW,CAAC,WAAW,CAAC,CAAC"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Push port for Responsible-Gambling login enforcement. Owned + bound by the identity
3
+ * module (it owns the `user` table); compliance depends only on this port to block or
4
+ * unblock a player's login, never on the identity schema. `block` also revokes all of
5
+ * the player's active sessions (the RG session-termination requirement). `until: null`
6
+ * means an indefinite block (self-exclusion / permanent); a Date is the cooling-off
7
+ * expiry the login gate auto-clears once elapsed. See ADR-0017.
8
+ */
1
9
  import { type Token } from './token.js';
2
10
  export type LoginEnforcementPort = {
3
11
  block(userId: string, opts: {
@@ -1 +1 @@
1
- {"version":3,"file":"login-enforcement.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/login-enforcement.ts"],"names":[],"mappings":"AAMA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAoC,CAAC"}
1
+ {"version":3,"file":"login-enforcement.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/login-enforcement.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,KAAK,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,oBAAoB,CAAoC,CAAC"}