package com.correx.core.inference

import com.correx.core.events.types.InferenceRequestId
import com.correx.core.events.types.ProviderId
import com.correx.core.events.types.SessionId
import com.correx.core.events.types.StageId
import kotlinx.serialization.Serializable

@Serializable
data class InferenceRecord(
    val requestId: InferenceRequestId,
    val sessionId: SessionId,
    val stageId: StageId,
    val providerId: ProviderId,
    val status: InferenceStatus,
    val tokensUsed: TokenUsage? = null,
    val latencyMs: Long? = null,
    val failureReason: String? = null,
)
