// Local type alias matching the contract in @repo/core-shared/jobs. // Kept inline to avoid a build-graph cycle between core-testing and core-shared // (mirrors the recording-tracer / recording-logger pattern). interface IJobQueue { enqueue( taskSlug: string, input: T, options?: { runAt?: Date }, ): Promise<{ jobId: string }>; } export class RecordingJobQueue implements IJobQueue { readonly enqueued: { taskSlug: string; input: unknown; options?: { runAt?: Date } }[] = []; async enqueue( taskSlug: string, input: T, options?: { runAt?: Date }, ): Promise<{ jobId: string }> { this.enqueued.push({ taskSlug, input, options }); return { jobId: `recording-${this.enqueued.length}` }; } }