Skip to content

Release v4.14.0

Latest

Choose a tag to compare

@github-actions github-actions released this 17 Sep 22:49
b642e89

Adds the textual PDL grammar for Cratis/Chronicle's read model variants: a variant <Name>
block declares one of several mutually exclusive named read models sharing a projection's
logical identity, and enters on <EventType> declares the event that activates it. A block
declared at the projection level, outside every variant, is a shared handler applied to every
variant that has the mapped property. No kernel/engine changes are needed on the Chronicle
side for this — it maps onto the same From/Join/RemovedWith shape the Fluent and
ModelBound authoring styles already produce.

Added

  • variant <Name> and enters on <EventType> grammar in the Projection Declaration Language (#185)
  • Five new diagnostics (PLAY0277-PLAY0281) for invalid/missing/nested/duplicate variant declarations
  • Monaco language support for variant/enters on — syntax highlighting, completions, hover
    text, and property/event validation scoped per variant — consumed by Chronicle's Workbench
    ProjectionEditor via @cratis/screenplay-language/projection

Changed

  • A projection with variant blocks now builds one read model per variant (named after the
    variant) instead of one named after the projection's own identity, so a command's reads
    and other read-model references resolve variant names correctly