@pattern-stack/codegen 0.21.0 → 0.23.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 (66) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +5 -1
  3. package/dist/{chunk-3A34R6CI.js → chunk-3VEVGL74.js} +4 -4
  4. package/dist/{chunk-G3IKPDTP.js → chunk-42763UEE.js} +2 -2
  5. package/dist/{chunk-524YKITE.js → chunk-4M66MQYA.js} +50 -6
  6. package/dist/chunk-4M66MQYA.js.map +1 -0
  7. package/dist/{chunk-EEJC66ZF.js → chunk-6XP2Q5SS.js} +3 -3
  8. package/dist/{chunk-6CJRZHV4.js → chunk-7B7MMDOJ.js} +57 -4
  9. package/dist/chunk-7B7MMDOJ.js.map +1 -0
  10. package/dist/{chunk-NXHL5YII.js → chunk-7LKAMLV4.js} +4 -4
  11. package/dist/{chunk-7625PLY7.js → chunk-COGHTKXY.js} +4 -4
  12. package/dist/{chunk-GV337QP3.js → chunk-E5FJWOMP.js} +7 -7
  13. package/dist/{chunk-TKU6VYG3.js → chunk-E6PLM6QG.js} +6 -6
  14. package/dist/{chunk-GMRTI7AK.js → chunk-FIUC6QB5.js} +3 -3
  15. package/dist/chunk-FIUC6QB5.js.map +1 -0
  16. package/dist/{chunk-YXI7K4MJ.js → chunk-PNCOUFFI.js} +7 -5
  17. package/dist/chunk-PNCOUFFI.js.map +1 -0
  18. package/dist/{chunk-MBFSG4KQ.js → chunk-SH76CFAY.js} +9 -4
  19. package/dist/chunk-SH76CFAY.js.map +1 -0
  20. package/dist/runtime/subsystems/auth/auth.module.js +3 -3
  21. package/dist/runtime/subsystems/auth/index.js +7 -7
  22. package/dist/runtime/subsystems/bridge/bridge-delivery.drizzle-backend.js +1 -1
  23. package/dist/runtime/subsystems/bridge/bridge-outbox-drain-hook.js +4 -4
  24. package/dist/runtime/subsystems/bridge/bridge.module.js +10 -10
  25. package/dist/runtime/subsystems/bridge/index.js +13 -13
  26. package/dist/runtime/subsystems/cache/cache.module.js +2 -2
  27. package/dist/runtime/subsystems/cache/index.js +4 -4
  28. package/dist/runtime/subsystems/events/event-bus.drizzle-backend.js +2 -2
  29. package/dist/runtime/subsystems/events/events.module.js +3 -3
  30. package/dist/runtime/subsystems/events/index.js +5 -5
  31. package/dist/runtime/subsystems/index.js +48 -48
  32. package/dist/runtime/subsystems/jobs/index.js +18 -18
  33. package/dist/runtime/subsystems/jobs/job-orchestrator.bullmq-backend.js +5 -5
  34. package/dist/runtime/subsystems/jobs/job-orchestrator.drizzle-backend.js +2 -2
  35. package/dist/runtime/subsystems/jobs/job-run-service.drizzle-backend.js +2 -2
  36. package/dist/runtime/subsystems/jobs/job-worker.bullmq-backend.js +3 -3
  37. package/dist/runtime/subsystems/jobs/job-worker.d.ts +592 -4
  38. package/dist/runtime/subsystems/jobs/job-worker.js +4 -2
  39. package/dist/runtime/subsystems/jobs/job-worker.module.js +6 -6
  40. package/dist/runtime/subsystems/jobs/jobs-domain.module.d.ts +19 -0
  41. package/dist/runtime/subsystems/jobs/jobs-domain.module.js +4 -4
  42. package/dist/runtime/subsystems/storage/index.js +1 -1
  43. package/dist/runtime/subsystems/storage/storage.module.js +1 -1
  44. package/dist/src/cli/index.js +226 -65
  45. package/dist/src/cli/index.js.map +1 -1
  46. package/dist/src/index.d.ts +477 -1
  47. package/dist/src/index.js +1 -1
  48. package/package.json +1 -1
  49. package/runtime/subsystems/events/event-bus.drizzle-backend.ts +23 -7
  50. package/runtime/subsystems/jobs/job-worker.module.ts +5 -0
  51. package/runtime/subsystems/jobs/job-worker.ts +126 -12
  52. package/runtime/subsystems/jobs/jobs-domain.module.ts +19 -0
  53. package/templates/entity/new/clean-lite-ps/prompt-extension.js +59 -10
  54. package/templates/subsystem/jobs-config/codegen-config-jobs-block.ejs.t +11 -0
  55. package/dist/chunk-524YKITE.js.map +0 -1
  56. package/dist/chunk-6CJRZHV4.js.map +0 -1
  57. package/dist/chunk-GMRTI7AK.js.map +0 -1
  58. package/dist/chunk-MBFSG4KQ.js.map +0 -1
  59. package/dist/chunk-YXI7K4MJ.js.map +0 -1
  60. /package/dist/{chunk-3A34R6CI.js.map → chunk-3VEVGL74.js.map} +0 -0
  61. /package/dist/{chunk-G3IKPDTP.js.map → chunk-42763UEE.js.map} +0 -0
  62. /package/dist/{chunk-EEJC66ZF.js.map → chunk-6XP2Q5SS.js.map} +0 -0
  63. /package/dist/{chunk-NXHL5YII.js.map → chunk-7LKAMLV4.js.map} +0 -0
  64. /package/dist/{chunk-7625PLY7.js.map → chunk-COGHTKXY.js.map} +0 -0
  65. /package/dist/{chunk-GV337QP3.js.map → chunk-E5FJWOMP.js.map} +0 -0
  66. /package/dist/{chunk-TKU6VYG3.js.map → chunk-E6PLM6QG.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../runtime/subsystems/jobs/job-worker.module.ts"],"sourcesContent":["/**\n * JobWorkerModule — `DynamicModule.forRoot({ mode, pools? })` factory that\n * boots one `JobWorker` per active pool and runs the boot-time validator\n * (Drizzle only) (ADR-022, JOB-5).\n *\n * Imports `JobsDomainModule` internally so call sites only need to add\n * `JobWorkerModule.forRoot(...)` to `AppModule.imports` — the protocol\n * tokens become available transitively via `global: true`.\n *\n * Lifecycle (`onModuleInit`, **order-critical** per JOB-5 spec):\n * 1. `loadPoolConfig()` → resolved `PoolConfig`\n * 2. `HandlerRegistry.getAll()` → registered entries\n * 3. Reserved-pool validation → throws `ReservedPoolViolationError`\n * 4. `orchestrator.upsertJobRows(entries, …)` → persist `job` definitions\n * 5. Boot validator (Drizzle only) → throws `BootValidationError`\n * (skipped entirely in memory mode — Q4 resolution 2026-04-19)\n * 6. Spawn one `JobWorker` per active pool → start polling loops\n *\n * `onModuleDestroy` calls `gracefulStop` on each worker (drains in-flight,\n * resets `running` rows, removes SIGTERM handler).\n */\nimport {\n Inject,\n Injectable,\n Logger,\n Module,\n Optional,\n type DynamicModule,\n type OnModuleDestroy,\n type OnModuleInit,\n} from '@nestjs/common';\nimport { ModuleRef } from '@nestjs/core';\nimport { tokenKey } from '../token-key';\nimport { DRIZZLE } from '../../constants/tokens';\nimport type { DrizzleClient } from '../../types/drizzle';\nimport { HandlerRegistry, type HandlerRegistryEntry } from './job-handler.base';\nimport {\n JobsDomainModule,\n type JobsDomainModuleOptions,\n} from './jobs-domain.module';\nimport {\n JOB_ORCHESTRATOR,\n JOB_RUN_SERVICE,\n JOB_STEP_SERVICE,\n} from './jobs-domain.tokens';\nimport type { IJobOrchestrator } from './job-orchestrator.protocol';\nimport type { IJobRunService } from './job-run-service.protocol';\nimport type { IJobStepService } from './job-step-service.protocol';\nimport {\n allNonReservedPoolNames,\n allPoolNames,\n loadPoolConfig,\n type PoolConfig,\n} from './pool-config.loader';\nimport { JobWorker, type JobWorkerOptions } from './job-worker';\n// #6 — `BullMQJobWorker` is lazy-loaded only when `backend: 'bullmq'` is\n// selected (`spawnBullMQWorker` below). The file is filtered out of drizzle/\n// memory installs (see `backendFileFilter`). The `ConnectionOptions` type\n// previously imported from `'bullmq'` is replaced by `BullMqConnectionOptions`\n// from `./bullmq.config` (a self-contained structural mirror that does NOT\n// require the `bullmq` peer dep to type-check).\nimport {\n BULLMQ_CONNECTION,\n BULLMQ_RESOLVED_CONFIG,\n resolvePoolQueueName,\n type BullMqConnectionOptions,\n type BullMqResolvedConfig,\n} from './bullmq.config';\nimport {\n BootValidationError,\n ReservedPoolViolationError,\n} from './jobs-errors';\n\nconst DEFAULT_SHUTDOWN_TIMEOUT_MS = 30_000;\n\nexport interface JobWorkerModuleOptions {\n mode: 'embedded' | 'standalone';\n /**\n * Threads into the internal `JobsDomainModule.forRoot({ backend })`\n * import. Default `'drizzle'`. The boot-time validator runs for both\n * `'drizzle'` and `'bullmq'` (both persist `job` rows to Postgres);\n * `'memory'` skips it.\n */\n backend?: 'drizzle' | 'memory' | 'bullmq';\n /**\n * Active pool names. Defaults to every non-reserved pool in the resolved\n * config (i.e. `interactive`, `batch`, plus any user-defined pools).\n * Operators reduce this to one or two pools per worker process to scale\n * horizontally.\n */\n pools?: string[];\n /**\n * BULLMQ-1 Phase 1 — when `true`, `onModuleInit` activates **every** pool\n * in the resolved config, including the reserved `events_*` lanes. This is\n * how the standalone worker (`worker.ts`) drains bridge wrappers without\n * the consumer hand-listing `...BRIDGE_RESERVED_POOLS`. Mutually exclusive\n * with an explicit `pools` list — when both are set, `pools` wins (explicit\n * beats blanket) and `allPools` is ignored.\n *\n * `BridgeModule`'s reserved-pool guard short-circuits to \"pass\" when this\n * is `true`, since every reserved pool is provably being polled.\n */\n allPools?: boolean;\n /** SIGTERM drain budget. Default 30_000 ms. */\n shutdownTimeoutMs?: number;\n /**\n * Test-only — point the pool config loader at a specific YAML file.\n * Production code reads `${process.cwd()}/codegen.config.yaml`.\n */\n configPath?: string;\n /**\n * Forwarded into the inner `JobsDomainModule.forRoot()` call so the\n * worker module's caller can configure backend extensions in one place.\n */\n domainModuleExtensions?: JobsDomainModuleOptions['extensions'];\n /** Forwarded into `JobsDomainModule.forRoot()`. JOB-8 wires this. */\n multiTenant?: boolean;\n /**\n * Test-only escape hatch — when set, the module uses this factory\n * instead of `new JobWorker(...)` so unit tests can stub the worker\n * without spinning up the polling loop.\n */\n workerFactory?: (options: JobWorkerOptions) => Pick<JobWorker, 'onModuleInit' | 'onModuleDestroy'>;\n}\n\n/**\n * DI token for the resolved `JobWorkerModuleOptions`. Exported so other\n * subsystems can inject it `@Optional()` and inspect the active\n * configuration — e.g. `BridgeModule.onModuleInit` checks\n * `options.pools` against `BRIDGE_RESERVED_POOLS` to fail fast when a\n * reserved pool isn't being polled (BRIDGE-8).\n *\n * ADR-037: namespaced `Symbol.for(...)` (via `tokenKey()`) — matches by value\n * across runtime copies.\n */\nexport const JOB_WORKER_MODULE_OPTIONS = Symbol.for(tokenKey('jobs', 'worker-module-options'));\n\n/**\n * The lifecycle holder. Named `JobWorkerOrchestrator` in the spec to avoid\n * collision with `JobWorker` and `IJobOrchestrator`. Registered as a\n * provider on `JobWorkerModule`; Nest invokes `onModuleInit` /\n * `onModuleDestroy` automatically.\n */\n@Injectable()\nexport class JobWorkerOrchestrator implements OnModuleInit, OnModuleDestroy {\n private readonly logger = new Logger(JobWorkerOrchestrator.name);\n private readonly workers: Array<Pick<JobWorker, 'onModuleInit' | 'onModuleDestroy'>> = [];\n\n constructor(\n @Inject(JOB_ORCHESTRATOR) private readonly orchestrator: IJobOrchestrator,\n @Inject(JOB_RUN_SERVICE) private readonly runService: IJobRunService,\n @Inject(JOB_STEP_SERVICE) private readonly stepService: IJobStepService,\n @Inject(JOB_WORKER_MODULE_OPTIONS)\n private readonly options: JobWorkerModuleOptions,\n /**\n * Drizzle client is only required when `backend === 'drizzle'`. Made\n * `@Optional()` so memory-mode boots in `Test.createTestingModule`\n * without supplying a `DRIZZLE` provider.\n */\n @Optional() @Inject(DRIZZLE) private readonly db: DrizzleClient | null = null,\n /**\n * ADR-037 (package-mode DI): inject `ModuleRef` EXPLICITLY via `@Inject`\n * rather than relying on `design:paramtypes` reflection. The published\n * package bundle is built without `emitDecoratorMetadata` (tsup/esbuild\n * default), so a by-type injection here would resolve to `undefined` at\n * boot in package mode — breaking the worker entirely (the\n * `ModuleRef not available` throw). Vendored mode happened to work only\n * because the consumer's own `tsc` (emitDecoratorMetadata: true)\n * recompiled the source and emitted the metadata. The explicit token is\n * mode-agnostic. `ModuleRef` is always provided by `@nestjs/core`, so no\n * `@Optional()` is needed (it's a hard dependency of the worker path).\n */\n @Inject(ModuleRef) private readonly moduleRef?: ModuleRef,\n /**\n * BULLMQ-1 — resolved BullMQ connection + config, only bound when the\n * inner `JobsDomainModule` was booted with `backend: 'bullmq'`. `@Optional()`\n * so drizzle/memory boots see `null`.\n */\n @Optional()\n @Inject(BULLMQ_CONNECTION)\n private readonly bullConnection: BullMqConnectionOptions | null = null,\n @Optional()\n @Inject(BULLMQ_RESOLVED_CONFIG)\n private readonly bullConfig: BullMqResolvedConfig | null = null,\n ) {}\n\n // ============================================================================\n // Lifecycle\n // ============================================================================\n\n async onModuleInit(): Promise<void> {\n const backend = this.options.backend ?? 'drizzle';\n\n // (1) Pool config first — every later step needs the resolved map.\n const poolConfig = loadPoolConfig(this.options.configPath);\n\n // (2) Snapshot the registry. Decorators run at class-load time so the\n // map is fully populated before any module init fires.\n const entries = HandlerRegistry.getAll();\n\n // (3) Reserved-pool validation BEFORE the upsert. Persisting a\n // reserved-pool handler row would leave the DB in a bad state for\n // the next boot to clean up.\n this.assertNoReservedPoolHandlers(entries, poolConfig);\n\n // (4) Upsert `job` definitions. Drizzle: hash-gated `ON CONFLICT DO\n // UPDATE`. Memory: populates `MemoryJobStore.jobs` + handler-class\n // registry.\n const { orphaned } = await this.orchestrator.upsertJobRows(\n entries,\n poolConfig,\n );\n\n // (5) Boot validator — Drizzle only. Memory mode never has DB rows\n // to validate (Q4 resolution 2026-04-19); the equivalent\n // protection is `MemoryJobOrchestrator.start()` throwing\n // `JobTypeNotFoundError` synchronously for unknown types.\n if (backend !== 'memory' && orphaned.length > 0) {\n throw new BootValidationError(orphaned);\n }\n\n // (6) Resolve active pool list and spawn one worker per pool.\n // Precedence: explicit `pools` > `allPools` (incl. reserved) >\n // non-reserved default. BULLMQ-1 Phase 1 adds the `allPools` rung so\n // the standalone worker drains the reserved `events_*` bridge lanes.\n const activePools = this.options.pools\n ? this.options.pools\n : this.options.allPools\n ? allPoolNames(poolConfig)\n : allNonReservedPoolNames(poolConfig);\n\n for (const poolName of activePools) {\n const def = poolConfig.get(poolName);\n if (!def) {\n throw new Error(\n `JobWorkerModule: active pool '${poolName}' is not defined in ` +\n `the resolved pool config. Configured pools: [${[...poolConfig.keys()].join(', ')}].`,\n );\n }\n // `pool` here is the logical pool name (e.g. 'crm_sync') — the same\n // value the orchestrator persists into `job_run.pool` from\n // `@JobHandler.meta.pool`, and therefore the value the worker's\n // claim query filters on. `def.queue` is a display/routing alias\n // (e.g. 'jobs-crm-sync') used by BullMQ-style backends for queue\n // naming; it MUST NOT be passed as the claim-filter pool, or the\n // worker will never match any row and the pool silently never\n // drains. See v0.4.4 fix notes.\n // LISTEN-NOTIFY-1 — thread the drizzle extension knobs into each spawned\n // worker. `pollIntervalMs` was always honored by JobWorker but never\n // received a config value; `listenNotify` is the new wake opt-in. Only\n // the drizzle backend reads these (bullmq has native wakeups + its own\n // queue topology), so we ignore them under `backend: 'bullmq'`.\n const drizzleExt =\n backend === 'drizzle'\n ? this.options.domainModuleExtensions?.drizzle\n : undefined;\n const workerOptions: JobWorkerOptions = {\n pool: poolName,\n concurrency: def.concurrency,\n shutdownTimeoutMs:\n this.options.shutdownTimeoutMs ?? DEFAULT_SHUTDOWN_TIMEOUT_MS,\n pollIntervalMs: drizzleExt?.pollIntervalMs,\n listenNotify: drizzleExt?.listenNotify,\n // CLAIM-HB-1 — lease tuning knobs. All optional; the worker defaults\n // claimHeartbeatIntervalMs to staleThresholdMs/3 when omitted.\n staleSweeperIntervalMs: drizzleExt?.staleSweeperIntervalMs,\n staleThresholdMs: drizzleExt?.staleThresholdMs,\n claimHeartbeatIntervalMs: drizzleExt?.claimHeartbeatIntervalMs,\n };\n const worker = this.options.workerFactory\n ? this.options.workerFactory(workerOptions)\n : backend === 'bullmq'\n ? await this.spawnBullMQWorker(poolName, def.queue, def.concurrency, poolConfig)\n : this.spawnWorker(workerOptions);\n // `JobWorker` extends Nest's lifecycle hooks but the worker isn't\n // a Nest provider here (we manage the array ourselves). Call\n // `onModuleInit` to start the loop. The Drizzle/stub workers return\n // void; `BullMQJobWorker.onModuleInit` is async (it lazily loads the\n // optional `bullmq` package), so we `await` — awaiting a `void` is a\n // harmless no-op for the synchronous workers.\n await worker.onModuleInit();\n this.workers.push(worker);\n this.logger.log(\n `JobWorker started: pool='${poolName}' (queue='${def.queue}') ` +\n `concurrency=${def.concurrency} backend='${backend}'`,\n );\n }\n }\n\n async onModuleDestroy(): Promise<void> {\n // Tear down in reverse order so the most recently started worker\n // drains first — keeps the SIGTERM handler graph predictable.\n for (let i = this.workers.length - 1; i >= 0; i--) {\n const worker = this.workers[i];\n if (!worker) continue;\n try {\n await worker.onModuleDestroy();\n } catch (err) {\n this.logger.error(\n `JobWorker shutdown failed: ${(err as Error).message}`,\n );\n }\n }\n this.workers.length = 0;\n\n // BULLMQ-1 — close the orchestrator's producer-side Queue/FlowProducer\n // connections so the process can exit cleanly. The orchestrator is the\n // BullMQ producer; workers are the consumers (closed above).\n const orch = this.orchestrator as { closeConnections?: () => Promise<void> };\n if (typeof orch.closeConnections === 'function') {\n try {\n await orch.closeConnections();\n } catch (err) {\n this.logger.error(\n `BullMQ orchestrator connection close failed: ${(err as Error).message}`,\n );\n }\n }\n }\n\n // ============================================================================\n // Internals\n // ============================================================================\n\n /**\n * Walk every registered handler; collect any whose declared `pool`\n * targets a reserved pool from the resolved config. If non-empty,\n * throw `ReservedPoolViolationError` with the offender list so the\n * operator sees every violating class on a single boot.\n */\n private assertNoReservedPoolHandlers(\n entries: HandlerRegistryEntry[],\n poolConfig: PoolConfig,\n ): void {\n const offenders: Array<{ handlerClass: string; pool: string }> = [];\n for (const entry of entries) {\n // Framework-owned handlers (`@framework/*` job types) are allowed in\n // reserved pools — that is in fact the entire point of the reserved\n // `events_*` pools (ADR-022 + ADR-023). The reserved-pool guard\n // exists to keep USER handlers out, not the framework's own\n // bridge-delivery handler. BRIDGE-5 introduced this exemption.\n if (entry.type.startsWith('@framework/')) continue;\n const declaredPool = entry.meta.pool ?? 'batch';\n const def = poolConfig.get(declaredPool);\n if (def?.reserved) {\n offenders.push({\n handlerClass: entry.handlerClass.name,\n pool: declaredPool,\n });\n }\n }\n if (offenders.length > 0) {\n throw new ReservedPoolViolationError(offenders);\n }\n }\n\n /**\n * Production worker spawn. `JobWorker` requires `DRIZZLE` so this only\n * succeeds when the module was booted with `backend: 'drizzle'`. Memory\n * mode tests must supply `workerFactory` — the memory backend has no\n * polling loop equivalent (`MemoryJobOrchestrator` is direct-invocation\n * only).\n *\n * We instantiate outside the Nest container because the module spawns\n * N workers from a single options shape, which doesn't fit Nest's\n * \"one provider per token\" model. The dependencies are passed\n * positionally; the constructor's `@Inject` decorators are unused on\n * this path (Nest still uses them when `JobWorker` is a provider — e.g.\n * in JOB-6's standalone `worker.ts` entrypoint).\n */\n private spawnWorker(workerOptions: JobWorkerOptions): JobWorker {\n if (!this.db) {\n throw new Error(\n `JobWorkerModule: in-process worker spawning requires the Drizzle ` +\n `backend (no DRIZZLE provider available). Memory-mode tests must ` +\n `pass 'workerFactory' to inject a stub.`,\n );\n }\n if (!this.moduleRef) {\n throw new Error(\n `JobWorkerModule: ModuleRef not available — cannot construct JobWorker ` +\n `with handler DI support. Ensure the orchestrator is resolved through ` +\n `the Nest container (not instantiated manually in tests).`,\n );\n }\n return new JobWorker(\n this.db,\n this.orchestrator,\n this.runService,\n this.stepService,\n workerOptions,\n this.moduleRef,\n );\n }\n\n /**\n * BULLMQ-1 — spawn a per-pool `BullMQJobWorker`. Requires the Drizzle\n * client (the worker drives `job_run` as the source of truth) AND the\n * resolved BullMQ connection (bound by `JobsDomainModule` when\n * `backend: 'bullmq'`). The queue name is derived identically to the\n * orchestrator's `dispatch` via `resolvePoolQueueName(pool, …)` so producer\n * and consumer agree.\n */\n /**\n * #6 — async + dynamic-import. The `job-worker.bullmq-backend.ts` file is\n * filtered out of the vendor set for drizzle/memory installs (no `bullmq`\n * peer dep needed). The non-literal import specifier makes TS treat the\n * module as `any` so the consumer's tsc never tries to resolve an absent\n * file. This method is only entered when `backend === 'bullmq'` — at which\n * point the file IS vendored.\n */\n private async spawnBullMQWorker(\n pool: string,\n _queueAlias: string,\n concurrency: number,\n poolConfig: PoolConfig,\n ): Promise<Pick<JobWorker, 'onModuleInit' | 'onModuleDestroy'>> {\n if (!this.db) {\n throw new Error(\n `JobWorkerModule: BullMQ worker spawning requires the Drizzle client ` +\n `(no DRIZZLE provider available) — job_run remains the source of truth.`,\n );\n }\n if (!this.bullConnection) {\n throw new Error(\n `JobWorkerModule: BullMQ worker spawning requires a resolved ` +\n `BULLMQ_CONNECTION. Ensure JobsDomainModule was booted with ` +\n `backend: 'bullmq'.`,\n );\n }\n if (!this.moduleRef) {\n throw new Error(\n `JobWorkerModule: ModuleRef not available — cannot construct ` +\n `BullMQJobWorker with handler DI support.`,\n );\n }\n const queueName = resolvePoolQueueName(pool, this.bullConfig, poolConfig);\n const specifier = './job-worker.bullmq-backend';\n const mod = (await import(specifier)) as {\n BullMQJobWorker: new (...args: unknown[]) => Pick<\n JobWorker,\n 'onModuleInit' | 'onModuleDestroy'\n >;\n };\n return new mod.BullMQJobWorker(\n this.db,\n this.orchestrator,\n this.stepService,\n {\n pool,\n queueName,\n concurrency,\n connection: this.bullConnection,\n },\n this.moduleRef,\n );\n }\n}\n\n@Module({})\nexport class JobWorkerModule {\n static forRoot(opts: JobWorkerModuleOptions): DynamicModule {\n return {\n module: JobWorkerModule,\n imports: [\n JobsDomainModule.forRoot({\n backend: opts.backend ?? 'drizzle',\n extensions: opts.domainModuleExtensions,\n multiTenant: opts.multiTenant,\n }),\n ],\n providers: [\n { provide: JOB_WORKER_MODULE_OPTIONS, useValue: opts },\n JobWorkerOrchestrator,\n ],\n // BULLMQ-1 Phase 1 — export the options token so `BridgeModule`'s\n // reserved-pool guard (`onModuleInit`) can actually inject it.\n // Previously `exports: []` left the `@Optional()` inject resolving to\n // `undefined` and the guard silently no-opped (a dead check). With the\n // token exported the guard fires for real; consumers that omit the\n // reserved pools (and don't set `allPools`) now fail fast with\n // `BridgeReservedPoolsNotPolledError` — which is correct.\n exports: [JOB_WORKER_MODULE_OPTIONS],\n };\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  AuthModule
3
- } from "../../../chunk-NXHL5YII.js";
3
+ } from "../../../chunk-7LKAMLV4.js";
4
4
  import "../../../chunk-IP4OO26U.js";
