@codemation/host 0.3.0 → 0.3.1

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 (26) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{AppContainerFactory-D9je1sSV.js → AppContainerFactory-DL_qZ80U.js} +84 -132
  3. package/dist/AppContainerFactory-DL_qZ80U.js.map +1 -0
  4. package/dist/index.js +2 -2
  5. package/dist/nextServer.js +1 -1
  6. package/dist/{server-C_ZIEOTY.js → server-DteBORJX.js} +2 -2
  7. package/dist/{server-C_ZIEOTY.js.map → server-DteBORJX.js.map} +1 -1
  8. package/dist/server.js +2 -2
  9. package/package.json +5 -5
  10. package/src/bootstrap/AppContainerFactory.ts +77 -81
  11. package/src/bootstrap/CodemationContainerRegistrationRegistrar.ts +1 -3
  12. package/src/infrastructure/config/CodemationPluginRegistrar.ts +2 -6
  13. package/src/infrastructure/di/HandlesDomainEventRegistry.ts +5 -7
  14. package/src/presentation/http/hono/registrars/AuthHonoApiRouteRegistrar.ts +1 -3
  15. package/src/presentation/http/hono/registrars/BinaryHonoApiRouteRegistrar.ts +1 -3
  16. package/src/presentation/http/hono/registrars/BootstrapHonoApiRouteRegistrar.ts +1 -3
  17. package/src/presentation/http/hono/registrars/CredentialHonoApiRouteRegistrar.ts +1 -3
  18. package/src/presentation/http/hono/registrars/DevHonoApiRouteRegistrar.ts +1 -3
  19. package/src/presentation/http/hono/registrars/OAuth2HonoApiRouteRegistrar.ts +1 -3
  20. package/src/presentation/http/hono/registrars/RunHonoApiRouteRegistrar.ts +1 -3
  21. package/src/presentation/http/hono/registrars/TelemetryHonoApiRouteRegistrar.ts +1 -3
  22. package/src/presentation/http/hono/registrars/UserHonoApiRouteRegistrar.ts +1 -3
  23. package/src/presentation/http/hono/registrars/WebhookHonoApiRouteRegistrar.ts +1 -3
  24. package/src/presentation/http/hono/registrars/WhitelabelHonoApiRouteRegistrar.ts +1 -3
  25. package/src/presentation/http/hono/registrars/WorkflowHonoApiRouteRegistrar.ts +1 -3
  26. package/dist/AppContainerFactory-D9je1sSV.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @codemation/host
2
2
 
