import { z } from 'zod' import type { ImageOperation } from './image-generation-contracts' export const imageOperationTargetSchema = z.object({ conversationId: z.string().min(1).max(128), operationId: z.string().uuid() }).strict() export type ImageOperationTarget = z.infer export type ImageOperationsApi = { cancel(input: ImageOperationTarget): Promise regenerate(input: ImageOperationTarget): Promise onChanged(listener: (operation: ImageOperation) => void): () => void }