@pattern-stack/codegen 0.15.3 → 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 (132) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/{chunk-GCYKMF22.js → chunk-24WXSC3C.js} +6 -6
  3. package/dist/{chunk-O37C3YE6.js → chunk-3RWMQC3K.js} +23 -17
  4. package/dist/chunk-3RWMQC3K.js.map +1 -0
  5. package/dist/{chunk-4JLJYWJC.js → chunk-4PFF3ED4.js} +98 -10
  6. package/dist/chunk-4PFF3ED4.js.map +1 -0
  7. package/dist/{chunk-32BMMV4H.js → chunk-5RT7JGKT.js} +5 -5
  8. package/dist/{chunk-RDVTWIYY.js → chunk-BHZP6LOV.js} +8 -8
  9. package/dist/{chunk-4MVGAMUA.js → chunk-BK5ICA2F.js} +4 -4
  10. package/dist/{chunk-4RFHUZXU.js → chunk-BULPAAD3.js} +2 -2
  11. package/dist/{chunk-IYNSRIGR.js → chunk-CEWLVVAH.js} +6 -6
  12. package/dist/{chunk-27ETSJ2X.js → chunk-COGHTKXY.js} +2 -2
  13. package/dist/{chunk-J7JMVS2B.js → chunk-DKKFTHHI.js} +4 -4
  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-4H3PETLM.js → chunk-RUYLXR5F.js} +15 -12
  27. package/dist/chunk-RUYLXR5F.js.map +1 -0
  28. package/dist/{chunk-7YGORYZD.js → chunk-T6C4LFLC.js} +4 -4
  29. package/dist/{chunk-OGIZXGPY.js → chunk-TDEHU73T.js} +4 -4
  30. package/dist/{chunk-FBGHYQIZ.js → chunk-VNBC3VXM.js} +5 -5
  31. package/dist/{chunk-YPWODKD5.js → chunk-W2UIDI3R.js} +5 -5
  32. package/dist/chunk-W4HOHZVF.js +1 -0
  33. package/dist/{chunk-RC23QROE.js → chunk-XDIIVIIK.js} +79 -5
  34. package/dist/chunk-XDIIVIIK.js.map +1 -0
  35. package/dist/{chunk-DCCZB4UC.js → chunk-XWBK3XJK.js} +4 -4
  36. package/dist/{chunk-SR7F3TJY.js → chunk-YK5JEVLX.js} +4 -4
  37. package/dist/{chunk-BIO6F7YI.js → chunk-ZPL74UQN.js} +4 -2
  38. package/dist/{chunk-BIO6F7YI.js.map → chunk-ZPL74UQN.js.map} +1 -1
  39. package/dist/runtime/base-classes/index.js +22 -22
  40. package/dist/runtime/shared/openapi/index.js +3 -3
  41. package/dist/runtime/subsystems/analytics/analytics.module.js +2 -2
  42. package/dist/runtime/subsystems/analytics/index.js +4 -4
  43. package/dist/runtime/subsystems/auth/index.js +1 -1
  44. package/dist/runtime/subsystems/bridge/bridge-delivery-handler.js +3 -3
  45. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js +3 -3
  46. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.d.ts +2 -1
  47. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js +7 -6
  48. package/dist/runtime/subsystems/bridge/bridge.module.js +20 -19
  49. package/dist/runtime/subsystems/bridge/event-flow.service.js +3 -3
  50. package/dist/runtime/subsystems/bridge/index.js +22 -21
  51. package/dist/runtime/subsystems/cache/cache.drizzle-backend.js +2 -2
  52. package/dist/runtime/subsystems/cache/cache.module.js +3 -3
  53. package/dist/runtime/subsystems/cache/index.js +5 -5
  54. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.d.ts +20 -0
  55. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js +4 -3
  56. package/dist/runtime/subsystems/events/event-bus.memory-backend.js +2 -2
  57. package/dist/runtime/subsystems/events/events.module.d.ts +14 -0
  58. package/dist/runtime/subsystems/events/events.module.js +6 -5
  59. package/dist/runtime/subsystems/events/index.js +12 -11
  60. package/dist/runtime/subsystems/index.js +65 -64
  61. package/dist/runtime/subsystems/integration/execute-integration.use-case.js +2 -2
  62. package/dist/runtime/subsystems/integration/index.js +14 -14
  63. package/dist/runtime/subsystems/integration/integration-cursor-store.drizzle-backend.js +2 -2
  64. package/dist/runtime/subsystems/integration/integration-run-recorder.drizzle-backend.js +2 -2
  65. package/dist/runtime/subsystems/integration/integration.module.js +4 -4
  66. package/dist/runtime/subsystems/jobs/index.d.ts +2 -1
  67. package/dist/runtime/subsystems/jobs/index.js +44 -32
  68. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js +6 -5
  69. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js.map +1 -1
  70. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.d.ts +2 -1
  71. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js +3 -2
  72. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js +2 -2
  73. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js +3 -3
  74. package/dist/runtime/subsystems/jobs/job-run-service.memory-backend.js +3 -3
  75. package/dist/runtime/subsystems/jobs/job-worker.d.ts +28 -0
  76. package/dist/runtime/subsystems/jobs/job-worker.js +3 -2
  77. package/dist/runtime/subsystems/jobs/job-worker.module.js +12 -11
  78. package/dist/runtime/subsystems/jobs/jobs-domain.module.d.ts +12 -7
  79. package/dist/runtime/subsystems/jobs/jobs-domain.module.js +10 -9
  80. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.d.ts +13 -1
  81. package/dist/runtime/subsystems/jobs/jobs-domain.tokens.js +3 -1
  82. package/dist/runtime/subsystems/jobs/pg-notify.d.ts +85 -0
  83. package/dist/runtime/subsystems/jobs/pg-notify.js +14 -0
  84. package/dist/runtime/subsystems/jobs/pg-notify.js.map +1 -0
  85. package/dist/runtime/subsystems/observability/index.js +4 -4
  86. package/dist/runtime/subsystems/observability/observability.module.js +4 -4
  87. package/dist/runtime/subsystems/observability/observability.service.js +3 -3
  88. package/dist/runtime/subsystems/storage/index.js +4 -4
  89. package/dist/runtime/subsystems/storage/storage.module.js +2 -2
  90. package/dist/src/cli/index.js +49 -11
  91. package/dist/src/cli/index.js.map +1 -1
  92. package/dist/src/index.js +5 -5
  93. package/package.json +1 -1
  94. package/runtime/subsystems/bridge/bridge-outbox-drain-hook.ts +27 -0
  95. package/runtime/subsystems/events/event-bus.drizzle-backend.ts +108 -4
  96. package/runtime/subsystems/events/events.module.ts +14 -0
  97. package/runtime/subsystems/jobs/index.ts +10 -0
  98. package/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.ts +29 -2
  99. package/runtime/subsystems/jobs/job-worker.module.ts +11 -0
  100. package/runtime/subsystems/jobs/job-worker.ts +98 -0
  101. package/runtime/subsystems/jobs/jobs-domain.module.ts +22 -7
  102. package/runtime/subsystems/jobs/jobs-domain.tokens.ts +13 -0
  103. package/runtime/subsystems/jobs/pg-notify.ts +216 -0
  104. package/templates/subsystem/events-config/codegen-config-events-block.ejs.t +14 -0
  105. package/templates/subsystem/jobs-config/codegen-config-jobs-block.ejs.t +13 -4
  106. package/dist/chunk-4H3PETLM.js.map +0 -1
  107. package/dist/chunk-4JLJYWJC.js.map +0 -1
  108. package/dist/chunk-5Y7W3XR6.js.map +0 -1
  109. package/dist/chunk-EOLLMEAH.js.map +0 -1
  110. package/dist/chunk-L7BNNRGI.js.map +0 -1
  111. package/dist/chunk-O37C3YE6.js.map +0 -1
  112. package/dist/chunk-RC23QROE.js.map +0 -1
  113. package/dist/chunk-UTN4GBPQ.js +0 -1
  114. /package/dist/{chunk-GCYKMF22.js.map → chunk-24WXSC3C.js.map} +0 -0
  115. /package/dist/{chunk-32BMMV4H.js.map → chunk-5RT7JGKT.js.map} +0 -0
  116. /package/dist/{chunk-RDVTWIYY.js.map → chunk-BHZP6LOV.js.map} +0 -0
  117. /package/dist/{chunk-4MVGAMUA.js.map → chunk-BK5ICA2F.js.map} +0 -0
  118. /package/dist/{chunk-4RFHUZXU.js.map → chunk-BULPAAD3.js.map} +0 -0
  119. /package/dist/{chunk-IYNSRIGR.js.map → chunk-CEWLVVAH.js.map} +0 -0
  120. /package/dist/{chunk-27ETSJ2X.js.map → chunk-COGHTKXY.js.map} +0 -0
  121. /package/dist/{chunk-J7JMVS2B.js.map → chunk-DKKFTHHI.js.map} +0 -0
  122. /package/dist/{chunk-YTN6BKWA.js.map → chunk-DRCLNYH7.js.map} +0 -0
  123. /package/dist/{chunk-TNXH7BJS.js.map → chunk-E45CSC33.js.map} +0 -0
  124. /package/dist/{chunk-K2I6XIK5.js.map → chunk-KSTZIULO.js.map} +0 -0
  125. /package/dist/{chunk-Z7PQCAVK.js.map → chunk-LQ6PYFU6.js.map} +0 -0
  126. /package/dist/{chunk-7YGORYZD.js.map → chunk-T6C4LFLC.js.map} +0 -0
  127. /package/dist/{chunk-OGIZXGPY.js.map → chunk-TDEHU73T.js.map} +0 -0
  128. /package/dist/{chunk-FBGHYQIZ.js.map → chunk-VNBC3VXM.js.map} +0 -0
  129. /package/dist/{chunk-YPWODKD5.js.map → chunk-W2UIDI3R.js.map} +0 -0
  130. /package/dist/{chunk-UTN4GBPQ.js.map → chunk-W4HOHZVF.js.map} +0 -0
  131. /package/dist/{chunk-DCCZB4UC.js.map → chunk-XWBK3XJK.js.map} +0 -0
  132. /package/dist/{chunk-SR7F3TJY.js.map → chunk-YK5JEVLX.js.map} +0 -0
