0.1.1

Fixes found while bringing the line coverage of lib/ to 100%.

  • The LiveView renderer keeps a null in its place in a list prop, so table columns stay aligned.
  • @Each over a query or mutation named like its loop variable renders the items, as the official renderer does.
  • A call nested in a $variable default is evaluated, so the state the host receives is plain JSON.
  • A DSL function without returns: compiles, and a slot that takes a single action is written as the official library writes it.
  • Library.from_spec returns {:error, problems} for a LibrarySpec with sections of the wrong type, and mix openui.gen.spec --check reports one instead of crashing.
  • OpenUI.Prompt accepts tool schemas given as plain maps.
  • OpenUI.Serializer and OpenUI.Canonical handle a component that @Set stores.

0.1.0

First release. Implements OpenUI Lang 1.0 (spec commit 9d73d17).

  • Catalog DSL (use OpenUI.Library) that generates the official LibrarySpec, and mix openui.gen.spec with backward compatibility checks.
  • System prompt byte-identical to @openuidev/lang-core 1.0.1.
  • Parser, chunked stream, edit merge and serializer; every case of the 1.0 conformance suite passes.
  • Runtime for state, forms, validation, actions, Query and Mutation, as a pure value with effects.
  • Stored message protocol (OpenUI.Message).
  • Optional Phoenix LiveView renderer with per-component crash protection.
  • Eight guides, a LiveView chat example and a React example whose contract test compares this library with the official parser.