keiro-dsl-0.15.0.0: test/fixtures/process-ghost-refs.keiro
language keiro-dsl 4
context repro
process Demo
name "demo"
input DemoInput { thingId observedAt:Time }
correlate input.thingId via idText
saga Saga category "demo"
target Target
projections [ ghostReadiness ]
on DemoInput
advance GhostAdvance { thingId commandId=input.thingId }
dispatch Target@input.thingId GhostCommand { thingId }
on-appended AckOk ; on-duplicate Retry ; on-failed Retry
schedule wrongTimer
dispatch-id strategy=uuidv5 from=(name, correlationId, sourceEventId, emitIndex)
rejected => halt
poison => halt
timer demoTimer
id uuidv5 "demo-timer:" <> correlationId
fireAt input.observedAt + 5m
payload { kind="demo" }
fire dispatch Saga@correlationId GhostFire { thingId }
fired-event-id uuidv5 "demo-fired:" <> correlationId
on-ok Fired ; on-reject Retry ; on-ambiguous Retry ; on-error Retry ; not-mine Retry
decode unknown-status => Cancelled
max-attempts 5 dead-letter "ceiling"
aggregate Saga
regs
states Idle
aggregate Target
regs
states Ready