ontoref-code/domains/framework/ontology/defaults.ncl
2026-07-10 01:44:59 +01:00

26 lines
806 B
Text

# domains/framework/ontology/defaults.ncl
# Shared mode factory helpers for Library, Service, and Tool projects.
# Projects import via:
# let d = import "framework/ontology/defaults.ncl" in
# d.make_mode String { id = "my-mode", trigger = "...", steps = [...] }
let s = import "schema.ncl" in
let c = import "constraints.ncl" in
{
make_mode = fun ActionContract => fun data =>
let result | (s.Mode ActionContract) = data in
let result | c.NonEmptySteps = result in
let result | c.ValidTrigger = result in
result,
make_step = fun ActionContract => fun data =>
data | (s.ActionStep ActionContract),
Mode = s.Mode,
ActionStep = s.ActionStep,
Dependency = s.Dependency,
OnError = s.OnError,
Guard = s.Guard,
Converge = s.Converge,
}