#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RlmModelPurpose {
Root,
Compression,
Background,
Subcall,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum RlmModelSource {
RootConfig,
SubcallConfig,
Env,
Caller,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct RlmModelChoice {
pub model: String,
pub source: RlmModelSource,
}
impl RlmModelChoice {
pub(crate) fn new(model: impl Into<String>, source: RlmModelSource) -> Self {
Self {
model: model.into(),
source,
}
}
}