@@ -5,18 +5,18 @@ import {
5
5
  } from "../../../chunk-EWYCWP4H.js";
6
6
  import {
7
7
  ObservabilityModule
8
- } from "../../../chunk-TNXH7BJS.js";
8
+ } from "../../../chunk-E45CSC33.js";
9
9
  import {
10
10
  BridgeMetricsReporter
11
11
  } from "../../../chunk-AQFQ4BYM.js";
12
- import "../../../chunk-YPWODKD5.js";
12
+ import "../../../chunk-W2UIDI3R.js";
13
13
  import {
14
14
  OBSERVABILITY,
15
15
  OBSERVABILITY_MODULE_OPTIONS
16
16
  } from "../../../chunk-Y7RRSEOC.js";
17
- import "../../../chunk-BIO6F7YI.js";
18
- import "../../../chunk-H5NH7KPE.js";
17
+ import "../../../chunk-ZPL74UQN.js";
19
18
  import "../../../chunk-4LH67P4U.js";
19
+ import "../../../chunk-H5NH7KPE.js";
20
20
  import "../../../chunk-GYGNEQSC.js";
21
21
  import "../../../chunk-S7C6TIIF.js";
22
22
  import "../../../chunk-2E224ZSN.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  ObservabilityModule
3
- } from "../../../chunk-TNXH7BJS.js";
3
+ } from "../../../chunk-E45CSC33.js";
4
4
  import "../../../chunk-AQFQ4BYM.js";
