@openora/core 0.4.1-canary.21 → 0.4.1-canary.25

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 (122) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/casino/lobby/__tests__/lobby.cache.test.js +1 -1
  3. package/dist/casino/lobby/__tests__/lobby.cache.test.js.map +1 -1
  4. package/dist/cms/__tests__/cms.reads.test.d.ts +2 -0
  5. package/dist/cms/__tests__/cms.reads.test.d.ts.map +1 -0
  6. package/dist/cms/__tests__/{cms.cache.test.js → cms.reads.test.js} +2 -2
  7. package/dist/cms/__tests__/cms.reads.test.js.map +1 -0
  8. package/dist/cms/__tests__/cms.router.test.js +25 -22
  9. package/dist/cms/__tests__/cms.router.test.js.map +1 -1
  10. package/dist/engagement/chat/__tests__/chat.service.test.js +1 -1
  11. package/dist/engagement/chat/__tests__/chat.service.test.js.map +1 -1
  12. package/dist/iam/__tests__/iam.service.test.js +4 -3
  13. package/dist/iam/__tests__/iam.service.test.js.map +1 -1
  14. package/dist/pam/identity/__tests__/identity.rate-limit.test.js +4 -3
  15. package/dist/pam/identity/__tests__/identity.rate-limit.test.js.map +1 -1
  16. package/dist/pam/identity/__tests__/identity.service.test.js +6 -1
  17. package/dist/pam/identity/__tests__/identity.service.test.js.map +1 -1
  18. package/dist/pam/identity/service/identity.service.d.ts.map +1 -1
  19. package/dist/pam/identity/service/identity.service.js +1 -0
  20. package/dist/pam/identity/service/identity.service.js.map +1 -1
  21. package/dist/server/kernel/__tests__/cache.test.js +11 -57
  22. package/dist/server/kernel/__tests__/cache.test.js.map +1 -1
  23. package/dist/server/kernel/__tests__/event-bus.test.js +14 -1
  24. package/dist/server/kernel/__tests__/event-bus.test.js.map +1 -1
  25. package/dist/server/kernel/__tests__/rate-limiter.test.js +3 -45
  26. package/dist/server/kernel/__tests__/rate-limiter.test.js.map +1 -1
  27. package/dist/server/kernel/__tests__/redis-streams-broker.test.d.ts +2 -0
  28. package/dist/server/kernel/__tests__/redis-streams-broker.test.d.ts.map +1 -0
  29. package/dist/server/kernel/__tests__/redis-streams-broker.test.js +293 -0
  30. package/dist/server/kernel/__tests__/redis-streams-broker.test.js.map +1 -0
  31. package/dist/server/kernel/cache.d.ts +0 -12
  32. package/dist/server/kernel/cache.d.ts.map +1 -1
  33. package/dist/server/kernel/cache.js +0 -55
  34. package/dist/server/kernel/cache.js.map +1 -1
  35. package/dist/server/kernel/event-bus.d.ts +1 -16
  36. package/dist/server/kernel/event-bus.d.ts.map +1 -1
  37. package/dist/server/kernel/event-bus.js +3 -32
  38. package/dist/server/kernel/event-bus.js.map +1 -1
  39. package/dist/server/kernel/index.d.ts +4 -6
  40. package/dist/server/kernel/index.d.ts.map +1 -1
  41. package/dist/server/kernel/index.js +4 -6
  42. package/dist/server/kernel/index.js.map +1 -1
  43. package/dist/server/kernel/rate-limiter.d.ts +1 -10
  44. package/dist/server/kernel/rate-limiter.d.ts.map +1 -1
  45. package/dist/server/kernel/rate-limiter.js +0 -38
  46. package/dist/server/kernel/rate-limiter.js.map +1 -1
  47. package/dist/server/kernel/redis-streams-broker.d.ts +65 -0
  48. package/dist/server/kernel/redis-streams-broker.d.ts.map +1 -0
  49. package/dist/server/kernel/redis-streams-broker.js +208 -0
  50. package/dist/server/kernel/redis-streams-broker.js.map +1 -0
  51. package/dist/server/runtime/__tests__/create-app.test.d.ts +2 -0
  52. package/dist/server/runtime/__tests__/create-app.test.d.ts.map +1 -0
  53. package/dist/server/runtime/__tests__/create-app.test.js +60 -0
  54. package/dist/server/runtime/__tests__/create-app.test.js.map +1 -0
  55. package/dist/server/runtime/assert-durable-seams.d.ts +18 -0
  56. package/dist/server/runtime/assert-durable-seams.d.ts.map +1 -0
  57. package/dist/server/runtime/assert-durable-seams.js +32 -0
  58. package/dist/server/runtime/assert-durable-seams.js.map +1 -0
  59. package/dist/server/runtime/create-app.d.ts +15 -9
  60. package/dist/server/runtime/create-app.d.ts.map +1 -1
  61. package/dist/server/runtime/create-app.js +61 -49
  62. package/dist/server/runtime/create-app.js.map +1 -1
  63. package/dist/testing/fakes/__tests__/cache.test.d.ts +2 -0
  64. package/dist/testing/fakes/__tests__/cache.test.d.ts.map +1 -0
  65. package/dist/testing/fakes/__tests__/cache.test.js +89 -0
  66. package/dist/testing/fakes/__tests__/cache.test.js.map +1 -0
  67. package/dist/testing/fakes/__tests__/job-queue.test.d.ts.map +1 -0
  68. package/dist/{server/kernel → testing/fakes}/__tests__/job-queue.test.js +1 -1
  69. package/dist/testing/fakes/__tests__/job-queue.test.js.map +1 -0
  70. package/dist/testing/fakes/__tests__/rate-limiter.test.d.ts +2 -0
  71. package/dist/testing/fakes/__tests__/rate-limiter.test.d.ts.map +1 -0
  72. package/dist/testing/fakes/__tests__/rate-limiter.test.js +83 -0
  73. package/dist/testing/fakes/__tests__/rate-limiter.test.js.map +1 -0
  74. package/dist/testing/fakes/__tests__/realtime-authorizer.test.d.ts.map +1 -0
  75. package/dist/{server/kernel → testing/fakes}/__tests__/realtime-authorizer.test.js.map +1 -1
  76. package/dist/testing/fakes/__tests__/realtime-transport.test.d.ts.map +1 -0
  77. package/dist/{server/kernel → testing/fakes}/__tests__/realtime-transport.test.js.map +1 -1
  78. package/dist/testing/fakes/cache.d.ts +14 -0
  79. package/dist/testing/fakes/cache.d.ts.map +1 -0
  80. package/dist/testing/fakes/cache.js +56 -0
  81. package/dist/testing/fakes/cache.js.map +1 -0
  82. package/dist/testing/fakes/event-bus.d.ts +17 -0
  83. package/dist/testing/fakes/event-bus.d.ts.map +1 -0
  84. package/dist/testing/fakes/event-bus.js +30 -0
  85. package/dist/testing/fakes/event-bus.js.map +1 -0
  86. package/dist/{server/kernel → testing/fakes}/job-queue.d.ts +9 -9
  87. package/dist/{server/kernel → testing/fakes}/job-queue.d.ts.map +1 -1
  88. package/dist/{server/kernel → testing/fakes}/job-queue.js +9 -9
  89. package/dist/{server/kernel → testing/fakes}/job-queue.js.map +1 -1
  90. package/dist/testing/fakes/rate-limiter.d.ts +11 -0
  91. package/dist/testing/fakes/rate-limiter.d.ts.map +1 -0
  92. package/dist/testing/fakes/rate-limiter.js +39 -0
  93. package/dist/testing/fakes/rate-limiter.js.map +1 -0
  94. package/dist/{server/kernel → testing/fakes}/realtime-authorizer.d.ts.map +1 -1
  95. package/dist/{server/kernel → testing/fakes}/realtime-authorizer.js.map +1 -1
  96. package/dist/{server/kernel → testing/fakes}/realtime-transport.d.ts.map +1 -1
  97. package/dist/{server/kernel → testing/fakes}/realtime-transport.js +3 -1
  98. package/dist/testing/fakes/realtime-transport.js.map +1 -0
  99. package/dist/testing/index.d.ts +7 -0
  100. package/dist/testing/index.d.ts.map +1 -0
  101. package/dist/testing/index.js +11 -0
  102. package/dist/testing/index.js.map +1 -0
  103. package/dist/wallet/__tests__/wallet.rate-limit.test.js +1 -1
  104. package/dist/wallet/__tests__/wallet.rate-limit.test.js.map +1 -1
  105. package/package.json +6 -1
  106. package/turbo-generators/src/templates/module/agents.hbs +16 -57
  107. package/dist/cms/__tests__/cms.cache.test.d.ts +0 -2
  108. package/dist/cms/__tests__/cms.cache.test.d.ts.map +0 -1
  109. package/dist/cms/__tests__/cms.cache.test.js.map +0 -1
  110. package/dist/server/kernel/__tests__/job-queue.test.d.ts.map +0 -1
  111. package/dist/server/kernel/__tests__/job-queue.test.js.map +0 -1
  112. package/dist/server/kernel/__tests__/realtime-authorizer.test.d.ts.map +0 -1
  113. package/dist/server/kernel/__tests__/realtime-transport.test.d.ts.map +0 -1
  114. package/dist/server/kernel/realtime-transport.js.map +0 -1
  115. /package/dist/{server/kernel → testing/fakes}/__tests__/job-queue.test.d.ts +0 -0
  116. /package/dist/{server/kernel → testing/fakes}/__tests__/realtime-authorizer.test.d.ts +0 -0
  117. /package/dist/{server/kernel → testing/fakes}/__tests__/realtime-authorizer.test.js +0 -0
  118. /package/dist/{server/kernel → testing/fakes}/__tests__/realtime-transport.test.d.ts +0 -0
  119. /package/dist/{server/kernel → testing/fakes}/__tests__/realtime-transport.test.js +0 -0
  120. /package/dist/{server/kernel → testing/fakes}/realtime-authorizer.d.ts +0 -0
  121. /package/dist/{server/kernel → testing/fakes}/realtime-authorizer.js +0 -0
  122. /package/dist/{server/kernel → testing/fakes}/realtime-transport.d.ts +0 -0