3
+ ## 0.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`7eaa288`](https://github.com/MadeRelevant/codemation/commit/7eaa288737f2d126218dac84fa4fde2a4113b7f3) Thanks [@cblokland90](https://github.com/cblokland90)! - Default DI container registrations to singletons so framework services that own long-lived resources (timers, subscriptions, sockets) have deterministic lifecycles. Previously `container.register(Class, { useClass: Class })` produced a new instance per resolution, which caused the `WorkflowRunRetentionPruneScheduler` `setInterval` timer to leak across HMR reloads and blocked `pnpm dev` from shutting down on Ctrl+C.
8
+
9
+ Public registration DTOs still accept `useClass` as a shape hint, but the host applies every class-based registration as a singleton. Plugin authors using `plugin.register({ registerNode, registerClass })` and consumers using `containerRegistrations: [{ token, useClass }]` no longer need to reason about lifecycle. Redundant `@registry([{ useClass }])` decorators on Hono route registrars and domain event handlers have been removed.
10
+
11
+ A new ESLint rule (`codemation/no-transient-container-register`) prevents reintroducing `.register(token, { useClass: Class })` and `@registry([{ useClass: Class }])` patterns across `packages/**` and `apps/**`.
12
+
13
+ - Updated dependencies [[`7eaa288`](https://github.com/MadeRelevant/codemation/commit/7eaa288737f2d126218dac84fa4fde2a4113b7f3)]:
14
+ - @codemation/core@0.8.1
15
+ - @codemation/core-nodes@0.4.3
16
+ - @codemation/eventbus-redis@0.0.31
17
+
3
18
  ## 0.3.0
4
19
 
5
20
  ### Minor Changes
@@ -8,7 +8,7 @@ import { AIAgentConnectionWorkflowExpander, ConnectionCredentialNodeConfigFactor
8
8
  import { mkdir, rm, stat } from "node:fs/promises";
9
9
  import path from "node:path";
10
10
  import { pathToFileURL } from "node:url";
11
- import { AgentConfigInspector, AgentConnectionNodeCollector, CoreTokens, CostTrackingTelemetryAttributeNames, CostTrackingTelemetryMetricNames, DefaultExecutionBinaryService, EventPublishingWorkflowExecutionRepository, GenAiTelemetryAttributeNames, InMemoryLiveWorkflowRepository, InMemoryRunEventBus, ItemsInputNormalizer, NoOpTelemetryArtifactReference, RunFinishedAtFactory, SystemClock, container, getPersistedRuntimeTypeMetadata, inject, injectAll, injectable, instanceCachingFactory, registry } from "@codemation/core";
11
+ import { AgentConfigInspector, AgentConnectionNodeCollector, CoreTokens, CostTrackingTelemetryAttributeNames, CostTrackingTelemetryMetricNames, DefaultExecutionBinaryService, EventPublishingWorkflowExecutionRepository, GenAiTelemetryAttributeNames, InMemoryLiveWorkflowRepository, InMemoryRunEventBus, ItemsInputNormalizer, NoOpTelemetryArtifactReference, RunFinishedAtFactory, SystemClock, container, getPersistedRuntimeTypeMetadata, inject, injectAll, injectable, instanceCachingFactory } from "@codemation/core";
12
12
  import { createHash, randomBytes } from "node:crypto";
13
13
  import "reflect-metadata";
14
14
  import { CatalogBackedCostTrackingTelemetryFactory, ConfigDrivenOffloadPolicy, DefaultDrivingScheduler, DefaultExecutionContextFactory, Engine, EngineRuntimeRegistrar, InMemoryBinaryStorage, InMemoryRunDataFactory, InlineDrivingScheduler, MissingRuntimeTriggerToken, PersistedWorkflowTokenRegistry, RunIntentService, RunSummaryMapper, StaticCostCatalog, WorkflowRepositoryWebhookTriggerMatcher } from "@codemation/core/bootstrap";
@@ -2708,13 +2708,13 @@ var CodemationPluginRegistrar = class {
2708
2708
  loggerFactory: args.loggerFactory,
2709
2709
  registerCredentialType: (type) => args.registerCredentialType(type),
2710
2710
  registerNode: (token, implementation) => {
2711
- args.container.register(token, { useClass: implementation ?? token });
2711
+ args.container.registerSingleton(token, implementation ?? token);
2712
2712
  },
2713
2713
  registerValue: (token, value) => {
2714
2714
  args.container.registerInstance(token, value);
2715
2715
  },
2716
2716
  registerClass: (token, implementation) => {
2717
- args.container.register(token, { useClass: implementation });
2717
+ args.container.registerSingleton(token, implementation);
2718
2718
  },
2719
2719
  registerFactory: (token, factory) => {
2720
2720
  args.container.register(token, { useFactory: (dependencyContainer) => factory(dependencyContainer) });
@@ -5356,10 +5356,6 @@ let AuthHonoApiRouteRegistrar = class AuthHonoApiRouteRegistrar$1 {
5356
5356
  };
5357
5357
  AuthHonoApiRouteRegistrar = __decorate([
5358
5358
  injectable(),
5359
- registry([{
5360
- token: ApplicationTokens.HonoApiRouteRegistrar,
5361
- useClass: AuthHonoApiRouteRegistrar
5362
- }]),
5363
5359
  __decorateParam(0, inject(AuthHttpRouteHandler)),
5364
5360
  __decorateParam(1, inject(CodemationBetterAuthRuntime)),
5365
5361
  __decorateMetadata("design:paramtypes", [typeof (_ref$29 = typeof AuthHttpRouteHandler !== "undefined" && AuthHttpRouteHandler) === "function" ? _ref$29 : Object, typeof (_ref2$5 = typeof CodemationBetterAuthRuntime !== "undefined" && CodemationBetterAuthRuntime) === "function" ? _ref2$5 : Object])
@@ -5381,10 +5377,6 @@ let BinaryHonoApiRouteRegistrar = class BinaryHonoApiRouteRegistrar$1 {
5381
5377
  };
5382
5378
  BinaryHonoApiRouteRegistrar = __decorate([
5383
5379
  injectable(),
5384
- registry([{
5385
- token: ApplicationTokens.HonoApiRouteRegistrar,
5386
- useClass: BinaryHonoApiRouteRegistrar
5387
- }]),
5388
5380
  __decorateParam(0, inject(BinaryHttpRouteHandler)),
5389
5381
  __decorateMetadata("design:paramtypes", [typeof (_ref$28 = typeof BinaryHttpRouteHandler !== "undefined" && BinaryHttpRouteHandler) === "function" ? _ref$28 : Object])
5390
5382
  ], BinaryHonoApiRouteRegistrar);
@@ -5407,10 +5399,6 @@ let BootstrapHonoApiRouteRegistrar = class BootstrapHonoApiRouteRegistrar$1 {
5407
5399
  };
5408
5400
  BootstrapHonoApiRouteRegistrar = __decorate([
5409
5401
  injectable(),
5410
- registry([{
5411
- token: ApplicationTokens.HonoApiRouteRegistrar,
5412
- useClass: BootstrapHonoApiRouteRegistrar
5413
- }]),
5414
5402
  __decorateParam(0, inject(PublicFrontendBootstrapHttpRouteHandler)),
5415
5403
  __decorateParam(1, inject(InternalAuthBootstrapHttpRouteHandler)),
5416
5404
  __decorateMetadata("design:paramtypes", [typeof (_ref$27 = typeof PublicFrontendBootstrapHttpRouteHandler !== "undefined" && PublicFrontendBootstrapHttpRouteHandler) === "function" ? _ref$27 : Object, typeof (_ref2$4 = typeof InternalAuthBootstrapHttpRouteHandler !== "undefined" && InternalAuthBootstrapHttpRouteHandler) === "function" ? _ref2$4 : Object])
@@ -5541,10 +5529,6 @@ let CredentialHonoApiRouteRegistrar = class CredentialHonoApiRouteRegistrar$1 {
5541
5529
  };
5542
5530
  CredentialHonoApiRouteRegistrar = __decorate([
5543
5531
  injectable(),
5544
- registry([{
5545
- token: ApplicationTokens.HonoApiRouteRegistrar,
5546
- useClass: CredentialHonoApiRouteRegistrar
5547
- }]),
5548
5532
  __decorateParam(0, inject(CredentialHttpRouteHandler)),
5549
5533
  __decorateMetadata("design:paramtypes", [typeof (_ref$26 = typeof CredentialHttpRouteHandler !== "undefined" && CredentialHttpRouteHandler) === "function" ? _ref$26 : Object])
5550
5534
  ], CredentialHonoApiRouteRegistrar);
@@ -5562,10 +5546,6 @@ let DevHonoApiRouteRegistrar = class DevHonoApiRouteRegistrar$1 {
5562
5546
  };
5563
5547
  DevHonoApiRouteRegistrar = __decorate([
5564
5548
  injectable(),
5565
- registry([{
5566
- token: ApplicationTokens.HonoApiRouteRegistrar,
5567
- useClass: DevHonoApiRouteRegistrar
5568
- }]),
5569
5549
  __decorateParam(0, inject(DevBootstrapSummaryHttpRouteHandler)),
5570
5550
  __decorateMetadata("design:paramtypes", [typeof (_ref$25 = typeof DevBootstrapSummaryHttpRouteHandler !== "undefined" && DevBootstrapSummaryHttpRouteHandler) === "function" ? _ref$25 : Object])
5571
5551
  ], DevHonoApiRouteRegistrar);
@@ -5691,10 +5671,6 @@ let OAuth2HonoApiRouteRegistrar = class OAuth2HonoApiRouteRegistrar$1 {
5691
5671
  };
5692
5672
  OAuth2HonoApiRouteRegistrar = __decorate([
5693
5673
  injectable(),
5694
- registry([{
5695
- token: ApplicationTokens.HonoApiRouteRegistrar,
5696
- useClass: OAuth2HonoApiRouteRegistrar
5697
- }]),
5698
5674
  __decorateParam(0, inject(OAuth2HttpRouteHandler)),
5699
5675
  __decorateMetadata("design:paramtypes", [typeof (_ref$23 = typeof OAuth2HttpRouteHandler !== "undefined" && OAuth2HttpRouteHandler) === "function" ? _ref$23 : Object])
5700
5676
  ], OAuth2HonoApiRouteRegistrar);
@@ -5788,10 +5764,6 @@ let RunHonoApiRouteRegistrar = class RunHonoApiRouteRegistrar$1 {
5788
5764
  };
5789
5765
  RunHonoApiRouteRegistrar = __decorate([
5790
5766
  injectable(),
5791
- registry([{
5792
- token: ApplicationTokens.HonoApiRouteRegistrar,
5793
- useClass: RunHonoApiRouteRegistrar
5794
- }]),
5795
5767
  __decorateParam(0, inject(RunHttpRouteHandler)),
5796
5768
  __decorateMetadata("design:paramtypes", [typeof (_ref$22 = typeof RunHttpRouteHandler !== "undefined" && RunHttpRouteHandler) === "function" ? _ref$22 : Object])
5797
5769
  ], RunHonoApiRouteRegistrar);
@@ -5931,10 +5903,6 @@ let TelemetryHonoApiRouteRegistrar = class TelemetryHonoApiRouteRegistrar$1 {
5931
5903
  };
5932
5904
  TelemetryHonoApiRouteRegistrar = __decorate([
5933
5905
  injectable(),
5934
- registry([{
5935
- token: ApplicationTokens.HonoApiRouteRegistrar,
5936
- useClass: TelemetryHonoApiRouteRegistrar
5937
- }]),
5938
5906
  __decorateParam(0, inject(TelemetryHttpRouteHandler)),
5939
5907
  __decorateMetadata("design:paramtypes", [typeof (_ref$21 = typeof TelemetryHttpRouteHandler !== "undefined" && TelemetryHttpRouteHandler) === "function" ? _ref$21 : Object])
5940
5908
  ], TelemetryHonoApiRouteRegistrar);
@@ -6036,10 +6004,6 @@ let UserHonoApiRouteRegistrar = class UserHonoApiRouteRegistrar$1 {
6036
6004
  };
6037
6005
  UserHonoApiRouteRegistrar = __decorate([
6038
6006
  injectable(),
6039
- registry([{
6040
- token: ApplicationTokens.HonoApiRouteRegistrar,
6041
- useClass: UserHonoApiRouteRegistrar
6042
- }]),
6043
6007
  __decorateParam(0, inject(UserHttpRouteHandler)),
6044
6008
  __decorateMetadata("design:paramtypes", [typeof (_ref$20 = typeof UserHttpRouteHandler !== "undefined" && UserHttpRouteHandler) === "function" ? _ref$20 : Object])
6045
6009
  ], UserHonoApiRouteRegistrar);
@@ -6197,10 +6161,6 @@ let WebhookHonoApiRouteRegistrar = class WebhookHonoApiRouteRegistrar$1 {
6197
6161
  };
6198
6162
  WebhookHonoApiRouteRegistrar = __decorate([
6199
6163
  injectable(),
6200
- registry([{
6201
- token: ApplicationTokens.HonoApiRouteRegistrar,
6202
- useClass: WebhookHonoApiRouteRegistrar
6203
- }]),
6204
6164
  __decorateParam(0, inject(WebhookHttpRouteHandler)),
6205
6165
  __decorateMetadata("design:paramtypes", [typeof (_ref$18 = typeof WebhookHttpRouteHandler !== "undefined" && WebhookHttpRouteHandler) === "function" ? _ref$18 : Object])
6206
6166
  ], WebhookHonoApiRouteRegistrar);
@@ -6218,10 +6178,6 @@ let WhitelabelHonoApiRouteRegistrar = class WhitelabelHonoApiRouteRegistrar$1 {
6218
6178
  };
6219
6179
  WhitelabelHonoApiRouteRegistrar = __decorate([
6220
6180
  injectable(),
6221
- registry([{
6222
- token: ApplicationTokens.HonoApiRouteRegistrar,
6223
- useClass: WhitelabelHonoApiRouteRegistrar
6224
- }]),
6225
6181
  __decorateParam(0, inject(WhitelabelLogoHttpRouteHandler)),
6226
6182
  __decorateMetadata("design:paramtypes", [typeof (_ref$17 = typeof WhitelabelLogoHttpRouteHandler !== "undefined" && WhitelabelLogoHttpRouteHandler) === "function" ? _ref$17 : Object])
6227
6183
  ], WhitelabelHonoApiRouteRegistrar);
@@ -6325,10 +6281,6 @@ let WorkflowHonoApiRouteRegistrar = class WorkflowHonoApiRouteRegistrar$1 {
6325
6281
  };
6326
6282
  WorkflowHonoApiRouteRegistrar = __decorate([
6327
6283
  injectable(),
6328
- registry([{
6329
- token: ApplicationTokens.HonoApiRouteRegistrar,
6330
- useClass: WorkflowHonoApiRouteRegistrar
6331
- }]),
6332
6284
  __decorateParam(0, inject(WorkflowHttpRouteHandler)),
6333
6285
  __decorateMetadata("design:paramtypes", [typeof (_ref$15 = typeof WorkflowHttpRouteHandler !== "undefined" && WorkflowHttpRouteHandler) === "function" ? _ref$15 : Object])
6334
6286
  ], WorkflowHonoApiRouteRegistrar);
@@ -16930,7 +16882,7 @@ var CodemationContainerRegistrationRegistrar = class {
16930
16882
  return;
16931
16883
  }
16932
16884
  if (this.isClassRegistration(registration)) {
16933
- container$1.register(registration.token, { useClass: registration.useClass });
16885
+ container$1.registerSingleton(registration.token, registration.useClass);
16934
16886
  return;
16935
16887
  }
16936
16888
  container$1.register(registration.token, { useFactory: (dependencyContainer) => registration.useFactory(dependencyContainer) });
@@ -17528,8 +17480,8 @@ var AppContainerFactory = class AppContainerFactory {
17528
17480
  });
17529
17481
  }
17530
17482
  registerCredentialTypes(container$1, credentialTypes) {
17531
- const registry$1 = container$1.resolve(CredentialTypeRegistryImpl);
17532
- for (const credentialType of credentialTypes) registry$1.register(credentialType);
17483
+ const registry = container$1.resolve(CredentialTypeRegistryImpl);
17484
+ for (const credentialType of credentialTypes) registry.register(credentialType);
17533
17485
  }
17534
17486
  registerConfiguredRegistrations(container$1, appConfig) {
17535
17487
  if (appConfig.containerRegistrations.length === 0) return;
@@ -17547,7 +17499,7 @@ var AppContainerFactory = class AppContainerFactory {
17547
17499
  container$1.registerInstance(CoreTokens.PersistedWorkflowTokenRegistry, container$1.resolve(PersistedWorkflowTokenRegistry));
17548
17500
  container$1.register(CredentialTypeRegistryImpl, { useFactory: instanceCachingFactory(() => new CredentialTypeRegistryImpl()) });
17549
17501
  container$1.register(CoreTokens.CredentialTypeRegistry, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(CredentialTypeRegistryImpl)) });
17550
- container$1.register(CodemationIdFactory, { useClass: CodemationIdFactory });
17502
+ container$1.registerSingleton(CodemationIdFactory, CodemationIdFactory);
17551
17503
  container$1.register(CoreTokens.RunIdFactory, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(CodemationIdFactory)) });
17552
17504
  container$1.register(CoreTokens.ActivationIdFactory, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(CodemationIdFactory)) });
17553
17505
  container$1.register(CoreTokens.LiveWorkflowRepository, { useFactory: instanceCachingFactory(() => new LiveWorkflowRepository(new AIAgentConnectionWorkflowExpander(new ConnectionCredentialNodeConfigFactory()))) });
@@ -17575,46 +17527,46 @@ var AppContainerFactory = class AppContainerFactory {
17575
17527
  } }
17576
17528
  });
