@pattern-stack/codegen 0.15.2 → 0.16.0

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 (143) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/{chunk-WEVWJKOW.js → chunk-24WXSC3C.js} +10 -10
  3. package/dist/{chunk-KMZCQASO.js → chunk-3RWMQC3K.js} +18 -12
  4. package/dist/chunk-3RWMQC3K.js.map +1 -0
  5. package/dist/{chunk-24CWKBK5.js → chunk-4MF3HKJA.js} +3 -3
  6. package/dist/chunk-4MF3HKJA.js.map +1 -0
  7. package/dist/{chunk-4JLJYWJC.js → chunk-4PFF3ED4.js} +98 -10
  8. package/dist/chunk-4PFF3ED4.js.map +1 -0
  9. package/dist/{chunk-32BMMV4H.js → chunk-5RT7JGKT.js} +5 -5
  10. package/dist/{chunk-JRVNVKN6.js → chunk-BHZP6LOV.js} +2 -2
  11. package/dist/{chunk-4MVGAMUA.js → chunk-BK5ICA2F.js} +4 -4
  12. package/dist/{chunk-4RFHUZXU.js → chunk-BULPAAD3.js} +2 -2
  13. package/dist/{chunk-OZZJDRGW.js → chunk-CEWLVVAH.js} +10 -10
  14. package/dist/{chunk-YTN6BKWA.js → chunk-DRCLNYH7.js} +7 -7
  15. package/dist/{chunk-TNXH7BJS.js → chunk-E45CSC33.js} +2 -2
  16. package/dist/{chunk-L7BNNRGI.js → chunk-EBKVKN75.js} +26 -6
  17. package/dist/chunk-EBKVKN75.js.map +1 -0
  18. package/dist/{chunk-EOLLMEAH.js → chunk-EJBK7I4F.js} +3 -3
  19. package/dist/chunk-EJBK7I4F.js.map +1 -0
  20. package/dist/{chunk-K2I6XIK5.js → chunk-KSTZIULO.js} +4 -4
  21. package/dist/{chunk-Z7PQCAVK.js → chunk-LQ6PYFU6.js} +4 -4
  22. package/dist/chunk-MYQIQ27N.js +118 -0
  23. package/dist/chunk-MYQIQ27N.js.map +1 -0
  24. package/dist/{chunk-5Y7W3XR6.js → chunk-OTR44OH6.js} +24 -5
  25. package/dist/chunk-OTR44OH6.js.map +1 -0
  26. package/dist/{chunk-WPXNN6QS.js → chunk-RUYLXR5F.js} +11 -8
  27. package/dist/chunk-RUYLXR5F.js.map +1 -0
  28. package/dist/{chunk-7LKAMLV4.js → chunk-T6SCOJF4.js} +4 -4
  29. package/dist/{chunk-OGIZXGPY.js → chunk-TDEHU73T.js} +4 -4
  30. package/dist/{chunk-I6MG4M3F.js → chunk-VNBC3VXM.js} +2 -2
  31. package/dist/{chunk-YPWODKD5.js → chunk-W2UIDI3R.js} +5 -5
  32. package/dist/chunk-W4HOHZVF.js +1 -0
  33. package/dist/{chunk-WRUUSZDJ.js → chunk-WWGYCIJX.js} +3 -3
  34. package/dist/{chunk-RC23QROE.js → chunk-XDIIVIIK.js} +79 -5
  35. package/dist/chunk-XDIIVIIK.js.map +1 -0
  36. package/dist/{chunk-DCCZB4UC.js → chunk-XWBK3XJK.js} +4 -4
  37. package/dist/{chunk-SR7F3TJY.js → chunk-YK5JEVLX.js} +4 -4
  38. package/dist/{chunk-4OMHBMZJ.js → chunk-YLPAPPLW.js} +3 -3
  39. package/dist/chunk-YLPAPPLW.js.map +1 -0
  40. package/dist/{chunk-BIO6F7YI.js → chunk-ZPL74UQN.js} +4 -2
  41. package/dist/{chunk-BIO6F7YI.js.map → chunk-ZPL74UQN.js.map} +1 -1
  42. package/dist/runtime/base-classes/index.js +15 -15
  43. package/dist/runtime/shared/openapi/index.js +3 -3
  44. package/dist/runtime/subsystems/auth/auth.module.js +3 -3
  45. package/dist/runtime/subsystems/auth/index.js +7 -7
  46. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.js +3 -3
  47. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js +3 -3
  48. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.d.ts +2 -1
  49. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js +7 -6
  50. package/dist/runtime/subsystems/bridge/bridge.module.js +17 -16
  51. package/dist/runtime/subsystems/bridge/event-flow.service.js +3 -3
  52. package/dist/runtime/subsystems/bridge/index.js +24 -23
  53. package/dist/runtime/subsystems/cache/cache.module.js +1 -1
  54. package/dist/runtime/subsystems/cache/index.js +3 -3
  55. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.d.ts +20 -0
  56. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js +4 -3
  57. package/dist/runtime/subsystems/events/event-bus.memory-backend.js +2 -2
  58. package/dist/runtime/subsystems/events/events.module.d.ts +14 -0
  59. package/dist/runtime/subsystems/events/events.module.js +6 -5
  60. package/dist/runtime/subsystems/events/index.js +9 -8
  61. package/dist/runtime/subsystems/index.d.ts +5 -1
  62. package/dist/runtime/subsystems/index.js +108 -96
  63. package/dist/runtime/subsystems/integration/build-change-source.js +3 -3
  64. package/dist/runtime/subsystems/integration/execute-integration.use-case.js +2 -2
  65. package/dist/runtime/subsystems/integration/index.js +35 -35
  66. package/dist/runtime/subsystems/integration/integration-cursor-store.drizzle-backend.js +2 -2
  67. package/dist/runtime/subsystems/integration/integration-run-recorder.drizzle-backend.js +2 -2
  68. package/dist/runtime/subsystems/integration/integration.module.js +5 -5
  69. package/dist/runtime/subsystems/integration/poll-change-source.d.ts +1 -1
  70. package/dist/runtime/subsystems/integration/poll-change-source.js +1 -1
  71. package/dist/runtime/subsystems/integration/webhook-change-source.d.ts +4 -3
  72. package/dist/runtime/subsystems/integration/webhook-change-source.js +1 -1
  73. package/dist/runtime/subsystems/jobs/index.d.ts +2 -1
  74. package/dist/runtime/subsystems/jobs/index.js +30 -18
  75. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js +3 -2
  76. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js.map +1 -1
  77. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.d.ts +2 -1
  78. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js +3 -2
  79. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js +2 -2
  80. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js +2 -2
  81. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.js +2 -2
  82. package/dist/runtime/subsystems/jobs/job-worker.d.ts +28 -0
  83. package/dist/runtime/subsystems/jobs/job-worker.js +3 -2
  84. package/dist/runtime/subsystems/jobs/job-worker.module.js +9 -8
  85. package/dist/runtime/subsystems/jobs/jobs-domain.module.d.ts +12 -7
  86. package/dist/runtime/subsystems/jobs/jobs-domain.module.js +7 -6
  87. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.d.ts +13 -1
  88. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.js +3 -1
  89. package/dist/runtime/subsystems/jobs/pg-notify.d.ts +85 -0
  90. package/dist/runtime/subsystems/jobs/pg-notify.js +14 -0
  91. package/dist/runtime/subsystems/jobs/pg-notify.js.map +1 -0
  92. package/dist/runtime/subsystems/observability/index.js +7 -7
  93. package/dist/runtime/subsystems/observability/observability.module.js +4 -4
  94. package/dist/runtime/subsystems/observability/observability.service.js +3 -3
  95. package/dist/runtime/subsystems/storage/index.js +4 -4
  96. package/dist/runtime/subsystems/storage/storage.module.js +2 -2
  97. package/dist/src/cli/index.js +57 -19
  98. package/dist/src/cli/index.js.map +1 -1
  99. package/dist/src/index.js +11 -11
  100. package/package.json +1 -1
  101. package/runtime/subsystems/bridge/bridge-outbox-drain-hook.ts +27 -0
  102. package/runtime/subsystems/events/event-bus.drizzle-backend.ts +108 -4
  103. package/runtime/subsystems/events/events.module.ts +14 -0
  104. package/runtime/subsystems/index.ts +27 -0
  105. package/runtime/subsystems/integration/poll-change-source.ts +10 -7
  106. package/runtime/subsystems/integration/webhook-change-source.ts +12 -8
  107. package/runtime/subsystems/jobs/index.ts +10 -0
  108. package/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.ts +29 -2
  109. package/runtime/subsystems/jobs/job-worker.module.ts +11 -0
  110. package/runtime/subsystems/jobs/job-worker.ts +98 -0
  111. package/runtime/subsystems/jobs/jobs-domain.module.ts +22 -7
  112. package/runtime/subsystems/jobs/jobs-domain.tokens.ts +13 -0
  113. package/runtime/subsystems/jobs/pg-notify.ts +216 -0
  114. package/templates/subsystem/events-config/codegen-config-events-block.ejs.t +14 -0
  115. package/templates/subsystem/jobs-config/codegen-config-jobs-block.ejs.t +13 -4
  116. package/dist/chunk-24CWKBK5.js.map +0 -1
  117. package/dist/chunk-4JLJYWJC.js.map +0 -1
  118. package/dist/chunk-4OMHBMZJ.js.map +0 -1
  119. package/dist/chunk-5Y7W3XR6.js.map +0 -1
  120. package/dist/chunk-EOLLMEAH.js.map +0 -1
  121. package/dist/chunk-KMZCQASO.js.map +0 -1
  122. package/dist/chunk-L7BNNRGI.js.map +0 -1
  123. package/dist/chunk-RC23QROE.js.map +0 -1
  124. package/dist/chunk-UTN4GBPQ.js +0 -1
  125. package/dist/chunk-WPXNN6QS.js.map +0 -1
  126. /package/dist/{chunk-WEVWJKOW.js.map → chunk-24WXSC3C.js.map} +0 -0
  127. /package/dist/{chunk-32BMMV4H.js.map → chunk-5RT7JGKT.js.map} +0 -0
  128. /package/dist/{chunk-JRVNVKN6.js.map → chunk-BHZP6LOV.js.map} +0 -0
  129. /package/dist/{chunk-4MVGAMUA.js.map → chunk-BK5ICA2F.js.map} +0 -0
  130. /package/dist/{chunk-4RFHUZXU.js.map → chunk-BULPAAD3.js.map} +0 -0
  131. /package/dist/{chunk-OZZJDRGW.js.map → chunk-CEWLVVAH.js.map} +0 -0
  132. /package/dist/{chunk-YTN6BKWA.js.map → chunk-DRCLNYH7.js.map} +0 -0
  133. /package/dist/{chunk-TNXH7BJS.js.map → chunk-E45CSC33.js.map} +0 -0
  134. /package/dist/{chunk-K2I6XIK5.js.map → chunk-KSTZIULO.js.map} +0 -0
  135. /package/dist/{chunk-Z7PQCAVK.js.map → chunk-LQ6PYFU6.js.map} +0 -0
  136. /package/dist/{chunk-7LKAMLV4.js.map → chunk-T6SCOJF4.js.map} +0 -0
  137. /package/dist/{chunk-OGIZXGPY.js.map → chunk-TDEHU73T.js.map} +0 -0
  138. /package/dist/{chunk-I6MG4M3F.js.map → chunk-VNBC3VXM.js.map} +0 -0
  139. /package/dist/{chunk-YPWODKD5.js.map → chunk-W2UIDI3R.js.map} +0 -0
  140. /package/dist/{chunk-UTN4GBPQ.js.map → chunk-W4HOHZVF.js.map} +0 -0
  141. /package/dist/{chunk-WRUUSZDJ.js.map → chunk-WWGYCIJX.js.map} +0 -0
  142. /package/dist/{chunk-DCCZB4UC.js.map → chunk-XWBK3XJK.js.map} +0 -0
  143. /package/dist/{chunk-SR7F3TJY.js.map → chunk-YK5JEVLX.js.map} +0 -0