@@ -0,0 +1,39 @@
1
+ const SWEEP_INTERVAL_MS = 60_000;
2
+ export class InProcessRateLimiter {
3
+ windows = new Map();
4
+ sweeper;
5
+ constructor() {
6
+ this.sweeper = setInterval(() => this.sweep(), SWEEP_INTERVAL_MS);
7
+ this.sweeper.unref?.();
8
+ }
9
+ consume(key, opts) {
10
+ const now = Date.now();
11
+ const existing = this.windows.get(key);
12
+ if (!existing || now >= existing.resetAt) {
13
+ this.windows.set(key, { count: 1, resetAt: now + opts.windowMs });
14
+ return Promise.resolve({ allowed: true, retryAfterMs: 0 });
15
+ }
16
+ if (existing.count < opts.limit) {
17
+ existing.count += 1;
18
+ return Promise.resolve({ allowed: true, retryAfterMs: 0 });
19
+ }
20
+ return Promise.resolve({ allowed: false, retryAfterMs: existing.resetAt - now });
21
+ }
22
+ reset(key) {
23
+ this.windows.delete(key);
24
+ return Promise.resolve();
25
+ }
26
+ sweep() {
27
+ const now = Date.now();
28
+ for (const [key, window] of this.windows) {
29
+ if (now >= window.resetAt) {
30
+ this.windows.delete(key);
31
+ }
32
+ }
33
+ }
34
+ close() {
35
+ clearInterval(this.sweeper);
36
+ this.windows.clear();
37
+ }
38
+ }
39
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../src/testing/fakes/rate-limiter.ts"],"names":[],"mappings":"AAkBA,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,MAAM,OAAO,oBAAoB;IACd,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IACpC,OAAO,CAAiC;IAEzD;QACE,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,iBAAiB,CAAC,CAAC;QAClE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,GAAW,EAAE,IAAsB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,QAAQ,IAAI,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAClE,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;YACpB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEO,KAAK;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK;QACH,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-authorizer.d.ts","sourceRoot":"","sources":["../../../src/server/kernel/realtime-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAMjC,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,mBAAoB,YAAW,wBAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,GAAE,0BAA+B;IAIpD,UAAU,CAAC,KAAK,EAAE,6BAA6B,GAAG,uBAAuB;CAG1E"}
1
+ {"version":3,"file":"realtime-authorizer.d.ts","sourceRoot":"","sources":["../../../src/testing/fakes/realtime-authorizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAOjC,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,qBAAa,mBAAoB,YAAW,wBAAwB;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,GAAE,0BAA+B;IAIpD,UAAU,CAAC,KAAK,EAAE,6BAA6B,GAAG,uBAAuB;CAG1E"}
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-authorizer.js","sourceRoot":"","sources":["../../../src/server/kernel/realtime-authorizer.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,mBAAmB;IACb,UAAU,CAAS;IAEpC,YAAY,UAAsC,EAAE;QAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,KAAoC;QAC7C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACpF,CAAC;CACF"}
1
+ {"version":3,"file":"realtime-authorizer.js","sourceRoot":"","sources":["../../../src/testing/fakes/realtime-authorizer.ts"],"names":[],"mappings":"AAeA,MAAM,OAAO,mBAAmB;IACb,UAAU,CAAS;IAEpC,YAAY,UAAsC,EAAE;QAClD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC;IACzD,CAAC;IAED,UAAU,CAAC,KAAoC;QAC7C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IACpF,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"realtime-transport.d.ts","sourceRoot":"","sources":["../../../src/server/kernel/realtime-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA8BnF,qBAAa,0BAA2B,YAAW,iBAAiB;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAA2B;IAE9D,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAe3C,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAevE"}
1
+ {"version":3,"file":"realtime-transport.d.ts","sourceRoot":"","sources":["../../../src/testing/fakes/realtime-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAgCnF,qBAAa,0BAA2B,YAAW,iBAAiB;IAClE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAA2B;IAE9D,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAe3C,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;CAevE"}
@@ -19,7 +19,9 @@ class InProcessPresence {
19
19
  return this.members.get(channel)?.size ?? 0;
20
20
  }
21
21
  }
22
- // Reference adoption: chat message fan-out + big-win feed. See ADR-0007.
22
+ // Test-only `REALTIME_TRANSPORT` double. Production leaves this seam lazy - it
23
+ // throws on first use until an overlay binds a managed vendor (Ably/GetStream).
24
+ // See ADR-0007.
23
25
  export class InProcessRealtimeTransport {
24
26
  channels = new Map();
25
27
  presence = new InProcessPresence();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realtime-transport.js","sourceRoot":"","sources":["../../../src/testing/fakes/realtime-transport.ts"],"names":[],"mappings":"AAIA,MAAM,iBAAiB;IACJ,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE1D,IAAI,CAAC,OAAe,EAAE,QAAgB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,QAAgB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,+EAA+E;AAC/E,gFAAgF;AAChF,gBAAgB;AAChB,MAAM,OAAO,0BAA0B;IACpB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACnD,QAAQ,GAAqB,IAAI,iBAAiB,EAAE,CAAC;IAE9D,OAAO,CAAI,OAAe,EAAE,KAAQ;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,gFAAgF;QAChF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAI,OAAe,EAAE,OAA2B;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAW,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,OAAkB,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,7 @@
1
+ export { InMemoryBroker } from './fakes/event-bus.js';
2
+ export { InProcessRateLimiter } from './fakes/rate-limiter.js';
3
+ export { InProcessCache } from './fakes/cache.js';
4
+ export { InProcessJobQueue } from './fakes/job-queue.js';
5
+ export { InProcessRealtimeTransport } from './fakes/realtime-transport.js';
6
+ export { SseClientAuthorizer, type SseClientAuthorizerOptions, } from './fakes/realtime-authorizer.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,mBAAmB,EACnB,KAAK,0BAA0B,GAChC,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,11 @@
1
+ // @openora/core/testing - test-only doubles for the seams that require a durable
2
+ // binding in production (ADR-0030). `createApp` no longer ships these on the
3
+ // production path; `bootTestApp` (@openora/testing) and core's own unit tests bind
4
+ // them explicitly via a `configure` callback so the suite still runs with zero infra.
5
+ export { InMemoryBroker } from './fakes/event-bus.js';
6
+ export { InProcessRateLimiter } from './fakes/rate-limiter.js';
7
+ export { InProcessCache } from './fakes/cache.js';
8
+ export { InProcessJobQueue } from './fakes/job-queue.js';
9
+ export { InProcessRealtimeTransport } from './fakes/realtime-transport.js';
10
+ export { SseClientAuthorizer, } from './fakes/realtime-authorizer.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,6EAA6E;AAC7E,mFAAmF;AACnF,sFAAsF;AACtF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
- import { InProcessRateLimiter } from '@openora/core/server';
2
+ import { InProcessRateLimiter } from '@openora/core/testing';
3
3
  import { mock, mockDb } from '../../testing/mock.js';
4
4
  import { WalletService } from '../service/wallet.service.js';
5
5
  const drizzle = mockDb({});
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.rate-limit.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet.rate-limit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAiB,MAAM,sBAAsB,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3B,MAAM,MAAM,GAAG,IAAI,CAAW,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,IAAI,CAAiB,EAAE,CAAC,CAAC;AACzC,MAAM,KAAK,GAAG,IAAI,CAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAExD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC1F,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;SAC3C,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,oFAAoF;QACpF,2EAA2E;QAC3E,MAAM,MAAM,CACV,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC/D,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC1B,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"wallet.rate-limit.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet.rate-limit.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC3B,MAAM,MAAM,GAAG,IAAI,CAAW,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,IAAI,CAAiB,EAAE,CAAC,CAAC;AACzC,MAAM,KAAK,GAAG,IAAI,CAAiB,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAExD,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;YAC1F,IAAI,EAAE,mBAAmB;YACzB,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;SAC3C,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,OAAO,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,oFAAoF;QACpF,2EAA2E;QAC3E,MAAM,MAAM,CACV,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAC/D,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;YAC1B,IAAI,EAAE,mBAAmB;SAC1B,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openora/core",
3
- "version": "0.4.1-canary.21",
3
+ "version": "0.4.1-canary.25",
4
4
  "description": "Open-source, headless, plugin-based, AI-native iGaming framework - domain modules, plugin engine, Zod-first contracts, typed React SDK",
5
5
  "keywords": [
6
6
  "ai-native",
@@ -65,6 +65,11 @@
65
65
  "require": "./dist/server/db/migrate.js",
66
66
  "types": "./dist/server/db/migrate.d.ts"
67
67
  },
68
+ "./testing": {
69
+ "import": "./dist/testing/index.js",
70
+ "require": "./dist/testing/index.js",
71
+ "types": "./dist/testing/index.d.ts"
72
+ },
68
73
  "./compliance": {
69
74
  "import": "./dist/compliance.js",
70
75
  "require": "./dist/compliance.js",
@@ -1,67 +1,26 @@
1
- # {{pascalCase name}} Add-on - AGENTS.md
1
+ # {{kebabCase name}}
2
2
 
3
- Generated by `pnpm gen module {{group}} {{kebabCase name}}`. A standalone `@openora-addons/{{kebabCase name}}`
4
- package. The scaffold ships a working `list` route end to end; extend it, then fill in the
5
- sections below before opening a PR.
3
+ <!-- One paragraph: what business domain this module owns and the one design decision a reader
4
+ must know. Point at where facts live instead of re-listing them - routes and schemas are in
5
+ `contract/` and `schema/index.ts` (or `list-routes module={{kebabCase name}}`), events in
6
+ `domainEventSchemas`. -->
6
7
 
7
- ## What this add-on does
8
+ This file holds ONLY what code can't say: invariants, rationale, gotchas, extension seams,
9
+ where-to-look pointers. Never route/table/layout/event listings - they duplicate `contract/`,
10
+ `schema/`, `docs/catalog.json` and drift.
8
11
 
9
- <!-- One paragraph: what business domain does this own? What problem does it solve? -->
12
+ ## Invariants
10
13
 
11
- ## Layout (a standalone package under `packages/addons/{{kebabCase name}}/`)
12
-
13
- | Layer | File | Holds |
14
- |---|---|---|
15
- | schema | `src/schema/index.ts` | Drizzle `pgTable`s + row types (`$inferSelect`). Every table carries `tenantId`. |
16
- | service | `src/service/{{kebabCase name}}.service.ts` | ALL business logic; emits events after DB commit; money in `db.transaction` |
17
- | router | `src/router/index.ts` | thin oRPC wiring: resolve caller, call service, `mapErrors` |
18
- | plugin | `src/plugin.ts` | DI wiring only: `ctx.routers.add(...)`, `ctx.provide(...)` |
19
-
20
- This is a CORE add-on: its contract slice lives in `packages/contracts/orpc-contract/src/{{kebabCase name}}.ts`
21
- (the source of truth for shapes) and its migrations are generated centrally from
22
- `packages/platform/db` (the scaffolder adds the schema glob there). The router does
23
- `implement(contract.{{camelCase name}})`. Registered with NO `kind` in `extensions.config.ts`,
24
- so it always loads.
14
+ <!-- Money/authz/idempotency/ordering rules the code enforces but a reader could miss:
15
+ fail-closed branches, DB guards, race windows accepted by design, "X is the single
16
+ writer of Y". Delete the section if the module honestly has none yet. -->
25
17
 
26
18
  ## Extension points
27
19
 
28
- ### Ports (adapter interfaces)
29
- Define the vendor interface + DI token in `@openora/adapters`
30
- (`packages/contracts/adapters/src/<category>.ts`) via `createToken<T>('NAME')`, implement it
31
- under `src/adapters/<vendor>/`, and bind it in `plugin.ts` with
32
- `ctx.provide(TOKEN, () => new Impl())`. Services depend on the port, never on the container.
33
-
34
- | Interface | Token | Purpose |
35
- |---|---|---|
36
- | <!-- `{{pascalCase name}}Provider` --> | <!-- `{{constantCase name}}_PROVIDER` --> | <!-- external calls --> |
37
-
38
- ### Events emitted (declare payloads in `@openora/shared-schemas` events.ts via `pnpm gen event <topic>`)
39
- | Topic | Payload | When |
40
- |---|---|---|
41
- | <!-- `{{kebabCase name}}.created` --> | <!-- `{ id, tenantId }` --> | <!-- after insert commit --> |
42
-
43
- ### oRPC routes
44
- | Procedure | Method | Path | Admin? |
45
- |---|---|---|---|
46
- | `{{camelCase name}}.list` | GET | `/{{kebabCase name}}` | no |
47
-
48
- ## Do
49
-
50
- - Put business logic in `src/service/{{kebabCase name}}.service.ts`; keep the router thin.
51
- - Define new shapes in the contract slice; derive variants with `.pick()/.omit()/.extend()`.
52
- - New Drizzle tables in `src/schema/index.ts` (always with `tenantId`), then `pnpm regen`.
53
- - Add routes with `pnpm gen route {{kebabCase name}} <METHOD> <path>`; admin handlers call
54
- `await adminGuard.assert(context)` first (the plugin passes `c.get(ADMIN_GUARD)` to the factory).
55
- - Cross-module reads: import another add-on's tables via `@openora-addons/<name>/schema`
56
- (read-only). For synchronous money/answers use a command port (eg `WALLET_COMMANDS`).
57
- - Emit events AFTER the DB commit via the injected `EventBus`; use `emitInTransaction` for
58
- durable money-critical events.
20
+ <!-- Ports provided/consumed (token + one line on why), events others may react to,
21
+ what an overlay can rebind and where the default binding lives. -->
59
22
 
60
23
  ## Don't
61
24
 
62
- - Import another add-on's root or internals (lint errors). Talk via events / command ports /
63
- contracts / the `/schema` subpath.
64
- - Call a vendor SDK / `fetch` directly - define a port + adapter.
65
- - Throw HTTP errors from the service - throw domain errors, map them in the router.
66
- - Import another `@openora-addons/*` package (cross-add-on imports are lint errors).
67
- - Define ad-hoc Zod in `router/` or use `any` (both lint-enforced).
25
+ <!-- Module-specific bans only - global rules (cross-module imports, float money,
26
+ inline Zod in routers) are lint-enforced already; don't repeat them. -->
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cms.cache.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cms.cache.test.d.ts","sourceRoot":"","sources":["../../../src/cms/__tests__/cms.cache.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"cms.cache.test.js","sourceRoot":"","sources":["../../../src/cms/__tests__/cms.cache.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-queue.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/job-queue.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"job-queue.test.js","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/job-queue.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"realtime-authorizer.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/realtime-authorizer.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"realtime-transport.test.d.ts","sourceRoot":"","sources":["../../../../src/server/kernel/__tests__/realtime-transport.test.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"realtime-transport.js","sourceRoot":"","sources":["../../../src/server/kernel/realtime-transport.ts"],"names":[],"mappings":"AAIA,MAAM,iBAAiB;IACJ,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE1D,IAAI,CAAC,OAAe,EAAE,QAAgB;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC3D,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,QAAgB;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;QACT,CAAC;QACD,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,yEAAyE;AACzE,MAAM,OAAO,0BAA0B;IACpB,QAAQ,GAAG,IAAI,GAAG,EAAwB,CAAC;IACnD,QAAQ,GAAqB,IAAI,iBAAiB,EAAE,CAAC;IAE9D,OAAO,CAAI,OAAe,EAAE,KAAQ;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,gFAAgF;QAChF,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,sDAAsD;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,SAAS,CAAI,OAAe,EAAE,OAA2B;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAW,CAAC;QAC7D,GAAG,CAAC,GAAG,CAAC,OAAkB,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,EAAE;YACV,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,OAAkB,CAAC,CAAC;YACnC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF"}