17577
17529
  container$1.registerInstance(LogLevelPolicyFactory, logLevelPolicyFactory);
17578
- container$1.register(ServerLoggerFactory, { useClass: ServerLoggerFactory });
17530
+ container$1.registerSingleton(ServerLoggerFactory, ServerLoggerFactory);
17579
17531
  container$1.register(ApplicationTokens.LoggerFactory, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(ServerLoggerFactory)) });
17580
17532
  container$1.register(ApplicationTokens.PerformanceDiagnosticsLogger, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(ServerLoggerFactory).createPerformanceDiagnostics("codemation.performance")) });
17581
17533
  container$1.register(WorkflowWebsocketServer, { useFactory: instanceCachingFactory((dependencyContainer) => {
17582
17534
  if (inputs.sharedWorkflowWebsocketServer) return inputs.sharedWorkflowWebsocketServer;
17583
17535
  return new WorkflowWebsocketServer(dependencyContainer.resolve(ApplicationTokens.WebSocketPort), dependencyContainer.resolve(ApplicationTokens.WebSocketBindHost), dependencyContainer.resolve(ServerLoggerFactory).create("codemation-websocket.server"));
17584
17536
  }) });
17585
- container$1.register(PrismaClientFactory, { useClass: PrismaClientFactory });
17586
- container$1.register(WorkflowPolicyUiPresentationFactory, { useClass: WorkflowPolicyUiPresentationFactory });
17587
- container$1.register(WorkflowDefinitionMapper, { useClass: WorkflowDefinitionMapper });
17588
- container$1.register(RequestToWebhookItemMapper, { useClass: RequestToWebhookItemMapper });
17589
- container$1.register(WebhookEndpointPathValidator, { useClass: WebhookEndpointPathValidator });
17590
- container$1.register(CredentialSecretCipher, { useClass: CredentialSecretCipher });
17591
- container$1.register(CredentialMaterialResolver, { useClass: CredentialMaterialResolver });
17592
- container$1.register(CredentialFieldEnvOverlayService, { useClass: CredentialFieldEnvOverlayService });
17593
- container$1.register(CredentialRuntimeMaterialService, { useClass: CredentialRuntimeMaterialService });
17594
- container$1.register(WorkflowCredentialNodeResolver, { useClass: WorkflowCredentialNodeResolver });
17595
- container$1.register(CredentialInstanceService, { useClass: CredentialInstanceService });
17596
- container$1.register(CredentialBindingService, { useClass: CredentialBindingService });
17597
- container$1.register(WorkflowActivationPreflightRules, { useClass: WorkflowActivationPreflightRules });
17598
- container$1.register(WorkflowActivationPreflight, { useClass: WorkflowActivationPreflight });
17599
- container$1.register(CredentialTestService, { useClass: CredentialTestService });
17600
- container$1.register(CredentialSessionServiceImpl, { useClass: CredentialSessionServiceImpl });
17537
+ container$1.registerSingleton(PrismaClientFactory, PrismaClientFactory);
17538
+ container$1.registerSingleton(WorkflowPolicyUiPresentationFactory, WorkflowPolicyUiPresentationFactory);
17539
+ container$1.registerSingleton(WorkflowDefinitionMapper, WorkflowDefinitionMapper);
17540
+ container$1.registerSingleton(RequestToWebhookItemMapper, RequestToWebhookItemMapper);
17541
+ container$1.registerSingleton(WebhookEndpointPathValidator, WebhookEndpointPathValidator);
17542
+ container$1.registerSingleton(CredentialSecretCipher, CredentialSecretCipher);
17543
+ container$1.registerSingleton(CredentialMaterialResolver, CredentialMaterialResolver);
17544
+ container$1.registerSingleton(CredentialFieldEnvOverlayService, CredentialFieldEnvOverlayService);
17545
+ container$1.registerSingleton(CredentialRuntimeMaterialService, CredentialRuntimeMaterialService);
17546
+ container$1.registerSingleton(WorkflowCredentialNodeResolver, WorkflowCredentialNodeResolver);
17547
+ container$1.registerSingleton(CredentialInstanceService, CredentialInstanceService);
17548
+ container$1.registerSingleton(CredentialBindingService, CredentialBindingService);
17549
+ container$1.registerSingleton(WorkflowActivationPreflightRules, WorkflowActivationPreflightRules);
17550
+ container$1.registerSingleton(WorkflowActivationPreflight, WorkflowActivationPreflight);
17551
+ container$1.registerSingleton(CredentialTestService, CredentialTestService);
17552
+ container$1.registerSingleton(CredentialSessionServiceImpl, CredentialSessionServiceImpl);
17601
17553
  if (!inputs.appConfig.hasConfiguredCredentialSessionServiceRegistration) container$1.register(CoreTokens.CredentialSessionService, { useToken: CredentialSessionServiceImpl });