@@ -19,10 +19,13 @@ import {
19
19
  } from "../../../chunk-OSQRXVG2.js";
20
20
  import {
21
21
  AuthModule
22
- } from "../../../chunk-7LKAMLV4.js";
22
+ } from "../../../chunk-T6SCOJF4.js";
23
23
  import {
24
24
  EnvEncryptionKey
25
25
  } from "../../../chunk-IP4OO26U.js";
26
+ import {
27
+ AuthController
28
+ } from "../../../chunk-SZVPIHWE.js";
26
29
  import {
27
30
  DrizzleOAuthStateStore
28
31
  } from "../../../chunk-N5OTOWTP.js";
@@ -33,8 +36,8 @@ import {
33
36
  OAuthStateError
34
37
  } from "../../../chunk-BPARRK6F.js";
35
38
  import {
36
- AuthController
37
- } from "../../../chunk-SZVPIHWE.js";
39
+ authOAuthState
40
+ } from "../../../chunk-NPFPZ2HO.js";
38
41
  import {
39
42
  AUTH_CONNECTION_GRANT_SINK,
40
43
  AUTH_CONNECTION_READER,
@@ -45,12 +48,9 @@ import {
45
48
  OAUTH_STATE_STORE,
46
49
  STRATEGY_REGISTRY
47
50
  } from "../../../chunk-6XY6ZMMD.js";
48
- import {
49
- authOAuthState
50
- } from "../../../chunk-NPFPZ2HO.js";
51
51
  import "../../../chunk-GYGNEQSC.js";
52
- import "../../../chunk-ZUKFQL6E.js";
53
52
  import "../../../chunk-U64T4YZE.js";
53
+ import "../../../chunk-ZUKFQL6E.js";
54
54
  import "../../../chunk-2E224ZSN.js";
55
55
  export {
56
56
  AUTH_CONNECTION_GRANT_SINK,
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  BRIDGE_DELIVERY_JOB_TYPE,
3
3
  BridgeDeliveryHandler
4
- } from "../../../chunk-YTN6BKWA.js";
4
+ } from "../../../chunk-DRCLNYH7.js";
5
5
  import "../../../chunk-6DWFJNIK.js";
