///|
pub type Sim = @core.Sim
///|
pub type TraceEntry = @core.TraceEntry
///|
pub type InvariantCheck = @core.InvariantCheck
///|
pub type InvariantReport = @core.InvariantReport
///|
pub type ValidationIssue = @core.ValidationIssue
///|
pub type ValidationReport = @core.ValidationReport
///|
pub type Backoff = @core.Backoff
///|
pub type TimerPlan = @core.TimerPlan
///|
pub type MessageBus = @core.MessageBus
///|
pub type EventKind = @core.EventKind
///|
pub type EventRecord = @core.EventRecord
///|
pub type EventStream = @core.EventStream
///|
pub type EventStreamSnapshot = @core.EventStreamSnapshot
///|
pub type EventMutationPolicy = @core.EventMutationPolicy
///|
pub type EventReplayResult = @core.EventReplayResult
///|
pub type EventFailureCase = @core.EventFailureCase
///|
pub fn trace_entry(
tick : Int,
event_id : Int,
kind : String,
detail : String,
) -> TraceEntry {
@core.trace_entry(tick, event_id, kind, detail)
}
///|
pub fn trace_digest(entries : Array[TraceEntry]) -> UInt64 {
@core.trace_digest(entries)
}
///|
pub fn timer_plan(
name : String,
start_after? : Int = 0,
interval? : Int = 1,
times? : Int = 1,
priority? : Int = 0,
) -> TimerPlan {
@core.timer_plan(name, start_after~, interval~, times~, priority~)
}
///|
pub fn validation_issue(
code : String,
message : String,
severity? : String = "error",
) -> ValidationIssue {
@core.validation_issue(code, message, severity~)
}
///|
pub fn check_sim_invariants(sim : Sim) -> InvariantReport {
@core.check_sim_invariants(sim)
}
///|
pub fn invariant_check(
name : String,
passed : Bool,
detail? : String = "",
) -> InvariantCheck {
@core.invariant_check(name, passed, detail~)
}
///|
pub fn version() -> String {
@core.version()
}