5
- import "../../../chunk-YPWODKD5.js";
5
+ import "../../../chunk-W2UIDI3R.js";
6
6
  import "../../../chunk-Y7RRSEOC.js";
7
- import "../../../chunk-BIO6F7YI.js";
8
- import "../../../chunk-H5NH7KPE.js";
7
+ import "../../../chunk-ZPL74UQN.js";
9
8
  import "../../../chunk-4LH67P4U.js";
9
+ import "../../../chunk-H5NH7KPE.js";
10
10
  import "../../../chunk-GYGNEQSC.js";
11
11
  import "../../../chunk-S7C6TIIF.js";
12
12
  import "../../../chunk-2E224ZSN.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  ObservabilityService
3
- } from "../../../chunk-YPWODKD5.js";
4
- import "../../../chunk-BIO6F7YI.js";
5
- import "../../../chunk-H5NH7KPE.js";
3
+ } from "../../../chunk-W2UIDI3R.js";
4
+ import "../../../chunk-ZPL74UQN.js";
6
5
  import "../../../chunk-4LH67P4U.js";
6
+ import "../../../chunk-H5NH7KPE.js";
7
7
  import "../../../chunk-GYGNEQSC.js";
8
8
  import "../../../chunk-S7C6TIIF.js";
9
9
  import "../../../chunk-2E224ZSN.js";