17602
- container$1.register(OAuth2ProviderRegistry, { useClass: OAuth2ProviderRegistry });
17603
- container$1.register(OAuth2ConnectService, { useClass: OAuth2ConnectService });
17604
- container$1.register(CodemationFrontendAuthSnapshotFactory, { useClass: CodemationFrontendAuthSnapshotFactory });
17605
- container$1.register(FrontendAppConfigFactory, { useClass: FrontendAppConfigFactory });
17606
- container$1.register(PublicFrontendBootstrapFactory, { useClass: PublicFrontendBootstrapFactory });
17607
- container$1.register(InternalAuthBootstrapFactory, { useClass: InternalAuthBootstrapFactory });
17608
- container$1.register(DatabaseMigrations, { useClass: DatabaseMigrations });
17609
- container$1.register(FrontendRuntime, { useClass: FrontendRuntime });
17610
- container$1.register(WorkerRuntime, { useClass: WorkerRuntime });
17611
- container$1.register(DevelopmentSessionBypassVerifier, { useClass: DevelopmentSessionBypassVerifier });
17612
- container$1.register(SecureRequestDetector, { useClass: SecureRequestDetector });
17613
- container$1.register(InAppCallbackUrlPolicy, { useClass: InAppCallbackUrlPolicy });
17614
- container$1.register(AuthSessionCookieFactory, { useClass: AuthSessionCookieFactory });
17615
- container$1.register(CodemationBetterAuthBcryptPasswordCodec, { useClass: CodemationBetterAuthBcryptPasswordCodec });
17616
- container$1.register(CodemationBetterAuthDatabaseOptionsFactory, { useClass: CodemationBetterAuthDatabaseOptionsFactory });
17617
- container$1.register(UserAccountSessionPolicy, { useClass: UserAccountSessionPolicy });
17554
+ container$1.registerSingleton(OAuth2ProviderRegistry, OAuth2ProviderRegistry);
17555
+ container$1.registerSingleton(OAuth2ConnectService, OAuth2ConnectService);
17556
+ container$1.registerSingleton(CodemationFrontendAuthSnapshotFactory, CodemationFrontendAuthSnapshotFactory);
17557
+ container$1.registerSingleton(FrontendAppConfigFactory, FrontendAppConfigFactory);
17558
+ container$1.registerSingleton(PublicFrontendBootstrapFactory, PublicFrontendBootstrapFactory);
17559
+ container$1.registerSingleton(InternalAuthBootstrapFactory, InternalAuthBootstrapFactory);
17560
+ container$1.registerSingleton(DatabaseMigrations, DatabaseMigrations);
17561
+ container$1.registerSingleton(FrontendRuntime, FrontendRuntime);
17562
+ container$1.registerSingleton(WorkerRuntime, WorkerRuntime);
17563
+ container$1.registerSingleton(DevelopmentSessionBypassVerifier, DevelopmentSessionBypassVerifier);
17564
+ container$1.registerSingleton(SecureRequestDetector, SecureRequestDetector);
17565
+ container$1.registerSingleton(InAppCallbackUrlPolicy, InAppCallbackUrlPolicy);
17566
+ container$1.registerSingleton(AuthSessionCookieFactory, AuthSessionCookieFactory);
17567
+ container$1.registerSingleton(CodemationBetterAuthBcryptPasswordCodec, CodemationBetterAuthBcryptPasswordCodec);
17568
+ container$1.registerSingleton(CodemationBetterAuthDatabaseOptionsFactory, CodemationBetterAuthDatabaseOptionsFactory);
17569
+ container$1.registerSingleton(UserAccountSessionPolicy, UserAccountSessionPolicy);
17618
17570
  container$1.register(CodemationBetterAuthBaseUrlPolicy, { useFactory: instanceCachingFactory((dependencyContainer) => new CodemationBetterAuthBaseUrlPolicy(dependencyContainer.resolve(ServerLoggerFactory).create("codemation.auth.better-auth.base-url"))) });
