@pattern-stack/codegen 0.4.1 → 0.4.3

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 (158) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/runtime/subsystems/bridge/bridge.module.d.ts +1 -0
  3. package/dist/runtime/subsystems/bridge/bridge.module.js +38 -21
  4. package/dist/runtime/subsystems/bridge/bridge.module.js.map +1 -1
  5. package/dist/runtime/subsystems/bridge/index.d.ts +1 -0
  6. package/dist/runtime/subsystems/bridge/index.js +29 -12
  7. package/dist/runtime/subsystems/bridge/index.js.map +1 -1
  8. package/dist/runtime/subsystems/index.js +31 -14
  9. package/dist/runtime/subsystems/index.js.map +1 -1
  10. package/dist/runtime/subsystems/jobs/index.d.ts +1 -0
  11. package/dist/runtime/subsystems/jobs/index.js +27 -10
  12. package/dist/runtime/subsystems/jobs/index.js.map +1 -1
  13. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.d.ts +3 -1
  14. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js +9 -4
  15. package/dist/runtime/subsystems/jobs/job-orchestrator.memory-backend.js.map +1 -1
  16. package/dist/runtime/subsystems/jobs/job-worker.d.ts +3 -1
  17. package/dist/runtime/subsystems/jobs/job-worker.js +6 -2
  18. package/dist/runtime/subsystems/jobs/job-worker.js.map +1 -1
  19. package/dist/runtime/subsystems/jobs/job-worker.module.d.ts +3 -1
  20. package/dist/runtime/subsystems/jobs/job-worker.module.js +27 -10
  21. package/dist/runtime/subsystems/jobs/job-worker.module.js.map +1 -1
  22. package/dist/runtime/subsystems/jobs/jobs-domain.module.js +9 -4
  23. package/dist/runtime/subsystems/jobs/jobs-domain.module.js.map +1 -1
  24. package/dist/src/cli/index.js +29 -2
  25. package/dist/src/cli/index.js.map +1 -1
  26. package/package.json +2 -1
  27. package/runtime/analytics/index.ts +31 -0
  28. package/runtime/analytics/metrics.ts +85 -0
  29. package/runtime/analytics/packs/crm-entity-measures.ts +20 -0
  30. package/runtime/analytics/packs/index.ts +5 -0
  31. package/runtime/analytics/packs/monetary-measures.ts +20 -0
  32. package/runtime/analytics/specs.ts +54 -0
  33. package/runtime/analytics/types.ts +105 -0
  34. package/runtime/base-classes/activity-entity-repository.ts +50 -0
  35. package/runtime/base-classes/activity-entity-service.ts +48 -0
  36. package/runtime/base-classes/base-read-use-cases.ts +88 -0
  37. package/runtime/base-classes/base-repository.ts +289 -0
  38. package/runtime/base-classes/base-service.ts +183 -0
  39. package/runtime/base-classes/index.ts +38 -0
  40. package/runtime/base-classes/knowledge-entity-repository.ts +12 -0
  41. package/runtime/base-classes/knowledge-entity-service.ts +14 -0
  42. package/runtime/base-classes/lifecycle-events.ts +152 -0
  43. package/runtime/base-classes/metadata-entity-repository.ts +80 -0
  44. package/runtime/base-classes/metadata-entity-service.ts +48 -0
  45. package/runtime/base-classes/synced-entity-repository.ts +57 -0
  46. package/runtime/base-classes/synced-entity-service.ts +50 -0
  47. package/runtime/base-classes/with-analytics.ts +22 -0
  48. package/runtime/constants/tokens.ts +29 -0
  49. package/runtime/eav-helpers.ts +74 -0
  50. package/runtime/pipes/zod-validation.pipe.ts +64 -0
  51. package/runtime/shared/openapi/error-response.dto.ts +24 -0
  52. package/runtime/shared/openapi/errors.ts +39 -0
  53. package/runtime/shared/openapi/index.ts +20 -0
  54. package/runtime/shared/openapi/registry.tokens.ts +13 -0
  55. package/runtime/shared/openapi/registry.ts +151 -0
  56. package/runtime/subsystems/analytics/analytics-query.protocol.ts +37 -0
  57. package/runtime/subsystems/analytics/analytics.module.ts +64 -0
  58. package/runtime/subsystems/analytics/analytics.tokens.ts +24 -0
  59. package/runtime/subsystems/analytics/cube-backend.ts +75 -0
  60. package/runtime/subsystems/analytics/index.ts +15 -0
  61. package/runtime/subsystems/analytics/noop-backend.ts +27 -0
  62. package/runtime/subsystems/auth/auth.module.ts +91 -0
  63. package/runtime/subsystems/auth/auth.tokens.ts +27 -0
  64. package/runtime/subsystems/auth/backends/encryption-key/env.ts +76 -0
  65. package/runtime/subsystems/auth/backends/oauth-state-store/in-memory.ts +42 -0
  66. package/runtime/subsystems/auth/index.ts +77 -0
  67. package/runtime/subsystems/auth/protocols/auth-strategy.ts +46 -0
  68. package/runtime/subsystems/auth/protocols/encryption-key.ts +21 -0
  69. package/runtime/subsystems/auth/protocols/integration-store.ts +66 -0
  70. package/runtime/subsystems/auth/protocols/oauth-state-store.ts +16 -0
  71. package/runtime/subsystems/auth/runtime/integration-broken.error.ts +21 -0
  72. package/runtime/subsystems/auth/runtime/oauth2-refresh.strategy.ts +189 -0
  73. package/runtime/subsystems/auth/runtime/session-expired.error.ts +39 -0
  74. package/runtime/subsystems/auth/runtime/with-auth-retry.ts +50 -0
  75. package/runtime/subsystems/bridge/assert-tenant-id.ts +57 -0
  76. package/runtime/subsystems/bridge/bridge-delivery-handler.ts +220 -0
  77. package/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.ts +149 -0
  78. package/runtime/subsystems/bridge/bridge-delivery.memory-backend.ts +140 -0
  79. package/runtime/subsystems/bridge/bridge-delivery.schema.ts +142 -0
  80. package/runtime/subsystems/bridge/bridge-errors.ts +112 -0
  81. package/runtime/subsystems/bridge/bridge-outbox-drain-hook.ts +175 -0
  82. package/runtime/subsystems/bridge/bridge.module.ts +160 -0
  83. package/runtime/subsystems/bridge/bridge.protocol.ts +351 -0
  84. package/runtime/subsystems/bridge/bridge.tokens.ts +68 -0
  85. package/runtime/subsystems/bridge/event-flow.service.ts +175 -0
  86. package/runtime/subsystems/bridge/generated/.gitkeep +0 -0
  87. package/runtime/subsystems/bridge/generated/registry.ts +6 -0
  88. package/runtime/subsystems/bridge/index.ts +84 -0
  89. package/runtime/subsystems/bridge/reserved-pools.ts +36 -0
  90. package/runtime/subsystems/cache/cache.drizzle-backend.ts +150 -0
  91. package/runtime/subsystems/cache/cache.memory-backend.ts +116 -0
  92. package/runtime/subsystems/cache/cache.module.ts +115 -0
  93. package/runtime/subsystems/cache/cache.protocol.ts +45 -0
  94. package/runtime/subsystems/cache/cache.schema.ts +27 -0
  95. package/runtime/subsystems/cache/cache.tokens.ts +17 -0
  96. package/runtime/subsystems/cache/index.ts +22 -0
  97. package/runtime/subsystems/events/domain-events.schema.ts +77 -0
  98. package/runtime/subsystems/events/event-bus.drizzle-backend.ts +327 -0
  99. package/runtime/subsystems/events/event-bus.memory-backend.ts +142 -0
  100. package/runtime/subsystems/events/event-bus.protocol.ts +86 -0
  101. package/runtime/subsystems/events/event-bus.redis-backend.ts +304 -0
  102. package/runtime/subsystems/events/events-errors.ts +30 -0
  103. package/runtime/subsystems/events/events.module.ts +230 -0
  104. package/runtime/subsystems/events/events.tokens.ts +62 -0
  105. package/runtime/subsystems/events/generated/bus.ts +103 -0
  106. package/runtime/subsystems/events/generated/index.ts +7 -0
  107. package/runtime/subsystems/events/generated/registry.ts +84 -0
  108. package/runtime/subsystems/events/generated/schemas.ts +59 -0
  109. package/runtime/subsystems/events/generated/types.ts +94 -0
  110. package/runtime/subsystems/events/index.ts +21 -0
  111. package/runtime/subsystems/index.ts +63 -0
  112. package/runtime/subsystems/jobs/generated/job-orchestration.schema.multi-tenant.ts +217 -0
  113. package/runtime/subsystems/jobs/generated/job-orchestration.schema.single-tenant.ts +217 -0
  114. package/runtime/subsystems/jobs/generated/scope-entity-type.ts +10 -0
  115. package/runtime/subsystems/jobs/index.ts +120 -0
  116. package/runtime/subsystems/jobs/job-handler.base.ts +206 -0
  117. package/runtime/subsystems/jobs/job-orchestration.schema.ts +217 -0
  118. package/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.ts +536 -0
  119. package/runtime/subsystems/jobs/job-orchestrator.memory-backend.ts +860 -0
  120. package/runtime/subsystems/jobs/job-orchestrator.protocol.ts +179 -0
  121. package/runtime/subsystems/jobs/job-run-service.drizzle-backend.ts +171 -0
  122. package/runtime/subsystems/jobs/job-run-service.memory-backend.ts +165 -0
  123. package/runtime/subsystems/jobs/job-run-service.protocol.ts +79 -0
  124. package/runtime/subsystems/jobs/job-step-service.drizzle-backend.ts +66 -0
  125. package/runtime/subsystems/jobs/job-step-service.memory-backend.ts +119 -0
  126. package/runtime/subsystems/jobs/job-step-service.protocol.ts +53 -0
  127. package/runtime/subsystems/jobs/job-worker.module.ts +312 -0
  128. package/runtime/subsystems/jobs/job-worker.ts +624 -0
  129. package/runtime/subsystems/jobs/jobs-domain.module.ts +119 -0
  130. package/runtime/subsystems/jobs/jobs-domain.tokens.ts +30 -0
  131. package/runtime/subsystems/jobs/jobs-errors.ts +150 -0
  132. package/runtime/subsystems/jobs/memory-job-store.ts +35 -0
  133. package/runtime/subsystems/jobs/pool-config.loader.ts +218 -0
  134. package/runtime/subsystems/storage/index.ts +18 -0
  135. package/runtime/subsystems/storage/storage.local-backend.ts +113 -0
  136. package/runtime/subsystems/storage/storage.memory-backend.ts +78 -0
  137. package/runtime/subsystems/storage/storage.module.ts +60 -0
  138. package/runtime/subsystems/storage/storage.protocol.ts +78 -0
  139. package/runtime/subsystems/storage/storage.tokens.ts +9 -0
  140. package/runtime/subsystems/storage/storage.utils.ts +20 -0
  141. package/runtime/subsystems/sync/deep-equal.differ.ts +198 -0
  142. package/runtime/subsystems/sync/execute-sync.use-case.ts +334 -0
  143. package/runtime/subsystems/sync/index.ts +98 -0
  144. package/runtime/subsystems/sync/sync-audit.schema.ts +300 -0
  145. package/runtime/subsystems/sync/sync-change-source.protocol.ts +99 -0
  146. package/runtime/subsystems/sync/sync-cursor-store.drizzle-backend.ts +104 -0
  147. package/runtime/subsystems/sync/sync-cursor-store.memory-backend.ts +64 -0
  148. package/runtime/subsystems/sync/sync-cursor-store.protocol.ts +53 -0
  149. package/runtime/subsystems/sync/sync-errors.ts +54 -0
  150. package/runtime/subsystems/sync/sync-field-diff.protocol.ts +61 -0
  151. package/runtime/subsystems/sync/sync-loopback.protocol.ts +33 -0
  152. package/runtime/subsystems/sync/sync-run-recorder.drizzle-backend.ts +123 -0
  153. package/runtime/subsystems/sync/sync-run-recorder.memory-backend.ts +143 -0
  154. package/runtime/subsystems/sync/sync-run-recorder.protocol.ts +86 -0
  155. package/runtime/subsystems/sync/sync-sink.protocol.ts +55 -0
  156. package/runtime/subsystems/sync/sync.module.ts +156 -0
  157. package/runtime/subsystems/sync/sync.tokens.ts +57 -0
  158. package/runtime/types/drizzle.ts +23 -0
