diff --git a/packages/core-shared/src/di/bind-context.ts b/packages/core-shared/src/di/bind-context.ts index bb4aa96..9614bd2 100644 --- a/packages/core-shared/src/di/bind-context.ts +++ b/packages/core-shared/src/di/bind-context.ts @@ -6,6 +6,7 @@ import type { RealtimeBroadcasterProtocol, RealtimeRegistryProtocol, MetricsProtocol, + AuditLogProtocol, } from "./bind-protocols"; /** Always-present fields. Feature binders rely on these unconditionally. */ @@ -17,25 +18,28 @@ type BindContextBase = { /** * Optional cross-cutting deps. Generics let the app aggregator narrow the * shape to full interfaces (`IEventBus`, `IRealtimeBroadcaster`, `IMetrics`, - * etc.); feature binders see only the protocol surface, which is enough for - * the methods they call. When an optional core package is absent the + * `IAuditLog`, etc.); feature binders see only the protocol surface, which is + * enough for the methods they call. When an optional core package is absent the * corresponding generic defaults to its protocol type, and `ctx.bus` / - * `ctx.realtime` / `ctx.metrics` are undefined at runtime. + * `ctx.realtime` / `ctx.metrics` / `ctx.auditLog` are undefined at runtime. * - * The 4th generic `Metrics` defaults to `MetricsProtocol` so existing call - * sites that pass 3 explicit args remain backward-compatible. + * The 4th generic `Metrics` and 5th generic `Audit` both default to their + * protocol types so existing call sites that pass fewer explicit args remain + * backward-compatible. */ export type BindContext< Bus extends EventBusProtocol = EventBusProtocol, Realtime extends RealtimeBroadcasterProtocol = RealtimeBroadcasterProtocol, RealtimeReg extends RealtimeRegistryProtocol = RealtimeRegistryProtocol, Metrics extends MetricsProtocol = MetricsProtocol, + Audit extends AuditLogProtocol = AuditLogProtocol, > = BindContextBase & { bus?: Bus; queue?: IJobQueue; realtime?: Realtime; realtimeRegistry?: RealtimeReg; metrics?: Metrics; + auditLog?: Audit; }; /** Production binders also receive the resolved Payload config. */ @@ -44,6 +48,7 @@ export type BindProductionContext< Realtime extends RealtimeBroadcasterProtocol = RealtimeBroadcasterProtocol, RealtimeReg extends RealtimeRegistryProtocol = RealtimeRegistryProtocol, Metrics extends MetricsProtocol = MetricsProtocol, -> = BindContext & { + Audit extends AuditLogProtocol = AuditLogProtocol, +> = BindContext & { config: SanitizedConfig; };