6
6
  import "../../../chunk-NXXDZ6ZF.js";
7
+ import "../../../chunk-ZPL74UQN.js";
7
8
  import "../../../chunk-CO6LUM72.js";
8
- import "../../../chunk-BIO6F7YI.js";
9
- import "../../../chunk-H5NH7KPE.js";
10
9
  import "../../../chunk-4LH67P4U.js";
10
+ import "../../../chunk-H5NH7KPE.js";
11
11
  import "../../../chunk-GYGNEQSC.js";
12
12
  import "../../../chunk-2E224ZSN.js";
13
13
  export {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  DrizzleBridgeDeliveryRepo
3
- } from "../../../chunk-K2I6XIK5.js";
4
- import "../../../chunk-6DWFJNIK.js";
3
+ } from "../../../chunk-KSTZIULO.js";
5
4
  import "../../../chunk-2TVVBC53.js";
5
+ import "../../../chunk-6DWFJNIK.js";
6
6
  import "../../../chunk-NXXDZ6ZF.js";
7
- import "../../../chunk-4LH67P4U.js";
8
7
  import "../../../chunk-OKXZ63IA.js";
8
+ import "../../../chunk-4LH67P4U.js";
9
9
  import "../../../chunk-OFRRBC7M.js";
10
10
  import "../../../chunk-U64T4YZE.js";