@@ -21,3 +21,4 @@ import '../events/event-bus.protocol.js';
21
21
  import '../../types/drizzle.js';
22
22
  import 'drizzle-orm/node-postgres';
23
23
  import '@nestjs/common';
24
+ import '@nestjs/core';
@@ -841,12 +841,13 @@ function serialiseError(err, attempt, retryable) {
841
841
  };
842
842
  }
843
843
  var JobWorker = class {
844
- constructor(db, orchestrator, runService, stepService, options) {
844
+ constructor(db, orchestrator, runService, stepService, options, moduleRef) {
845
845
  this.db = db;
846
846
  this.orchestrator = orchestrator;
847
847
  this.runService = runService;
848
848
  this.stepService = stepService;
849
849
  this.options = options;
850
+ this.moduleRef = moduleRef;
850
851
  this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
851
852
  this.staleSweeperIntervalMs = options.staleSweeperIntervalMs ?? DEFAULT_STALE_SWEEPER_INTERVAL_MS;
852
853
  this.staleThresholdMs = options.staleThresholdMs ?? DEFAULT_STALE_THRESHOLD_MS;
@@ -863,6 +864,7 @@ var JobWorker = class {
863
864
  runService;
864
865
  stepService;
865
866
  options;
867
+ moduleRef;
866
868
  logger = new Logger2(JobWorker.name);
867
869
  shuttingDown = false;
868
870
  inFlight = /* @__PURE__ */ new Set();
@@ -1034,7 +1036,9 @@ var JobWorker = class {
1034
1036
  }
1035
1037
  const meta = registryEntry.meta;
1036
1038
  const HandlerClass = registryEntry.handlerClass;
1037
- const handler = new HandlerClass();
1039
+ const handler = await this.moduleRef.create(
1040
+ HandlerClass
1041
+ );
1038
1042
  const ctx = {
1039
1043
  input: claimed.input,
1040
1044
  run: claimed,
@@ -1208,7 +1212,7 @@ var MemoryJobStore = class {
1208
1212
 
1209
1213
  // runtime/subsystems/jobs/job-orchestrator.memory-backend.ts
1210
1214
  import { randomUUID as randomUUID2 } from "crypto";
1211
- import { Inject as Inject5, Injectable as Injectable5, Logger as Logger3 } from "@nestjs/common";
1215
+ import { Inject as Inject5, Injectable as Injectable5, Logger as Logger3, Optional } from "@nestjs/common";
1212
1216
  var QUEUED_RUN_AT = /* @__PURE__ */ new Date(864e13);
1213
1217
  var TERMINAL_STATUSES2 = [
1214
1218
  "completed",
@@ -1245,14 +1249,16 @@ var PromiseMutex = class {
1245
1249
  }
1246
1250
  };
1247
1251
  var MemoryJobOrchestrator = class {
1248
- constructor(store, stepService, multiTenant) {
1252
+ constructor(store, stepService, multiTenant, moduleRef) {
1249
1253
  this.store = store;
1250
1254
  this.stepService = stepService;
1251
1255
  this.multiTenant = multiTenant;
1256
+ this.moduleRef = moduleRef;
1252
1257
  }
1253
1258
  store;
1254
1259
  stepService;
1255
1260
  multiTenant;
1261
+ moduleRef;
1256
1262
  logger = new Logger3(MemoryJobOrchestrator.name);
1257
1263
  mutex = new PromiseMutex();
1258
1264
  handlerRegistry = /* @__PURE__ */ new Map();
@@ -1593,7 +1599,9 @@ var MemoryJobOrchestrator = class {
1593
1599
  }
1594
1600
  const meta = registration.meta;
1595
1601
  const HandlerClass = registration.handlerClass;
1596
- const handler = new HandlerClass();
1602
+ const handler = this.moduleRef ? await this.moduleRef.create(
1603
+ HandlerClass
1604
+ ) : new HandlerClass();
1597
1605
  const ctx = {
1598
1606
  input: run.input,
1599
1607
  run,
@@ -1773,7 +1781,8 @@ var MemoryJobOrchestrator = class {
1773
1781
  };
1774
1782
  MemoryJobOrchestrator = __decorateClass([
1775
1783
  Injectable5(),
1776
- __decorateParam(2, Inject5(JOBS_MULTI_TENANT))
1784
+ __decorateParam(2, Inject5(JOBS_MULTI_TENANT)),
1785
+ __decorateParam(3, Optional())
1777
1786
  ], MemoryJobOrchestrator);
1778
1787
  function classifyError2(err, policy, currentAttempts) {
1779
1788
  if (!policy) return "fail";
@@ -2068,7 +2077,7 @@ import {
2068
2077
  Injectable as Injectable8,
2069
2078
  Logger as Logger4,
2070
2079
  Module as Module2,
2071
- Optional
2080
+ Optional as Optional2
2072
2081
  } from "@nestjs/common";
2073
2082
 
2074
2083
  // runtime/subsystems/jobs/pool-config.loader.ts
@@ -2194,18 +2203,20 @@ function extractUserPools(raw) {
2194
2203
  var DEFAULT_SHUTDOWN_TIMEOUT_MS2 = 3e4;
2195
2204
  var JOB_WORKER_MODULE_OPTIONS = /* @__PURE__ */ Symbol("JOB_WORKER_MODULE_OPTIONS");
2196
2205
  var JobWorkerOrchestrator = class {
2197
- constructor(orchestrator, runService, stepService, options, db = null) {
2206
+ constructor(orchestrator, runService, stepService, options, db = null, moduleRef) {
2198
2207
  this.orchestrator = orchestrator;
2199
2208
  this.runService = runService;
2200
2209
  this.stepService = stepService;
2201
2210
  this.options = options;
2202
2211
  this.db = db;
2212
+ this.moduleRef = moduleRef;
2203
2213
  }
2204
2214
  orchestrator;
2205
2215
  runService;
2206
2216
  stepService;
2207
2217
  options;
2208
2218
  db;
2219
+ moduleRef;
2209
2220
  logger = new Logger4(JobWorkerOrchestrator.name);
2210
2221
  workers = [];
2211
2222
  // ============================================================================
@@ -2304,12 +2315,18 @@ var JobWorkerOrchestrator = class {
2304
2315
  `JobWorkerModule: in-process worker spawning requires the Drizzle backend (no DRIZZLE provider available). Memory-mode tests must pass 'workerFactory' to inject a stub.`
2305
2316
  );
2306
2317
  }
2318
+ if (!this.moduleRef) {
2319
+ throw new Error(
2320
+ `JobWorkerModule: ModuleRef not available \u2014 cannot construct JobWorker with handler DI support. Ensure the orchestrator is resolved through the Nest container (not instantiated manually in tests).`
2321
+ );
2322
+ }
2307
2323
  return new JobWorker(
2308
2324
  this.db,
2309
2325
  this.orchestrator,
2310
2326
  this.runService,
2311
2327
  this.stepService,
2312
- workerOptions
2328
+ workerOptions,
2329
+ this.moduleRef
2313
2330
  );
2314
2331
  }
2315
2332
  };
@@ -2319,7 +2336,7 @@ JobWorkerOrchestrator = __decorateClass([
2319
2336
  __decorateParam(1, Inject7(JOB_RUN_SERVICE)),
2320
2337
  __decorateParam(2, Inject7(JOB_STEP_SERVICE)),
2321
2338
  __decorateParam(3, Inject7(JOB_WORKER_MODULE_OPTIONS)),
2322
- __decorateParam(4, Optional()),
2339
+ __decorateParam(4, Optional2()),
2323
2340
  __decorateParam(4, Inject7(DRIZZLE))
2324
2341
  ], JobWorkerOrchestrator);
2325
2342
  var JobWorkerModule = class {