use crate::runtime::{
GeneratedMachineKernel, KernelInput, KernelState, KernelValue, TransitionOutcome,
TransitionRefusal,
};
pub fn schema() -> meerkat_machine_schema::MachineSchema {
meerkat_machine_schema::occurrence_lifecycle_machine()
}
pub fn kernel() -> GeneratedMachineKernel {
GeneratedMachineKernel::new(schema())
}
pub fn initial_state() -> Result<KernelState, TransitionRefusal> {
kernel().initial_state()
}
pub fn transition(
state: &KernelState,
input: &KernelInput,
) -> Result<TransitionOutcome, TransitionRefusal> {
kernel().transition(state, input)
}
pub fn evaluate_helper(
state: &KernelState,
helper_name: &str,
args: &std::collections::BTreeMap<String, KernelValue>,
) -> Result<KernelValue, TransitionRefusal> {
kernel().evaluate_helper(state, helper_name, args)
}