11
11
  import "../../../chunk-2E224ZSN.js";
@@ -9,10 +9,11 @@ import 'drizzle-orm/pg-core';
9
9
 
10
10
  declare class BridgeOutboxDrainHook implements IBridgeOutboxDrainHook {
11
11
  private readonly registry;
12
+ private readonly listenNotify;
12
13
  private readonly logger;
13
14
  private warnedNullDirection;
14
15
  private readonly warnedAuditTypes;
15
- constructor(registry?: BridgeRegistry);
16
+ constructor(registry?: BridgeRegistry, listenNotify?: boolean);
16
17
  processEvent(event: DomainEvent, tx: DrizzleTransaction): Promise<BridgeOutboxDrainResult>;
17
18
  private warnAuditBlockedOnce;
18
19
  private lookupTriggers;
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  BridgeOutboxDrainHook
3
- } from "../../../chunk-L7BNNRGI.js";
4
- import "../../../chunk-YTN6BKWA.js";
5
- import "../../../chunk-6DWFJNIK.js";
3
+ } from "../../../chunk-EBKVKN75.js";
4
+ import "../../../chunk-DRCLNYH7.js";
6
5
  import "../../../chunk-2TVVBC53.js";
6
+ import "../../../chunk-6DWFJNIK.js";
7
7
  import "../../../chunk-NXXDZ6ZF.js";
8
+ import "../../../chunk-ZPL74UQN.js";
8
9
  import "../../../chunk-CO6LUM72.js";
9
- import "../../../chunk-BIO6F7YI.js";
10
- import "../../../chunk-H5NH7KPE.js";
11
- import "../../../chunk-4LH67P4U.js";
12
10
  import "../../../chunk-OKXZ63IA.js";
11
+ import "../../../chunk-MYQIQ27N.js";
12
+ import "../../../chunk-4LH67P4U.js";
13
13
  import "../../../chunk-OFRRBC7M.js";
14
+ import "../../../chunk-H5NH7KPE.js";
14
15
  import "../../../chunk-GYGNEQSC.js";
15
16
  import "../../../chunk-2E224ZSN.js";
16
17
  export {
@@ -1,36 +1,37 @@
1
1
  import {
2
2
  BridgeModule
3
- } from "../../../chunk-OZZJDRGW.js";
3
+ } from "../../../chunk-CEWLVVAH.js";
4
4
  import "../../../chunk-5A432NZJ.js";
5
- import "../../../chunk-L7BNNRGI.js";
6
- import "../../../chunk-32BMMV4H.js";
5
+ import "../../../chunk-5RT7JGKT.js";
7
6
  import "../../../chunk-EDKJU5BO.js";
8
- import "../../../chunk-YTN6BKWA.js";
9
- import "../../../chunk-K2I6XIK5.js";
10
- import "../../../chunk-6DWFJNIK.js";
7
+ import "../../../chunk-KSTZIULO.js";
11
8
  import "../../../chunk-4DOJBQTP.js";
9
+ import "../../../chunk-EBKVKN75.js";
10
+ import "../../../chunk-DRCLNYH7.js";
12
11
  import "../../../chunk-2TVVBC53.js";
12
+ import "../../../chunk-6DWFJNIK.js";
13
13
  import "../../../chunk-NXXDZ6ZF.js";