@@ -1,16 +1,16 @@
1
1
  import "../../../chunk-ZUMULSEQ.js";
2
2
  import {
3
3
  StorageModule
4
- } from "../../../chunk-4MVGAMUA.js";
4
+ } from "../../../chunk-BK5ICA2F.js";
5
+ import {
6
+ STORAGE
7
+ } from "../../../chunk-NYBCQZC7.js";
5
8
  import {
6
9
  LocalStorageBackend
7
10
  } from "../../../chunk-JWNHNUYL.js";
8
11
  import {
9
12
  MemoryStorageBackend
10
13
  } from "../../../chunk-3SZFUTXE.js";
11
- import {
12
- STORAGE
13
- } from "../../../chunk-NYBCQZC7.js";
14
14
  import "../../../chunk-J6MN42LG.js";
15
15
  import "../../../chunk-GYGNEQSC.js";
16
16
  import "../../../chunk-2E224ZSN.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  StorageModule
3
- } from "../../../chunk-4MVGAMUA.js";
3
+ } from "../../../chunk-BK5ICA2F.js";
4
+ import "../../../chunk-NYBCQZC7.js";
4
5
  import "../../../chunk-JWNHNUYL.js";
5
6
  import "../../../chunk-3SZFUTXE.js";
6
- import "../../../chunk-NYBCQZC7.js";
7
7
  import "../../../chunk-J6MN42LG.js";
8
8
  import "../../../chunk-GYGNEQSC.js";
9
9
  import "../../../chunk-2E224ZSN.js";
@@ -38,19 +38,20 @@ import {
38
38
  writeManifest
39
39
  } from "../../chunk-32DOFN3T.js";
40
40
  import "../../chunk-KVOWSC5S.js";
41
- import "../../chunk-GCYKMF22.js";
41
+ import "../../chunk-24WXSC3C.js";
42
42
  import "../../chunk-EO2QPOKH.js";
43
43
  import "../../chunk-PRWIX6UW.js";
44
- import "../../chunk-DCCZB4UC.js";
44
+ import "../../chunk-XWBK3XJK.js";
45
45
  import "../../chunk-AHV4GDYM.js";
46
- import "../../chunk-SR7F3TJY.js";
46
+ import "../../chunk-YK5JEVLX.js";
47
47
  import "../../chunk-SQDOBLBP.js";
48
48
  import {
49
49
  isDivisibleCursor
50
50
  } from "../../chunk-3NMCDN7L.js";
51
51
  import "../../chunk-4KNXX6TI.js";
52
52
  import "../../chunk-3CJFPU6Q.js";
53
- import "../../chunk-OGIZXGPY.js";
53
+ import "../../chunk-TDEHU73T.js";
54
+ import "../../chunk-S7C6TIIF.js";
54
55
  import "../../chunk-MZ6GV4YF.js";
55
56
  import "../../chunk-LG57S2SC.js";
56
57
  import "../../chunk-HNWZFNKP.js";
@@ -58,7 +59,6 @@ import "../../chunk-WWGYCIJX.js";
58
59
  import "../../chunk-4MF3HKJA.js";
59
60
  import "../../chunk-YLPAPPLW.js";
60
61
  import "../../chunk-36U5UGIO.js";
61
- import "../../chunk-S7C6TIIF.js";
62
62
  import "../../chunk-U64T4YZE.js";
63
63
  import "../../chunk-2E224ZSN.js";
64
64
 
@@ -2710,14 +2710,35 @@ function jsonToTs(value) {
2710
2710
  }
2711
2711
  return "undefined";
2712
2712
  }