17619
17571
  container$1.register(CodemationBetterAuthServerFactory, { useFactory: instanceCachingFactory((dependencyContainer) => new CodemationBetterAuthServerFactory(dependencyContainer.resolve(ApplicationTokens.AppConfig), dependencyContainer.resolve(CodemationBetterAuthDatabaseOptionsFactory), dependencyContainer.resolve(CodemationBetterAuthBcryptPasswordCodec), dependencyContainer.resolve(UserAccountSessionPolicy), dependencyContainer.resolve(CodemationBetterAuthBaseUrlPolicy))) });
17620
17572
  container$1.register(CodemationBetterAuthRuntime, { useFactory: instanceCachingFactory((dependencyContainer) => {
@@ -17628,7 +17580,7 @@ var AppContainerFactory = class AppContainerFactory {
17628
17580
  const policy = dependencyContainer.resolve(UserAccountSessionPolicy);
17629
17581
  return new BetterAuthApiSessionVerifier(runtime, prismaClient ? new PrismaUserAccountSessionEligibilityChecker(prismaClient, policy) : void 0);
17630
17582
  }) });
17631
- container$1.register(CodemationSessionVerifier, { useClass: CodemationSessionVerifier });
17583
+ container$1.registerSingleton(CodemationSessionVerifier, CodemationSessionVerifier);
17632
17584
  container$1.register(ApplicationTokens.SessionVerifier, { useFactory: instanceCachingFactory((dependencyContainer) => {
17633
17585
  const appConfig = dependencyContainer.resolve(ApplicationTokens.AppConfig);
17634
17586
  const isPackagedDevRuntime = Boolean(appConfig.env.CODEMATION_RUNTIME_DEV_URL?.trim());
@@ -17647,59 +17599,59 @@ var AppContainerFactory = class AppContainerFactory {
17647
17599
  }) });
17648
17600
  }
17649
17601
  registerRepositoriesAndBuses(container$1) {
17650
- container$1.register(OtelIdentityFactory, { useClass: OtelIdentityFactory });
17651
- container$1.register(TelemetryPrivacyPolicy, { useClass: TelemetryPrivacyPolicy });
17652
- container$1.register(TelemetryEnricherChain, { useClass: TelemetryEnricherChain });
17653
- container$1.register(TelemetryRetentionTimestampFactory, { useClass: TelemetryRetentionTimestampFactory });
17654
- container$1.register(TelemetryQueryService, { useClass: TelemetryQueryService });
17655
- container$1.register(NoOpTelemetryExporter, { useClass: NoOpTelemetryExporter });
17602
+ container$1.registerSingleton(OtelIdentityFactory, OtelIdentityFactory);
17603
+ container$1.registerSingleton(TelemetryPrivacyPolicy, TelemetryPrivacyPolicy);
17604
+ container$1.registerSingleton(TelemetryEnricherChain, TelemetryEnricherChain);
17605
+ container$1.registerSingleton(TelemetryRetentionTimestampFactory, TelemetryRetentionTimestampFactory);
17606
+ container$1.registerSingleton(TelemetryQueryService, TelemetryQueryService);
17607
+ container$1.registerSingleton(NoOpTelemetryExporter, NoOpTelemetryExporter);
17656
17608
  container$1.register(CompositeTelemetryExporter, { useFactory: instanceCachingFactory((dependencyContainer) => new CompositeTelemetryExporter([dependencyContainer.resolve(NoOpTelemetryExporter)])) });
17657
- container$1.register(OtelExecutionTelemetryFactory, { useClass: OtelExecutionTelemetryFactory });
17658
- container$1.register(InMemoryRunTraceContextRepository, { useClass: InMemoryRunTraceContextRepository });
17659
- container$1.register(InMemoryTelemetrySpanStore, { useClass: InMemoryTelemetrySpanStore });
17660
- container$1.register(InMemoryTelemetryArtifactStore, { useClass: InMemoryTelemetryArtifactStore });
17661
- container$1.register(InMemoryTelemetryMetricPointStore, { useClass: InMemoryTelemetryMetricPointStore });
17662
- container$1.register(PrismaRunTraceContextRepository, { useClass: PrismaRunTraceContextRepository });
17663
- container$1.register(PrismaTelemetrySpanStore, { useClass: PrismaTelemetrySpanStore });
17664
- container$1.register(PrismaTelemetryArtifactStore, { useClass: PrismaTelemetryArtifactStore });
17665
- container$1.register(PrismaTelemetryMetricPointStore, { useClass: PrismaTelemetryMetricPointStore });
17666
- container$1.register(WorkflowDefinitionRepositoryAdapter, { useClass: WorkflowDefinitionRepositoryAdapter });
17667
- container$1.register(InMemoryWorkflowRunRepository, { useClass: InMemoryWorkflowRunRepository });
17668
- container$1.register(InMemoryTriggerSetupStateRepository, { useClass: InMemoryTriggerSetupStateRepository });
17669
- container$1.register(InMemoryCredentialStore, { useClass: InMemoryCredentialStore });
17670
- container$1.register(WorkflowRunRepository, { useClass: WorkflowRunRepository });
17671
- container$1.register(InMemoryWorkflowDebuggerOverlayRepository, { useClass: InMemoryWorkflowDebuggerOverlayRepository });
17672
- container$1.register(PrismaTriggerSetupStateRepository, { useClass: PrismaTriggerSetupStateRepository });
17673
- container$1.register(PrismaWorkflowDebuggerOverlayRepository, { useClass: PrismaWorkflowDebuggerOverlayRepository });
17674
- container$1.register(PrismaWorkflowActivationRepository, { useClass: PrismaWorkflowActivationRepository });
17675
- container$1.register(InMemoryWorkflowActivationRepository, { useClass: InMemoryWorkflowActivationRepository });
17676
- container$1.register(PrismaCredentialStore, { useClass: PrismaCredentialStore });
17609
+ container$1.registerSingleton(OtelExecutionTelemetryFactory, OtelExecutionTelemetryFactory);
17610
+ container$1.registerSingleton(InMemoryRunTraceContextRepository, InMemoryRunTraceContextRepository);
17611
+ container$1.registerSingleton(InMemoryTelemetrySpanStore, InMemoryTelemetrySpanStore);
17612
+ container$1.registerSingleton(InMemoryTelemetryArtifactStore, InMemoryTelemetryArtifactStore);
17613
+ container$1.registerSingleton(InMemoryTelemetryMetricPointStore, InMemoryTelemetryMetricPointStore);
17614
+ container$1.registerSingleton(PrismaRunTraceContextRepository, PrismaRunTraceContextRepository);
17615
+ container$1.registerSingleton(PrismaTelemetrySpanStore, PrismaTelemetrySpanStore);
17616
+ container$1.registerSingleton(PrismaTelemetryArtifactStore, PrismaTelemetryArtifactStore);
17617
+ container$1.registerSingleton(PrismaTelemetryMetricPointStore, PrismaTelemetryMetricPointStore);
17618
+ container$1.registerSingleton(WorkflowDefinitionRepositoryAdapter, WorkflowDefinitionRepositoryAdapter);
17619
+ container$1.registerSingleton(InMemoryWorkflowRunRepository, InMemoryWorkflowRunRepository);
17620
+ container$1.registerSingleton(InMemoryTriggerSetupStateRepository, InMemoryTriggerSetupStateRepository);
17621
+ container$1.registerSingleton(InMemoryCredentialStore, InMemoryCredentialStore);
17622
+ container$1.registerSingleton(WorkflowRunRepository, WorkflowRunRepository);
17623
+ container$1.registerSingleton(InMemoryWorkflowDebuggerOverlayRepository, InMemoryWorkflowDebuggerOverlayRepository);
17624
+ container$1.registerSingleton(PrismaTriggerSetupStateRepository, PrismaTriggerSetupStateRepository);
17625
+ container$1.registerSingleton(PrismaWorkflowDebuggerOverlayRepository, PrismaWorkflowDebuggerOverlayRepository);
17626
+ container$1.registerSingleton(PrismaWorkflowActivationRepository, PrismaWorkflowActivationRepository);
17627
+ container$1.registerSingleton(InMemoryWorkflowActivationRepository, InMemoryWorkflowActivationRepository);
17628
+ container$1.registerSingleton(PrismaCredentialStore, PrismaCredentialStore);
17677
17629
  container$1.register(ApplicationTokens.WorkflowDefinitionRepository, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(WorkflowDefinitionRepositoryAdapter)) });