14
- import "../../../chunk-WPXNN6QS.js";
15
- import "../../../chunk-RC23QROE.js";
16
- import "../../../chunk-KMZCQASO.js";
17
- import "../../../chunk-I6MG4M3F.js";
18
- import "../../../chunk-JRVNVKN6.js";
14
+ import "../../../chunk-RUYLXR5F.js";
15
+ import "../../../chunk-XDIIVIIK.js";
16
+ import "../../../chunk-3RWMQC3K.js";
19
17
  import "../../../chunk-DV4RV2DC.js";
20
- import "../../../chunk-5Y7W3XR6.js";
21
- import "../../../chunk-4RFHUZXU.js";
18
+ import "../../../chunk-OTR44OH6.js";
19
+ import "../../../chunk-BULPAAD3.js";
22
20
  import "../../../chunk-PNZSGAB2.js";
21
+ import "../../../chunk-VNBC3VXM.js";
22
+ import "../../../chunk-BHZP6LOV.js";
23
23
  import "../../../chunk-SNQ3TOWP.js";
24
24
  import "../../../chunk-T4BIIU5E.js";
25
25
  import "../../../chunk-L3LZWWSX.js";
26
26
  import "../../../chunk-I6MVCB5A.js";
27
27
  import "../../../chunk-RHVN6NA7.js";
28
+ import "../../../chunk-ZPL74UQN.js";
28
29
  import "../../../chunk-CO6LUM72.js";
29
- import "../../../chunk-BIO6F7YI.js";
30
- import "../../../chunk-H5NH7KPE.js";
31
- import "../../../chunk-4LH67P4U.js";
32
30
  import "../../../chunk-OKXZ63IA.js";
31
+ import "../../../chunk-MYQIQ27N.js";
32
+ import "../../../chunk-4LH67P4U.js";
33
33
  import "../../../chunk-OFRRBC7M.js";
34
+ import "../../../chunk-H5NH7KPE.js";
34
35
  import "../../../chunk-GYGNEQSC.js";
35
36
  import "../../../chunk-U64T4YZE.js";
36
37
  import "../../../chunk-2E224ZSN.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  EventFlowService
3
- } from "../../../chunk-32BMMV4H.js";
3
+ } from "../../../chunk-5RT7JGKT.js";
4
4
  import "../../../chunk-6DWFJNIK.js";
5
5
  import "../../../chunk-NXXDZ6ZF.js";
6
- import "../../../chunk-BIO6F7YI.js";
7
- import "../../../chunk-H5NH7KPE.js";
6
+ import "../../../chunk-ZPL74UQN.js";
8
7
  import "../../../chunk-4LH67P4U.js";
8
+ import "../../../chunk-H5NH7KPE.js";
9
9
  import "../../../chunk-GYGNEQSC.js";
10
10
  import "../../../chunk-U64T4YZE.js";
11
11
  import "../../../chunk-2E224ZSN.js";
@@ -1,55 +1,56 @@
1
1
  import {
2
2
  BridgeModule
3
- } from "../../../chunk-OZZJDRGW.js";
3
+ } from "../../../chunk-CEWLVVAH.js";
4
4
  import "../../../chunk-5A432NZJ.js";
5
- import {
6
- BridgeOutboxDrainHook
7
- } from "../../../chunk-L7BNNRGI.js";
8
5
  import {
9
6
  EventFlowService
10
- } from "../../../chunk-32BMMV4H.js";
7
+ } from "../../../chunk-5RT7JGKT.js";
11
8
  import {
12
9
  BRIDGE_RESERVED_POOLS
13
10
  } from "../../../chunk-EDKJU5BO.js";
14
- import {
15
- BRIDGE_DELIVERY_JOB_TYPE,
16
- BridgeDeliveryHandler
17
- } from "../../../chunk-YTN6BKWA.js";
18
11
  import {
19
12
  DrizzleBridgeDeliveryRepo
20
- } from "../../../chunk-K2I6XIK5.js";
21
- import {
22
- assertTenantId
23
- } from "../../../chunk-6DWFJNIK.js";
13
+ } from "../../../chunk-KSTZIULO.js";
24
14
  import {
25
15
  MemoryBridgeDeliveryRepo
26
16
  } from "../../../chunk-4DOJBQTP.js";
17
+ import {
18
+ BridgeOutboxDrainHook
19
+ } from "../../../chunk-EBKVKN75.js";
20
+ import {
21
+ BRIDGE_DELIVERY_JOB_TYPE,
22
+ BridgeDeliveryHandler
23
+ } from "../../../chunk-DRCLNYH7.js";
27
24
  import {
28
25
  bridgeDelivery,
29
26
  bridgeDeliveryStatusEnum
30
27
  } from "../../../chunk-2TVVBC53.js";
