export type ExternalGenerationJobStatus = | 'queued' | 'running' | 'completed' | 'failed'; export interface ExternalGenerationQueueOverview { pendingCount: number; runningCount: number; unacknowledgedTerminalCount: number; updatedAtMicros: number; } export interface ExternalGenerationQueueOverviewResponse { overview: ExternalGenerationQueueOverview; } export interface ExternalGenerationJobStatusRecord { operationId: string; status: ExternalGenerationJobStatus; phaseLabel: string; phaseDetail: string; progress: number; error?: string | null; updatedAtMicros: number; } export interface ExternalGenerationJobStatusResponse { job: ExternalGenerationJobStatusRecord; } export interface ExternalGenerationTaskRecord { jobId: string; jobKind: string; sourceModule: string; sourceEntityId: string; requestLabel: string; status: ExternalGenerationJobStatus; phaseLabel: string; phaseDetail: string; progress: number; error?: string | null; priceMudPoints: number; refundLedgerId?: string | null; notificationAcknowledgedAt?: string | null; createdAt: string; startedAt?: string | null; completedAt?: string | null; updatedAt: string; updatedAtMicros: number; } export interface ExternalGenerationTaskListResponse { tasks: ExternalGenerationTaskRecord[]; overview: ExternalGenerationQueueOverview; } export interface ExternalGenerationTaskAcknowledgeRequest { jobIds: string[]; } export interface ExternalGenerationTaskAcknowledgeResponse { acknowledgedTasks: ExternalGenerationTaskRecord[]; }