package com.doctate.watch.domain

/**
 * Wire-format DTOs for `GET /api/oneliners`. Mirror
 * `common/src/oneliners.rs::OnelinersResponse` and `OnelinerEntry`
 * exactly; the `OnelinersClient` (Phase 6) parses JSON into these.
 *
 * Timestamps stay RFC3339 strings — lexicographic comparison on the Zulu
 * format is correctly ordered, which is the same trick the Rust client uses
 * for window-anchored reconciliation.
 */
data class OnelinersResponse(
    val asOf: String,
    val windowHours: Int,
    val oneliners: List<OnelinerEntry>,
)

data class OnelinerEntry(
    val caseId: String,
    val oneliner: OnelinerState?,
    val createdAt: String,
    val lastRecordingAt: String?,
    val updatedAt: String?,
)
