use std::collections::HashMap;
use serde::{Deserialize, Serialize};
use crate::types::EntityType;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub enum MergeStrategy {
Ours,
Theirs,
Union,
FieldLevel(HashMap<String, MergeStrategy>),
Manual,
}
pub fn strategy_for_entity_type(entity_type: &EntityType) -> MergeStrategy {
match entity_type {
EntityType::MemoryRecord => MergeStrategy::FieldLevel(HashMap::new()),
EntityType::Session => MergeStrategy::Ours,
EntityType::ToolOutput => MergeStrategy::Theirs,
}
}