package com.cameleer.server.core.ingestion;

import java.time.Instant;

/**
 * A merged execution envelope ready for ClickHouse insertion.
 * Produced by ChunkAccumulator after receiving the final chunk.
 */
public record MergedExecution(
        String tenantId,
        long version,
        String executionId,
        String routeId,
        String instanceId,
        String applicationId,
        String environment,
        String status,
        String correlationId,
        String exchangeId,
        Instant startTime,
        Instant endTime,
        Long durationMs,
        String errorMessage,
        String errorStacktrace,
        String errorType,
        String errorCategory,
        String rootCauseType,
        String rootCauseMessage,
        String diagramContentHash,
        String engineLevel,
        String inputBody,
        String outputBody,
        String inputHeaders,
        String outputHeaders,
        String inputProperties,
        String outputProperties,
        String attributes,
        String traceId,
        String spanId,
        boolean hasTraceData,
        boolean isReplay,
        String originalExchangeId,
        String replayExchangeId
) {}