28
+ import {
29
+ assertTenantId
30
+ } from "../../../chunk-6DWFJNIK.js";
31
31
  import {
32
32
  BridgeReservedPoolsNotPolledError,
33
33
  MissingTenantIdError,
34
34
  UniqueConstraintError
35
35
  } from "../../../chunk-NXXDZ6ZF.js";
36
- import "../../../chunk-WPXNN6QS.js";
37
- import "../../../chunk-RC23QROE.js";
38
- import "../../../chunk-KMZCQASO.js";
39
- import "../../../chunk-I6MG4M3F.js";
40
- import "../../../chunk-JRVNVKN6.js";
36
+ import "../../../chunk-RUYLXR5F.js";
37
+ import "../../../chunk-XDIIVIIK.js";
38
+ import "../../../chunk-3RWMQC3K.js";
41
39
  import "../../../chunk-DV4RV2DC.js";
42
- import "../../../chunk-5Y7W3XR6.js";
43
- import "../../../chunk-4RFHUZXU.js";
40
+ import "../../../chunk-OTR44OH6.js";
41
+ import "../../../chunk-BULPAAD3.js";
44
42
  import "../../../chunk-PNZSGAB2.js";
43
+ import "../../../chunk-VNBC3VXM.js";
44
+ import "../../../chunk-BHZP6LOV.js";
45
45
  import "../../../chunk-SNQ3TOWP.js";
46
46
  import "../../../chunk-T4BIIU5E.js";
47
47
  import "../../../chunk-L3LZWWSX.js";
48
48
  import "../../../chunk-I6MVCB5A.js";
49
49
  import "../../../chunk-RHVN6NA7.js";
50
+ import "../../../chunk-ZPL74UQN.js";
50
51
  import "../../../chunk-CO6LUM72.js";