5
- import "../../../chunk-QLTJSCE6.js";
6
- import "../../../chunk-SZVPIHWE.js";
7
5
  import "../../../chunk-N5OTOWTP.js";
6
+ import "../../../chunk-QLTJSCE6.js";
8
7
  import "../../../chunk-BPARRK6F.js";
8
+ import "../../../chunk-SZVPIHWE.js";
9
9
  import "../../../chunk-NPFPZ2HO.js";
10
10
  import "../../../chunk-6XY6ZMMD.js";
11
11
  import "../../../chunk-GYGNEQSC.js";
@@ -19,22 +19,22 @@ import {
19
19
  } from "../../../chunk-OSQRXVG2.js";
20
20
  import {
21
21
  AuthModule
22
- } from "../../../chunk-NXHL5YII.js";
22
+ } from "../../../chunk-7LKAMLV4.js";
23
23
  import {
24
24
  EnvEncryptionKey
25
25
  } from "../../../chunk-IP4OO26U.js";
26
- import {
27
- MemoryOAuthStateStore
28
- } from "../../../chunk-QLTJSCE6.js";
29
- import {
30
- AuthController
31
- } from "../../../chunk-SZVPIHWE.js";
32
26
  import {
33
27
  DrizzleOAuthStateStore
34
28
  } from "../../../chunk-N5OTOWTP.js";
