import type { RunEventEnvelopeSigner, SignedRunEventEnvelope } from "@codemation/eventbus-redis"; import type { PairingConfig } from "./pairing.types"; import { runEventEnvelopeSignature } from "./runEventEnvelope.types"; export class RunEventEnvelopeSignerAdapter implements RunEventEnvelopeSigner { constructor(private readonly config: PairingConfig) {} get workspaceId(): string { return this.config.workspaceId; } sign(payload: string): SignedRunEventEnvelope { const ts = Math.floor(Date.now() / 1000); const sig = runEventEnvelopeSignature(this.config.pairingSecret, this.config.workspaceId, ts, payload); return { workspaceId: this.config.workspaceId, ts, sig, payload }; } }