/**
 * Sync System Types
 *
 * Type definitions for the JSONL-based synchronization system.
 * Enables bidirectional sync between SQLite and git-friendly JSONL format.
 */
// ============================================================================
// Content Hashing
// ============================================================================
/**
 * Fields excluded from content hash computation
 * These fields are identity/attribution rather than content
 */
export const HASH_EXCLUDED_FIELDS = [
    'id',
    'createdAt',
    'updatedAt',
    'createdBy',
    'contentHash',
];
// ============================================================================
// Merge Strategy Types
// ============================================================================
/**
 * Merge resolution result
 */
export const MergeResolution = {
    /** Local version kept */
    LOCAL_WINS: 'local_wins',
    /** Remote version applied */
    REMOTE_WINS: 'remote_wins',
    /** Content was identical */
    IDENTICAL: 'identical',
    /** Tags merged from both */
    TAGS_MERGED: 'tags_merged',
};
// ============================================================================
// Tombstone Handling
// ============================================================================
/**
 * Tombstone status for merge decisions
 */
export const TombstoneStatus = {
    /** Not a tombstone (live element) */
    LIVE: 'live',
    /** Tombstone within TTL */
    FRESH: 'fresh',
    /** Tombstone past TTL */
    EXPIRED: 'expired',
};
// ============================================================================
// Sort Order for Export
// ============================================================================
/**
 * Element type priority for export ordering
 * Lower number = exported first (entities first for references)
 */
export const ELEMENT_TYPE_PRIORITY = {
    entity: 0,
    document: 1,
    task: 2,
    message: 3,
    channel: 4,
    plan: 5,
    workflow: 6,
    playbook: 7,
    library: 8,
    team: 9,
};
/**
 * Get sort priority for an element type
 */
export function getTypePriority(type) {
    return ELEMENT_TYPE_PRIORITY[type] ?? 100;
}
//# sourceMappingURL=types.js.map