package com.correx.core.tasks

import com.correx.core.events.types.ProjectId
import com.correx.core.events.types.SessionId

/**
 * Task events live in one event stream per project, keyed `tasks:<projectId>`. The
 * `tasks:` prefix keeps these streams distinguishable from real agent sessions (the
 * EventStore is partitioned by [SessionId], and [SessionId]/`TaskId` are both `TypeId`).
 */
object TaskStreams {
    const val PREFIX: String = "tasks:"

    fun forProject(projectId: ProjectId): SessionId =
        SessionId("$PREFIX${projectId.value}")
}