51
- import "../../../chunk-BIO6F7YI.js";
52
- import "../../../chunk-H5NH7KPE.js";
52
+ import "../../../chunk-OKXZ63IA.js";
53
+ import "../../../chunk-MYQIQ27N.js";
53
54
  import {
54
55
  BRIDGE_DELIVERY_REPO,
55
56
  BRIDGE_MODULE_OPTIONS,
@@ -58,8 +59,8 @@ import {
58
59
  BRIDGE_REGISTRY,
59
60
  EVENT_FLOW
60
61
  } from "../../../chunk-4LH67P4U.js";
61
- import "../../../chunk-OKXZ63IA.js";
62
62
  import "../../../chunk-OFRRBC7M.js";
63
+ import "../../../chunk-H5NH7KPE.js";
63
64
  import "../../../chunk-GYGNEQSC.js";
64
65
  import "../../../chunk-U64T4YZE.js";
65
66
  import "../../../chunk-2E224ZSN.js";
@@ -2,8 +2,8 @@ import {
2
2
  CacheModule
3
3
  } from "../../../chunk-COGHTKXY.js";
4
4
  import "../../../chunk-T6C4LFLC.js";
5
- import "../../../chunk-FASRXRX5.js";
6
5
  import "../../../chunk-IF5I3DAA.js";
6
+ import "../../../chunk-FASRXRX5.js";
7
7
  import "../../../chunk-L6FTY45T.js";
8
8
  import "../../../chunk-GYGNEQSC.js";
9
9
  import "../../../chunk-U64T4YZE.js";
@@ -5,12 +5,12 @@ import {
5
5
  import {
6
6
  DrizzleCacheService
7
7
  } from "../../../chunk-T6C4LFLC.js";
8
- import {
9
- cacheEntries
10
- } from "../../../chunk-FASRXRX5.js";
11
8
  import {
12
9
  MemoryCacheService
13
10
  } from "../../../chunk-IF5I3DAA.js";
11
+ import {
12
+ cacheEntries
13
+ } from "../../../chunk-FASRXRX5.js";
14
14
  import {
15
15
  CACHE,
16
16
  CACHE_DEFAULT_TTL
@@ -60,6 +60,11 @@ declare class DrizzleEventBus implements IEventBus, IEventReadPort, OnModuleInit
60
60
  private pollTimer;
61
61
  private readonly handlers;
62
62
  private readonly opts;
63
+ private notifyListener;
64
+ /** True while a wake-driven drain is in flight (debounce gate). */
65
+ private wakeDraining;
66
+ /** A notify arrived mid-drain → re-drain once when the current drain ends. */
67
+ private wakeRecheckPending;
63
68
  constructor(db: DrizzleClient, opts?: EventsModuleOptions,
64
69
  /**
65
70
  * Bridge subsystem hook (BRIDGE-4). Optional — when the bridge
@@ -75,8 +80,23 @@ declare class DrizzleEventBus implements IEventBus, IEventReadPort, OnModuleInit
75
80
  bridgeHook?: IBridgeOutboxDrainHook | null);
76
81
  onModuleInit(): Promise<void>;
77
82
  onModuleDestroy(): Promise<void>;
83
+ /**
84
+ * Wake handler — a `codegen_events_wake` notification arrived. A pool-filtered
85
+ * drainer (`opts.pools` set) ignores payloads naming a pool it doesn't own; an
86
+ * all-pools drainer wakes for any. Debounced: a notify mid-drain just flags a
87
+ * re-check so a burst collapses to at most one extra drain (D3).
88
+ */
89
+ private onWake;
90
+ private drainOnWake;
78
91
  publish(event: DomainEvent, tx?: DrizzleTransaction): Promise<void>;
79
92
  publishMany(events: DomainEvent[], tx?: DrizzleTransaction): Promise<void>;
93
+ /**
94
+ * Emit one in-tx `pg_notify(codegen_events_wake, <pool>)` per distinct pool in
95
+ * the just-inserted batch. No-op unless `listenNotify` is on. Best-effort: a
96
+ * notify failure is non-fatal (interval polling still drains the rows), so we
97
+ * log + swallow rather than failing the publish.
98
+ */
99
+ private emitWakeNotify;
80
100
  findById(eventId: string): Promise<DomainEvent | null>;
81
101
  subscribe<T extends DomainEvent = DomainEvent>(eventType: string, handler: (event: T) => Promise<void>): () => void;
82
102
  listEvents(query?: ListEventsQuery): Promise<EventPage>;
@@ -1,10 +1,11 @@
1
1
  import {
2
2
  DrizzleEventBus
3
- } from "../../../chunk-4JLJYWJC.js";
4
- import "../../../chunk-UQ5EHOH2.js";
5
- import "../../../chunk-H5NH7KPE.js";
3
+ } from "../../../chunk-4PFF3ED4.js";
4
+ import "../../../chunk-MYQIQ27N.js";
6
5
  import "../../../chunk-4LH67P4U.js";
7
6
  import "../../../chunk-OFRRBC7M.js";
7
+ import "../../../chunk-H5NH7KPE.js";
8
+ import "../../../chunk-UQ5EHOH2.js";
8
9
  import "../../../chunk-GYGNEQSC.js";
9
10
  import "../../../chunk-U64T4YZE.js";
10
11
  import "../../../chunk-2E224ZSN.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  MemoryEventBus
3
- } from "../../../chunk-Z7PQCAVK.js";
4
- import "../../../chunk-UQ5EHOH2.js";
3
+ } from "../../../chunk-LQ6PYFU6.js";
5
4
  import "../../../chunk-H5NH7KPE.js";
5
+ import "../../../chunk-UQ5EHOH2.js";
6
6
  import "../../../chunk-GYGNEQSC.js";
7
7
  import "../../../chunk-2E224ZSN.js";
8
8
  export {
@@ -65,6 +65,20 @@ interface EventsModuleOptions {
65
65
  * cannot stall change-event propagation (see ADR-022).
66
66
  */
67
67
  pools?: string[];
68
+ /**
69
+ * LISTEN-NOTIFY-1 — when `true` (drizzle backend only), the drainer holds a
70
+ * dedicated listener connection and LISTENs on `codegen_events_wake`. Each
71
+ * `publish`/`publishMany` emits an in-tx `pg_notify(codegen_events_wake,
72
+ * <pool>)` so the drainer wakes the moment the publishing transaction commits,
73
+ * instead of waiting for the next poll tick. Polling continues unchanged as
74
+ * the fallback heartbeat; a lost notify degrades to poll latency, never to
75
+ * lost work. Defaults to `false`.
76
+ *
77
+ * Ignored by the memory + redis backends (memory dispatches inline; redis has
78
+ * its own fan-out). Requires a direct (non-transaction-pooler) connection —
79
+ * see the events/jobs config block re: PgBouncer.
80
+ */
81
+ listenNotify?: boolean;
68
82
  /**
69
83
  * Multi-tenancy opt-in (EVT-6).
70
84
  *
@@ -1,16 +1,17 @@
1
1
  import {
2
2
  EventsModule
3
- } from "../../../chunk-EOLLMEAH.js";
3
+ } from "../../../chunk-EJBK7I4F.js";
4
4
  import "../../../chunk-GM3RMJIJ.js";
5
5
  import "../../../chunk-BGULBWKJ.js";
6
6
  import "../../../chunk-JRQO2IOF.js";
7
7
  import "../../../chunk-V4AF6DI4.js";
8
- import "../../../chunk-4JLJYWJC.js";
9
- import "../../../chunk-Z7PQCAVK.js";
10
- import "../../../chunk-UQ5EHOH2.js";
11
- import "../../../chunk-H5NH7KPE.js";
8
+ import "../../../chunk-4PFF3ED4.js";
9
+ import "../../../chunk-MYQIQ27N.js";
12
10
  import "../../../chunk-4LH67P4U.js";
13
11
  import "../../../chunk-OFRRBC7M.js";
12
+ import "../../../chunk-LQ6PYFU6.js";
13
+ import "../../../chunk-H5NH7KPE.js";
14
+ import "../../../chunk-UQ5EHOH2.js";
14
15
  import "../../../chunk-GYGNEQSC.js";
15
16
  import "../../../chunk-U64T4YZE.js";
16
17
  import "../../../chunk-2E224ZSN.js";
@@ -1,7 +1,7 @@
1
1
  import "../../../chunk-FN2PYDPP.js";
2
2
  import {
3
3
  EventsModule
4
- } from "../../../chunk-EOLLMEAH.js";
4
+ } from "../../../chunk-EJBK7I4F.js";
5
5
  import {
6
6
  TypedEventBus
7
7
  } from "../../../chunk-GM3RMJIJ.js";
@@ -12,11 +12,15 @@ import {
12
12
  } from "../../../chunk-V4AF6DI4.js";
13
13
  import {
14
14
  DrizzleEventBus
15
- } from "../../../chunk-4JLJYWJC.js";
15
+ } from "../../../chunk-4PFF3ED4.js";
16
+ import "../../../chunk-MYQIQ27N.js";
17
+ import "../../../chunk-4LH67P4U.js";
18
+ import {
19
+ domainEvents
20
+ } from "../../../chunk-OFRRBC7M.js";
16
21
  import {
17
22
  MemoryEventBus
18
- } from "../../../chunk-Z7PQCAVK.js";
19
- import "../../../chunk-UQ5EHOH2.js";
23
+ } from "../../../chunk-LQ6PYFU6.js";
20
24
  import {
21
25
  EVENTS_MODULE_OPTIONS,
22
26
  EVENTS_MULTI_TENANT,
@@ -24,10 +28,7 @@ import {
24
28
  EVENT_READ_PORT,
25
29
  TYPED_EVENT_BUS
26
30
  } from "../../../chunk-H5NH7KPE.js";
27
- import "../../../chunk-4LH67P4U.js";
28
- import {
29
- domainEvents
30
- } from "../../../chunk-OFRRBC7M.js";
31
+ import "../../../chunk-UQ5EHOH2.js";
31
32
  import "../../../chunk-GYGNEQSC.js";
32
33
  import "../../../chunk-U64T4YZE.js";
33
34
  import "../../../chunk-2E224ZSN.js";
@@ -25,8 +25,11 @@ export { IIntegrationSink } from './integration/integration-sink.protocol.js';
25
25
  export { IntegrationRunSummary } from './integration/integration-run-recorder.protocol.js';
26
26
  export { IEntityChangeSourceRegistry, UnknownEntityError } from './integration/entity-change-source-registry.protocol.js';
27
27
  export { MemoryEntityChangeSourceRegistry } from './integration/entity-change-source-registry.memory.js';
28
- export { CURSOR_DIVISIBILITY, ResolvedFilter, isDivisibleCursor } from './integration/detection-config.schema.js';
28
+ export { CURSOR_DIVISIBILITY, DetectionConfig, DetectionConfigSchema, ResolvedFilter, isDivisibleCursor } from './integration/detection-config.schema.js';
29
+ export { PollChangeSource, PollChangeSourceOptions, PollCursor, PollFetchCallback, PollFetchContext } from './integration/poll-change-source.js';
29
30
  export { IncrementalRead, IncrementalReadBase, RandomRead, ReadContext, ReadMode, ReadRequest, Ref, SourcedRecord, mapConcurrent } from './integration/incremental-read.js';
31
+ export { WebhookChangeSource, WebhookChangeSourceOptions, WebhookCursor, WebhookFetchCallback, WebhookFetchContext } from './integration/webhook-change-source.js';
32
+ export { buildChangeSource } from './integration/build-change-source.js';
30
33
  export { ENTITY_CHANGE_SOURCE_REGISTRY, INTEGRATION_CHANGE_SOURCE, INTEGRATION_SINK } from './integration/integration.tokens.js';
31
34
  export { ExecuteIntegrationUseCase } from './integration/execute-integration.use-case.js';
32
35
  export { AuthCredentials, AuthResolveOptions, IAuthStrategy } from './auth/protocols/auth-strategy.js';
@@ -57,5 +60,6 @@ import '../../job-orchestrator.protocol-DubMVbm9.js';
57
60
  import './events/event-registry.js';
58
61
  import './integration/integration-field-diff.protocol.js';
59
62
  import 'zod';
63
+ import './integration/integration-middleware.protocol.js';
60
64
  import '../base-classes/tenant-context.js';
61
65
  import './bridge/bridge-delivery.schema.js';