17678
- container$1.register(InMemoryQueryBus, { useClass: InMemoryQueryBus });
17679
- container$1.register(InMemoryCommandBus, { useClass: InMemoryCommandBus });
17680
- container$1.register(InMemoryDomainEventBus, { useClass: InMemoryDomainEventBus });
17681
- for (const handler of AppContainerFactory.queryHandlers) container$1.register(ApplicationTokens.QueryHandler, { useClass: handler });
17682
- for (const handler of AppContainerFactory.commandHandlers) container$1.register(ApplicationTokens.CommandHandler, { useClass: handler });
17630
+ container$1.registerSingleton(InMemoryQueryBus, InMemoryQueryBus);
17631
+ container$1.registerSingleton(InMemoryCommandBus, InMemoryCommandBus);
17632
+ container$1.registerSingleton(InMemoryDomainEventBus, InMemoryDomainEventBus);
17633
+ for (const handler of AppContainerFactory.queryHandlers) container$1.registerSingleton(ApplicationTokens.QueryHandler, handler);
17634
+ for (const handler of AppContainerFactory.commandHandlers) container$1.registerSingleton(ApplicationTokens.CommandHandler, handler);
17683
17635
  container$1.register(ApplicationTokens.QueryBus, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(InMemoryQueryBus)) });
