/** * InMemorySchedulerClient — deterministic in-memory SchedulerClient for dev. * * Records each createSchedule call in a public readonly `created` array (for * testability) and returns a deterministic fake schedule ARN. No AWS, no * network, no IAM. * * This is for build-plan §4 "in-memory dev clients (tools return real data * locally)". */ import type { CreateScheduleInput, CreateScheduleOutput, SchedulerClient } from './client.js'; /** In-memory SchedulerClient that fakes EventBridge schedule creation. */ export class InMemorySchedulerClient implements SchedulerClient { /** Every schedule input passed to createSchedule, in call order. */ public readonly created: CreateScheduleInput[] = []; async createSchedule(input: CreateScheduleInput): Promise { this.created.push(input); return { scheduleArn: `arn:aws:scheduler:us-east-1:000000000000:schedule/dev/${input.scheduleName}`, }; } }