29
+ import {
30
+ MemoryOAuthStateStore
31
+ } from "../../../chunk-QLTJSCE6.js";
35
32
  import {
36
33
  OAuthStateError
37
34
  } from "../../../chunk-BPARRK6F.js";
35
+ import {
36
+ AuthController
37
+ } from "../../../chunk-SZVPIHWE.js";
38
38
  import {
39
39
  authOAuthState
40
40
  } from "../../../chunk-NPFPZ2HO.js";
@@ -4,9 +4,9 @@ import {
4
4
  import "../../../chunk-BORNCTH3.js";
5
5
  import "../../../chunk-6DWFJNIK.js";
6
6
  import "../../../chunk-NXXDZ6ZF.js";
7
+ import "../../../chunk-4LH67P4U.js";
7
8
  import "../../../chunk-OKXZ63IA.js";
8
9
  import "../../../chunk-E2BRT5IB.js";
9
- import "../../../chunk-4LH67P4U.js";
10
10
  import "../../../chunk-U64T4YZE.js";
11
11
  import "../../../chunk-2E224ZSN.js";
12
12
  export {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  BridgeOutboxDrainHook
3
- } from "../../../chunk-GV337QP3.js";
4
- import "../../../chunk-BORNCTH3.js";
3
+ } from "../../../chunk-E5FJWOMP.js";
5
4
  import "../../../chunk-R6F6KFIL.js";