17684
17636
  container$1.register(ApplicationTokens.CommandBus, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(InMemoryCommandBus)) });
17685
17637
  container$1.register(ApplicationTokens.DomainEventBus, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(InMemoryDomainEventBus)) });
17686
17638
  container$1.register(ApplicationTokens.TelemetryExporter, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(CompositeTelemetryExporter)) });
17687
17639
  }
17688
17640
  registerApplicationServicesAndRoutes(container$1) {
17689
- container$1.register(DevBootstrapSummaryAssembler, { useClass: DevBootstrapSummaryAssembler });
17690
- container$1.register(DevBootstrapSummaryHttpRouteHandler, { useClass: DevBootstrapSummaryHttpRouteHandler });
17691
- container$1.register(AuthHttpRouteHandler, { useClass: AuthHttpRouteHandler });
17692
- container$1.register(PublicFrontendBootstrapHttpRouteHandler, { useClass: PublicFrontendBootstrapHttpRouteHandler });
17693
- container$1.register(InternalAuthBootstrapHttpRouteHandler, { useClass: InternalAuthBootstrapHttpRouteHandler });
17694
- container$1.register(WhitelabelLogoHttpRouteHandler, { useClass: WhitelabelLogoHttpRouteHandler });
17695
- for (const registrar of AppContainerFactory.honoRouteRegistrars) container$1.register(ApplicationTokens.HonoApiRouteRegistrar, { useClass: registrar });
17696
- container$1.register(CodemationHonoApiApp, { useClass: CodemationHonoApiApp });
17641
+ container$1.registerSingleton(DevBootstrapSummaryAssembler, DevBootstrapSummaryAssembler);
17642
+ container$1.registerSingleton(DevBootstrapSummaryHttpRouteHandler, DevBootstrapSummaryHttpRouteHandler);
17643
+ container$1.registerSingleton(AuthHttpRouteHandler, AuthHttpRouteHandler);
17644
+ container$1.registerSingleton(PublicFrontendBootstrapHttpRouteHandler, PublicFrontendBootstrapHttpRouteHandler);
17645
+ container$1.registerSingleton(InternalAuthBootstrapHttpRouteHandler, InternalAuthBootstrapHttpRouteHandler);
17646
+ container$1.registerSingleton(WhitelabelLogoHttpRouteHandler, WhitelabelLogoHttpRouteHandler);
17647
+ for (const registrar of AppContainerFactory.honoRouteRegistrars) container$1.registerSingleton(ApplicationTokens.HonoApiRouteRegistrar, registrar);
17648
+ container$1.registerSingleton(CodemationHonoApiApp, CodemationHonoApiApp);
17697
17649
  }
