import type { StudioTask, StudioTaskStore } from '../domain/types' export class InMemoryStudioTaskStore implements StudioTaskStore { private readonly tasks = new Map() async create(task: StudioTask): Promise { this.tasks.set(task.id, task) return task } async getById(taskId: string): Promise { return this.tasks.get(taskId) ?? null } async update(taskId: string, patch: Partial): Promise { const current = this.tasks.get(taskId) if (!current) { return null } const next: StudioTask = { ...current, ...patch, updatedAt: new Date().toISOString() } this.tasks.set(taskId, next) return next } async listBySessionId(sessionId: string): Promise { return [...this.tasks.values()].filter((task) => task.sessionId === sessionId) } }