5
+ import "../../../chunk-BORNCTH3.js";
6
6
  import "../../../chunk-6DWFJNIK.js";
7
7
  import "../../../chunk-NXXDZ6ZF.js";
8
8
  import "../../../chunk-Q6LRJ4VI.js";
9
- import "../../../chunk-OKXZ63IA.js";
10
- import "../../../chunk-E2BRT5IB.js";
11
9
  import "../../../chunk-7P5ODGLA.js";
12
10
  import "../../../chunk-ZPL74UQN.js";
13
11
  import "../../../chunk-H5NH7KPE.js";
14
12
  import "../../../chunk-4LH67P4U.js";
13
+ import "../../../chunk-OKXZ63IA.js";
14
+ import "../../../chunk-E2BRT5IB.js";
15
15
  import "../../../chunk-GYGNEQSC.js";
16
16
  import "../../../chunk-2E224ZSN.js";
17
17
  export {
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  BridgeModule
3
- } from "../../../chunk-EEJC66ZF.js";
3
+ } from "../../../chunk-6XP2Q5SS.js";
4
4
  import "../../../chunk-5A432NZJ.js";
5
5
  import "../../../chunk-7OVCARTQ.js";
6
6
  import "../../../chunk-EDKJU5BO.js";
7
7
  import "../../../chunk-YULGWXCY.js";