2713
+ function drizzleJobsExtensions(backend, cfg) {
2714
+ if (backend !== "drizzle") return void 0;
2715
+ const drizzle = cfg?.extensions?.drizzle;
2716
+ if (!drizzle) return void 0;
2717
+ const out = {};
2718
+ if (typeof drizzle.listen_notify === "boolean") out.listenNotify = drizzle.listen_notify;
2719
+ if (typeof drizzle.poll_interval_ms === "number")
2720
+ out.pollIntervalMs = drizzle.poll_interval_ms;
2721
+ return Object.keys(out).length > 0 ? out : void 0;
2722
+ }
2723
+ function drizzleExtensionsClause(ext, key) {
2724
+ if (!ext) return "";
2725
+ return `${key}: { drizzle: ${jsonToTs(ext)} }`;
2726
+ }
2713
2727
  function quoteBullmqDomainOpts(input) {
2714
- const { backend, multiTenant, bullExt } = input;
2715
- if (backend !== "bullmq" || !bullExt) {
2728
+ const { backend, multiTenant, bullExt, drizzleExt } = input;
2729
+ if (backend === "bullmq" && bullExt) {
2730
+ const parts2 = [`backend: 'bullmq'`];
2731
+ if (multiTenant) parts2.push(`multiTenant: true`);
2732
+ parts2.push(`extensions: { bullmq: ${jsonToTs(bullExt)} }`);
2733
+ return `{ ${parts2.join(", ")} }`;
2734
+ }
2735
+ const extClause = drizzleExtensionsClause(drizzleExt, "extensions");
2736
+ if (!extClause) {
2716
2737
  return quoteOpts({ backend, multiTenant });
2717
2738
  }
2718
- const parts = [`backend: 'bullmq'`];
2739
+ const parts = [`backend: '${backend}'`];
2719
2740
  if (multiTenant) parts.push(`multiTenant: true`);
2720
- parts.push(`extensions: { bullmq: ${jsonToTs(bullExt)} }`);
2741
+ parts.push(extClause);
2721
2742
  return `{ ${parts.join(", ")} }`;
2722
2743
  }
2723
2744
  function workerPoolsClause(cfg, bridgeInstalled) {
@@ -2734,6 +2755,8 @@ var COMPOSERS = {
2734
2755
  events: ({ moduleImport, cfg, mode }) => {
2735
2756
  const backend = cfg?.backend ?? "drizzle";
2736
2757
  const multiTenant = Boolean(cfg?.multi_tenant);
2758
+ const listenNotify = backend === "drizzle" && cfg?.extensions?.drizzle?.listen_notify === true;
2759
+ const listenNotifyClause = listenNotify ? `, listenNotify: true` : "";
2737
2760
  const imports = [
2738
2761
  `import { EventsModule } from '${moduleImport("events", "events.module")}';`
2739
2762
  ];
@@ -2742,7 +2765,15 @@ var COMPOSERS = {
2742
2765
  return {
2743
2766
  imports,
2744
2767
  calls: [
2745
- ` EventsModule.forRoot({ backend: '${backend}', multiTenant: ${multiTenant}, typedBus: TypedEventBus }),`
2768
+ ` EventsModule.forRoot({ backend: '${backend}', multiTenant: ${multiTenant}, typedBus: TypedEventBus${listenNotifyClause} }),`
2769
+ ]
2770
+ };
2771
+ }
2772
+ if (listenNotify) {
2773
+ return {
2774
+ imports,
2775
+ calls: [
2776
+ ` EventsModule.forRoot({ backend: '${backend}', multiTenant: ${multiTenant}, listenNotify: true }),`
2746
2777
  ]
2747
2778
  };
2748
2779
  }
@@ -2761,7 +2792,8 @@ var COMPOSERS = {
2761
2792
  `import { JobsDomainModule } from '${moduleImport("jobs", "jobs-domain.module")}';`
2762
2793
  ];
2763
2794
  const bullExt = backend === "bullmq" ? cfg?.extensions?.bullmq : void 0;
2764
- const domainOpts = quoteBullmqDomainOpts({ backend, multiTenant, bullExt });
2795
+ const drizzleExt = drizzleJobsExtensions(backend, cfg);
2796
+ const domainOpts = quoteBullmqDomainOpts({ backend, multiTenant, bullExt, drizzleExt });
2765
2797
  const calls = [` JobsDomainModule.forRoot(${domainOpts}),`];
2766
2798
  if (workerMode === "embedded") {
2767
2799
  imports.push(
@@ -2773,6 +2805,12 @@ var COMPOSERS = {
2773
2805
  if (bullExt) {
2774
2806
  parts.push(`domainModuleExtensions: { bullmq: ${jsonToTs(bullExt)} }`);
2775
2807
  }
2808
+ } else {
2809
+ const workerExtClause = drizzleExtensionsClause(
2810
+ drizzleExt,
2811
+ "domainModuleExtensions"
2812
+ );
2813
+ if (workerExtClause) parts.push(workerExtClause);
2776
2814
  }
2777
2815
  const poolsClause = workerPoolsClause(cfg, bridgeInstalled);
2778
2816
  if (poolsClause) parts.push(poolsClause);