An ETDL library document: a reusable component catalog (the standard
library, a domain library, or a user library), as opposed to an
EtlDocument (a system: event trees, fault trees, an actual model).
A library’s own identity: name, version, and description. version is a
distinct axis from etdl (the language dialect) and from any crate
version — see docs/reference/standard-library.md.
A Message Schema Object (Section 5.4.1): an inline, AsyncAPI 3.0 Message
Object-shaped definition, used when a document has no asyncapi_imports
(or a specific message isn’t covered by one) and instead defines its
message shape directly under components.messages.
A Channel Reference (Section 5.3.5): an External Reference (required
whenever the document declares any asyncapi_imports), or — only when
the document has no asyncapi_imports at all — a bare channel-name
string. Never an Internal Reference: channel addressing has no inline
schema counterpart to components.messages.
A Message Reference (Section 5.3.4): either an External Reference into a
loaded asyncapi_imports document, or an Internal Reference of the form
#/components/messages/<id> resolving to an inline Message Schema
Object (Section 5.4.1).