8
8
  import "../../../chunk-4DOJBQTP.js";
9
- import "../../../chunk-GV337QP3.js";
10
- import "../../../chunk-BORNCTH3.js";
9
+ import "../../../chunk-E5FJWOMP.js";
11
10
  import "../../../chunk-R6F6KFIL.js";
11
+ import "../../../chunk-BORNCTH3.js";
12
12
  import "../../../chunk-6DWFJNIK.js";
13
13
  import "../../../chunk-NXXDZ6ZF.js";
14
- import "../../../chunk-MBFSG4KQ.js";
15
- import "../../../chunk-6CJRZHV4.js";
16
- import "../../../chunk-GMRTI7AK.js";
14
+ import "../../../chunk-SH76CFAY.js";
15
+ import "../../../chunk-7B7MMDOJ.js";
16
+ import "../../../chunk-FIUC6QB5.js";
17
17
  import "../../../chunk-VQOAATIG.js";
18
- import "../../../chunk-3A34R6CI.js";
18
+ import "../../../chunk-3VEVGL74.js";
19
19
  import "../../../chunk-CDLWYZVQ.js";
20
20
  import "../../../chunk-L3LZWWSX.js";
21
21
  import "../../../chunk-DV4RV2DC.js";
@@ -23,15 +23,15 @@ import "../../../chunk-PNZSGAB2.js";
23
23
  import "../../../chunk-SNQ3TOWP.js";
24
24
  import "../../../chunk-I6MVCB5A.js";
25
25
  import "../../../chunk-RHVN6NA7.js";
26
- import "../../../chunk-TKU6VYG3.js";
26
+ import "../../../chunk-E6PLM6QG.js";
27
27
  import "../../../chunk-T4BIIU5E.js";
28
28
  import "../../../chunk-Q6LRJ4VI.js";
29
- import "../../../chunk-OKXZ63IA.js";
30
- import "../../../chunk-E2BRT5IB.js";
31
29
  import "../../../chunk-7P5ODGLA.js";
32
30
  import "../../../chunk-ZPL74UQN.js";
33
31
  import "../../../chunk-H5NH7KPE.js";
34
32
  import "../../../chunk-4LH67P4U.js";
33
+ import "../../../chunk-OKXZ63IA.js";
34
+ import "../../../chunk-E2BRT5IB.js";
35
35
  import "../../../chunk-GYGNEQSC.js";
36
36
  import "../../../chunk-U64T4YZE.js";
37
37
  import "../../../chunk-2E224ZSN.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  BridgeModule
3
- } from "../../../chunk-EEJC66ZF.js";
3
+ } from "../../../chunk-6XP2Q5SS.js";
4
4
  import "../../../chunk-5A432NZJ.js";
5
5
  import {
6
6
  EventFlowService
@@ -16,15 +16,15 @@ import {
16
16
  } from "../../../chunk-4DOJBQTP.js";
17
17
  import {
18
18
  BridgeOutboxDrainHook
19
- } from "../../../chunk-GV337QP3.js";
20
- import {
21
- bridgeDelivery,
22
- bridgeDeliveryStatusEnum
23
- } from "../../../chunk-BORNCTH3.js";
19
+ } from "../../../chunk-E5FJWOMP.js";
24
20
  import {
25
21
  BRIDGE_DELIVERY_JOB_TYPE,
26
22
  BridgeDeliveryHandler
27
23
  } from "../../../chunk-R6F6KFIL.js";
