/**
 * Checkpoint Types for Operation-Level Checkpointing
 *
 * This module defines the types for checkpointing expensive operations
 * (API calls, LLM calls, etc.) to enable recovery from failures without
 * re-executing already completed operations.
 */
export { ProvenanceSource as CheckpointProvenanceSource } from '@mondaydotcomorg/atp-provenance';
/**
 * Type of checkpoint storage strategy
 */
export var CheckpointType;
(function (CheckpointType) {
    /** Store the complete result value */
    CheckpointType["FULL_SNAPSHOT"] = "full_snapshot";
    /** Store a reference/summary with full value in cache */
    CheckpointType["REFERENCE"] = "reference";
})(CheckpointType || (CheckpointType = {}));
/**
 * Type of operation being checkpointed
 */
export var OperationType;
(function (OperationType) {
    OperationType["API"] = "api";
    OperationType["LLM"] = "llm";
    OperationType["EMBEDDING"] = "embedding";
    OperationType["CLIENT_TOOL"] = "client_tool";
    OperationType["APPROVAL"] = "approval";
})(OperationType || (OperationType = {}));
/**
 * Error thrown when operation checkpoint operations fail
 */
export class OperationCheckpointError extends Error {
    checkpointId;
    operation;
    constructor(message, checkpointId, operation) {
        super(message);
        this.checkpointId = checkpointId;
        this.operation = operation;
        this.name = 'OperationCheckpointError';
    }
}
//# sourceMappingURL=checkpoint-types.js.map