17698
17650
  registerOperationalInfrastructure(container$1) {
17699
17651
  container$1.register(ApplicationTokens.WorkflowWebsocketPublisher, { useFactory: instanceCachingFactory((dependencyContainer) => dependencyContainer.resolve(WorkflowWebsocketServer)) });
17700
- container$1.register(WorkflowRunEventWebsocketRelay, { useClass: WorkflowRunEventWebsocketRelay });
17701
- container$1.register(RunEventBusTelemetryReporter, { useClass: RunEventBusTelemetryReporter });
17702
- container$1.register(WorkflowRunRetentionPruneScheduler, { useClass: WorkflowRunRetentionPruneScheduler });
17652
+ container$1.registerSingleton(WorkflowRunEventWebsocketRelay, WorkflowRunEventWebsocketRelay);
17653
+ container$1.registerSingleton(RunEventBusTelemetryReporter, RunEventBusTelemetryReporter);
17654
+ container$1.registerSingleton(WorkflowRunRetentionPruneScheduler, WorkflowRunRetentionPruneScheduler);
17703
17655
  }
17704
17656
  async registerRuntimeInfrastructure(container$1, appConfig) {
17705
17657
  const queuePrefix = appConfig.scheduler.queuePrefix ?? appConfig.eventing.queuePrefix ?? "codemation";
@@ -17819,4 +17771,4 @@ var AppContainerFactory = class AppContainerFactory {
17819
17771
 
17820
17772
  //#endregion
17821
17773
  export { GetWorkflowSummariesQuery as C, ListUserAccountsQuery as D, UpsertLocalBootstrapUserCommand as E, WorkflowPolicyUiPresentationFactory as S, RunBinaryAttachmentLookupService as T, FrontendAppConfigFactory as _, AppContainerLifecycle as a, ApiPaths as b, WebhookHttpRouteHandler as c, OAuth2HttpRouteHandler as d, CredentialHttpRouteHandler as f, InternalAuthBootstrapFactory as g, PublicFrontendBootstrapFactory as h, DatabaseMigrations as i, RequestToWebhookItemMapper as l, BinaryHttpRouteHandler as m, WorkerRuntime as n, WorkflowRunRetentionPruneScheduler as o, CodemationHonoApiApp as p, FrontendRuntime as r, WorkflowHttpRouteHandler as s, AppContainerFactory as t, RunHttpRouteHandler as u, CodemationFrontendAuthSnapshotFactory as v, GetWorkflowDetailQuery as w, WorkflowDefinitionMapper as x, WorkflowWebsocketServer as y };
17822
- //# sourceMappingURL=AppContainerFactory-D9je1sSV.js.map
17774
+ //# sourceMappingURL=AppContainerFactory-DL_qZ80U.js.map