24
+ import {
25
+ bridgeDelivery,
26
+ bridgeDeliveryStatusEnum
27
+ } from "../../../chunk-BORNCTH3.js";
28
28
  import {
29
29
  assertTenantId
30
30
  } from "../../../chunk-6DWFJNIK.js";
@@ -33,11 +33,11 @@ import {
33
33
  MissingTenantIdError,
34
34
  UniqueConstraintError
35
35
  } from "../../../chunk-NXXDZ6ZF.js";
36
- import "../../../chunk-MBFSG4KQ.js";
37
- import "../../../chunk-6CJRZHV4.js";
38
- import "../../../chunk-GMRTI7AK.js";
36
+ import "../../../chunk-SH76CFAY.js";
37
+ import "../../../chunk-7B7MMDOJ.js";
38
+ import "../../../chunk-FIUC6QB5.js";
39
39
  import "../../../chunk-VQOAATIG.js";
40
- import "../../../chunk-3A34R6CI.js";
40
+ import "../../../chunk-3VEVGL74.js";
41
41
  import "../../../chunk-CDLWYZVQ.js";
42
42
  import "../../../chunk-L3LZWWSX.js";
43
43
  import "../../../chunk-DV4RV2DC.js";
@@ -45,11 +45,9 @@ import "../../../chunk-PNZSGAB2.js";
45
45
  import "../../../chunk-SNQ3TOWP.js";
46
46
  import "../../../chunk-I6MVCB5A.js";
47
47
  import "../../../chunk-RHVN6NA7.js";
48
- import "../../../chunk-TKU6VYG3.js";
48
+ import "../../../chunk-E6PLM6QG.js";
49
49
  import "../../../chunk-T4BIIU5E.js";
50
50
  import "../../../chunk-Q6LRJ4VI.js";
51
- import "../../../chunk-OKXZ63IA.js";
52
- import "../../../chunk-E2BRT5IB.js";
53
51
  import "../../../chunk-7P5ODGLA.js";
54
52
  import "../../../chunk-ZPL74UQN.js";
55
53
  import "../../../chunk-H5NH7KPE.js";
@@ -61,6 +59,8 @@ import {
61
59
  BRIDGE_REGISTRY,
62
60
  EVENT_FLOW
63
61
  } from "../../../chunk-4LH67P4U.js";
62
+ import "../../../chunk-OKXZ63IA.js";
63
+ import "../../../chunk-E2BRT5IB.js";
64
64
  import "../../../chunk-GYGNEQSC.js";
65
65
  import "../../../chunk-U64T4YZE.js";
66
66
  import "../../../chunk-2E224ZSN.js";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  CacheModule
3
- } from "../../../chunk-7625PLY7.js";
4
- import "../../../chunk-IF5I3DAA.js";
3
+ } from "../../../chunk-COGHTKXY.js";
5
4
  import "../../../chunk-T6C4LFLC.js";
6
5
  import "../../../chunk-FASRXRX5.js";
6
+ import "../../../chunk-IF5I3DAA.js";
7
7
  import "../../../chunk-L6FTY45T.js";
8
8
  import "../../../chunk-GYGNEQSC.js";
9
9
  import "../../../chunk-U64T4YZE.js";
@@ -1,16 +1,16 @@
1
1
  import "../../../chunk-IWAOY6KC.js";
2
2
  import {
3
3
  CacheModule
4
- } from "../../../chunk-7625PLY7.js";
5
- import {
6
- MemoryCacheService
7
- } from "../../../chunk-IF5I3DAA.js";
4
+ } from "../../../chunk-COGHTKXY.js";
8
5
  import {
9
6
  DrizzleCacheService
10
7
  } from "../../../chunk-T6C4LFLC.js";
11
8
  import {
12
9
  cacheEntries
13
10
  } from "../../../chunk-FASRXRX5.js";
11
+ import {
12
+ MemoryCacheService
13
+ } from "../../../chunk-IF5I3DAA.js";
14
14
  import {
15
15
  CACHE,
16
16
  CACHE_DEFAULT_TTL
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  DrizzleEventBus
3
- } from "../../../chunk-YXI7K4MJ.js";
3
+ } from "../../../chunk-PNCOUFFI.js";
4
4
  import "../../../chunk-UQ5EHOH2.js";
5
5
  import "../../../chunk-Q6LRJ4VI.js";
6
- import "../../../chunk-E2BRT5IB.js";
7
6
  import "../../../chunk-H5NH7KPE.js";
8
7
  import "../../../chunk-4LH67P4U.js";
8
+ import "../../../chunk-E2BRT5IB.js";
9
9
  import "../../../chunk-GYGNEQSC.js";
10
10
  import "../../../chunk-U64T4YZE.js";
11
11
  import "../../../chunk-2E224ZSN.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  EventSchedulerLifecycle,
3
3
  EventsModule
4
- } from "../../../chunk-G3IKPDTP.js";
4
+ } from "../../../chunk-42763UEE.js";
5
5
  import "../../../chunk-INO47JXD.js";
6
6
  import "../../../chunk-JOBQ6RUU.js";
7
7
  import "../../../chunk-JRQO2IOF.js";
8
8
  import "../../../chunk-DUUCU77W.js";
9
9
  import "../../../chunk-DUBZOXJC.js";
10
- import "../../../chunk-YXI7K4MJ.js";
10
+ import "../../../chunk-PNCOUFFI.js";
11
11
  import "../../../chunk-GOO5ZMYO.js";
12
12
  import "../../../chunk-UQ5EHOH2.js";
13
13
  import "../../../chunk-Q6LRJ4VI.js";
14
- import "../../../chunk-E2BRT5IB.js";
15
14
  import "../../../chunk-H5NH7KPE.js";
16
15
  import "../../../chunk-4LH67P4U.js";
16
+ import "../../../chunk-E2BRT5IB.js";
17
17
  import "../../../chunk-GYGNEQSC.js";
18
18
  import "../../../chunk-U64T4YZE.js";
19
19
  import "../../../chunk-2E224ZSN.js";
@@ -2,7 +2,7 @@ import "../../../chunk-SYVZ4MD2.js";
2
2
  import {
3
3
  EventSchedulerLifecycle,
4
4
  EventsModule
5
- } from "../../../chunk-G3IKPDTP.js";
5
+ } from "../../../chunk-42763UEE.js";
6
6
  import {
7
7
  TypedEventBus
8
8
  } from "../../../chunk-INO47JXD.js";
@@ -25,15 +25,12 @@ import {
25
25
  } from "../../../chunk-DUBZOXJC.js";
26
26
  import {
27
27
  DrizzleEventBus
28
- } from "../../../chunk-YXI7K4MJ.js";
28
+ } from "../../../chunk-PNCOUFFI.js";
29
29
  import {
30
30
  MemoryEventBus
31
31
  } from "../../../chunk-GOO5ZMYO.js";
32
32
  import "../../../chunk-UQ5EHOH2.js";
33
33
  import "../../../chunk-Q6LRJ4VI.js";
34
- import {
35
- domainEvents
36
- } from "../../../chunk-E2BRT5IB.js";
37
34
  import {
38
35
  EVENTS_MODULE_OPTIONS,
39
36
  EVENTS_MULTI_TENANT,
@@ -42,6 +39,9 @@ import {
42
39
  TYPED_EVENT_BUS
43
40
  } from "../../../chunk-H5NH7KPE.js";
44
41
  import "../../../chunk-4LH67P4U.js";
42
+ import {
43
+ domainEvents
44
+ } from "../../../chunk-E2BRT5IB.js";
45
45
  import "../../../chunk-GYGNEQSC.js";
46
46
  import "../../../chunk-U64T4YZE.js";
47
47
  import "../../../chunk-2E224ZSN.js";
@@ -1,3 +1,17 @@
1
+ import "../../chunk-ZUMULSEQ.js";
2
+ import {
3
+ StorageModule
4
+ } from "../../chunk-4MVGAMUA.js";
5
+ import {
6
+ LocalStorageBackend
7
+ } from "../../chunk-JWNHNUYL.js";
8
+ import {
9
+ MemoryStorageBackend
10
+ } from "../../chunk-3SZFUTXE.js";
11
+ import {
12
+ STORAGE
13
+ } from "../../chunk-NYBCQZC7.js";
14
+ import "../../chunk-J6MN42LG.js";
1
15
  import "../../chunk-FI34KYZ5.js";
2
16
  import "../../chunk-L4SDDEEU.js";
3
17
  import {
@@ -12,42 +26,42 @@ import {
12
26
  OBSERVABILITY,
13
27
  OBSERVABILITY_MODULE_OPTIONS
14
28
  } from "../../chunk-Y7RRSEOC.js";
15
- import "../../chunk-ZUMULSEQ.js";
16
- import {
17
- StorageModule
18
- } from "../../chunk-4MVGAMUA.js";
19
- import {
20
- LocalStorageBackend
21
- } from "../../chunk-JWNHNUYL.js";
22
- import {
23
- MemoryStorageBackend
24
- } from "../../chunk-3SZFUTXE.js";
25
- import "../../chunk-J6MN42LG.js";
26
- import {
27
- STORAGE
28
- } from "../../chunk-NYBCQZC7.js";
29
29
  import "../../chunk-W4HOHZVF.js";
30
30
  import "../../chunk-SYVZ4MD2.js";
31
31
  import {
32
32
  EventsModule
33
- } from "../../chunk-G3IKPDTP.js";
33
+ } from "../../chunk-42763UEE.js";
34
34
  import "../../chunk-INO47JXD.js";
35
35
  import "../../chunk-JOBQ6RUU.js";
36
36
  import "../../chunk-JRQO2IOF.js";
37
37
  import "../../chunk-DUUCU77W.js";
38
38
  import "../../chunk-DUBZOXJC.js";
39
+ import "../../chunk-IWAOY6KC.js";
39
40
  import {
40
41
  DrizzleEventBus
41
- } from "../../chunk-YXI7K4MJ.js";
42
+ } from "../../chunk-PNCOUFFI.js";
42
43
  import {
43
44
  MemoryEventBus
44
45
  } from "../../chunk-GOO5ZMYO.js";
45
46
  import "../../chunk-UQ5EHOH2.js";
46
- import "../../chunk-MBFSG4KQ.js";
47
- import "../../chunk-6CJRZHV4.js";
48
- import "../../chunk-GMRTI7AK.js";
47
+ import {
48
+ CacheModule
49
+ } from "../../chunk-COGHTKXY.js";
50
+ import {
51
+ DrizzleCacheService
52
+ } from "../../chunk-T6C4LFLC.js";
53
+ import "../../chunk-FASRXRX5.js";
54
+ import {
55
+ MemoryCacheService
56
+ } from "../../chunk-IF5I3DAA.js";
57
+ import {
58
+ CACHE
59
+ } from "../../chunk-L6FTY45T.js";
60
+ import "../../chunk-SH76CFAY.js";
61
+ import "../../chunk-7B7MMDOJ.js";
62
+ import "../../chunk-FIUC6QB5.js";
49
63
  import "../../chunk-VQOAATIG.js";
50
- import "../../chunk-3A34R6CI.js";
64
+ import "../../chunk-3VEVGL74.js";
51
65
  import "../../chunk-CDLWYZVQ.js";
52
66
  import "../../chunk-L3LZWWSX.js";
53
67
  import "../../chunk-DV4RV2DC.js";
@@ -55,9 +69,15 @@ import "../../chunk-PNZSGAB2.js";
55
69
  import "../../chunk-SNQ3TOWP.js";
56
70
  import "../../chunk-I6MVCB5A.js";
57
71
  import "../../chunk-RHVN6NA7.js";
58
- import "../../chunk-TKU6VYG3.js";
72
+ import "../../chunk-E6PLM6QG.js";
59
73
  import "../../chunk-T4BIIU5E.js";
60
74
  import "../../chunk-Q6LRJ4VI.js";
75
+ import "../../chunk-7P5ODGLA.js";
76
+ import "../../chunk-ZPL74UQN.js";
77
+ import {
78
+ EVENT_BUS
79
+ } from "../../chunk-H5NH7KPE.js";
80
+ import "../../chunk-4LH67P4U.js";
61
81
  import {
62
82
  collisionModeEnum,
63
83
  jobRunStatusEnum,
@@ -72,19 +92,6 @@ import {
72
92
  waitKindEnum
73
93
  } from "../../chunk-OKXZ63IA.js";
74
94
  import "../../chunk-E2BRT5IB.js";
75
- import "../../chunk-IWAOY6KC.js";
76
- import {
77
- CacheModule
78
- } from "../../chunk-7625PLY7.js";
79
- import {
80
- MemoryCacheService
81
- } from "../../chunk-IF5I3DAA.js";
82
- import "../../chunk-7P5ODGLA.js";
83
- import "../../chunk-ZPL74UQN.js";
84
- import {
85
- EVENT_BUS
86
- } from "../../chunk-H5NH7KPE.js";
87
- import "../../chunk-4LH67P4U.js";
88
95
  import "../../chunk-7C3FOSDI.js";
89
96
  import {
90
97
  OAuth2RefreshStrategy
@@ -102,22 +109,22 @@ import {
102
109
  import "../../chunk-OSQRXVG2.js";
103
110
  import {
104
111
  AuthModule
105
- } from "../../chunk-NXHL5YII.js";
112
+ } from "../../chunk-7LKAMLV4.js";
106
113
  import {
107
114
  EnvEncryptionKey
108
115
  } from "../../chunk-IP4OO26U.js";
109
- import {
110
- MemoryOAuthStateStore
111
- } from "../../chunk-QLTJSCE6.js";
112
- import {
113
- AuthController
114
- } from "../../chunk-SZVPIHWE.js";
115
116
  import {
116
117
  DrizzleOAuthStateStore
117
118
  } from "../../chunk-N5OTOWTP.js";
119
+ import {
120
+ MemoryOAuthStateStore
121
+ } from "../../chunk-QLTJSCE6.js";
118
122
  import {
119
123
  OAuthStateError
120
124
  } from "../../chunk-BPARRK6F.js";
125
+ import {
126
+ AuthController
127
+ } from "../../chunk-SZVPIHWE.js";
121
128
  import {
122
129
  authOAuthState
123
130
  } from "../../chunk-NPFPZ2HO.js";
@@ -131,13 +138,6 @@ import {
131
138
  OAUTH_STATE_STORE,
132
139
  STRATEGY_REGISTRY
133
140
  } from "../../chunk-6XY6ZMMD.js";
134
- import {
135
- DrizzleCacheService
136
- } from "../../chunk-T6C4LFLC.js";
137
- import "../../chunk-FASRXRX5.js";
138
- import {
139
- CACHE
140
- } from "../../chunk-L6FTY45T.js";
141
141
  import "../../chunk-GYGNEQSC.js";
142
142
  import "../../chunk-KVOWSC5S.js";
143
143
  import "../../chunk-QFUIE37H.js";
@@ -2,7 +2,7 @@ import "../../../chunk-W4HOHZVF.js";
2
2
  import {
3
3
  JobWorkerModule,
4
4
  JobWorkerOrchestrator
5
- } from "../../../chunk-MBFSG4KQ.js";
5
+ } from "../../../chunk-SH76CFAY.js";
6
6
  import {
7
7
  JOB_WORKER_OPTIONS,
8
8
  JobWorker,
@@ -10,16 +10,16 @@ import {
10
10
  buildStaleSweepQuery,
11
11
  classifyError,
12
12
  computeBackoff
13
- } from "../../../chunk-6CJRZHV4.js";
13
+ } from "../../../chunk-7B7MMDOJ.js";
14
14
  import {
15
15
  JobsDomainModule
16
- } from "../../../chunk-GMRTI7AK.js";
16
+ } from "../../../chunk-FIUC6QB5.js";
17
17
  import {
18
18
  MemoryJobOrchestrator
19
19
  } from "../../../chunk-VQOAATIG.js";
20
20
  import {
21
21
  DrizzleJobRunService
22
- } from "../../../chunk-3A34R6CI.js";
22
+ } from "../../../chunk-3VEVGL74.js";
23
23
  import {
24
24
  MemoryJobRunService
25
25
  } from "../../../chunk-CDLWYZVQ.js";
@@ -48,7 +48,7 @@ import {
48
48
  } from "../../../chunk-RHVN6NA7.js";
49
49
  import {
50
50
  DrizzleJobOrchestrator
51
- } from "../../../chunk-TKU6VYG3.js";
51
+ } from "../../../chunk-E6PLM6QG.js";
52
52
  import {
53
53
  BootValidationError,
54
54
  JobCollisionError,
@@ -64,19 +64,6 @@ import {
64
64
  PgNotifyListener,
65
65
  pgNotify
66
66
  } from "../../../chunk-Q6LRJ4VI.js";
67
- import {
68
- collisionModeEnum,
69
- jobRunStatusEnum,
70
- jobRuns,
71
- jobStepKindEnum,
72
- jobStepStatusEnum,
73
- jobSteps,
74
- jobs,
75
- parentClosePolicyEnum,
76
- replayFromEnum,
77
- triggerSourceEnum,
78
- waitKindEnum
79
- } from "../../../chunk-OKXZ63IA.js";
80
67
  import {
81
68
  HandlerRegistry,
82
69
  JOB_HANDLER_METADATA_KEY,
@@ -92,6 +79,19 @@ import {
92
79
  JOB_RUN_SERVICE,
93
80
  JOB_STEP_SERVICE
94
81
  } from "../../../chunk-ZPL74UQN.js";
82
+ import {
83
+ collisionModeEnum,
84
+ jobRunStatusEnum,
85
+ jobRuns,
86
+ jobStepKindEnum,
87
+ jobStepStatusEnum,
88
+ jobSteps,
89
+ jobs,
90
+ parentClosePolicyEnum,
91
+ replayFromEnum,
92
+ triggerSourceEnum,
93
+ waitKindEnum
94
+ } from "../../../chunk-OKXZ63IA.js";
95
95
  import "../../../chunk-GYGNEQSC.js";
96
96
  import "../../../chunk-U64T4YZE.js";
97
97
  import "../../../chunk-2E224ZSN.js";
@@ -6,17 +6,17 @@ import {
6
6
  import "../../../chunk-RHVN6NA7.js";
7
7
  import {
8
8
  DrizzleJobOrchestrator
9
- } from "../../../chunk-TKU6VYG3.js";
9
+ } from "../../../chunk-E6PLM6QG.js";
10
10
  import "../../../chunk-T4BIIU5E.js";
11
11
  import "../../../chunk-Q6LRJ4VI.js";
12
- import {
13
- jobRuns,
14
- jobs
15
- } from "../../../chunk-OKXZ63IA.js";
16
12
  import "../../../chunk-7P5ODGLA.js";
17
13
  import {
18
14
  JOBS_MULTI_TENANT
19
15
  } from "../../../chunk-ZPL74UQN.js";
16
+ import {
17
+ jobRuns,
18
+ jobs
19
+ } from "../../../chunk-OKXZ63IA.js";
20
20
  import "../../../chunk-GYGNEQSC.js";
21
21
  import {
22
22
  DRIZZLE
@@ -2,12 +2,12 @@ import {
2
2
  DrizzleJobOrchestrator,
3
3
  TERMINAL_STATUSES,
4
4
  evaluateKeyTemplate
5
- } from "../../../chunk-TKU6VYG3.js";
5
+ } from "../../../chunk-E6PLM6QG.js";
6
6
  import "../../../chunk-T4BIIU5E.js";
7
7
  import "../../../chunk-Q6LRJ4VI.js";
8
- import "../../../chunk-OKXZ63IA.js";
9
8
  import "../../../chunk-7P5ODGLA.js";
10
9
  import "../../../chunk-ZPL74UQN.js";
10
+ import "../../../chunk-OKXZ63IA.js";
11
11
  import "../../../chunk-GYGNEQSC.js";
12
12
  import "../../../chunk-U64T4YZE.js";
13
13
  import "../../../chunk-2E224ZSN.js";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  DrizzleJobRunService
3
- } from "../../../chunk-3A34R6CI.js";
3
+ } from "../../../chunk-3VEVGL74.js";
4
4
  import "../../../chunk-L3LZWWSX.js";
5
5
  import "../../../chunk-T4BIIU5E.js";
6
- import "../../../chunk-OKXZ63IA.js";
7
6
  import "../../../chunk-ZPL74UQN.js";
7
+ import "../../../chunk-OKXZ63IA.js";
8
8
  import "../../../chunk-GYGNEQSC.js";
9
9
  import "../../../chunk-U64T4YZE.js";
10
10
  import "../../../chunk-2E224ZSN.js";