|
A11 (C++ runtime)
Native C++ implementation of the A11 streaming action runtime
|
What the language knows about the world it runs in. More...
Classes | |
| struct | ActionInfo |
One action a flow may run or call. More... | |
| class | Catalogue |
| Everything the tools know about the world, in one place. More... | |
| struct | Origin |
| Where an entry was declared, for an entry that was found by reading source. More... | |
| struct | PortInfo |
| One port of an action, as a tool needs to show it. More... | |
| struct | TypeInfo |
| One type the host knows, by the tag a flow writes it as. More... | |
Variables | |
| constexpr std::string_view | kCatalogueFormat = "flow.catalogue/v1" |
The format field of the catalogue envelope. | |
| constexpr std::string_view | kCatalogueSnapshot |
What the language knows about the world it runs in.
Why this exists. The tools know the language exhaustively and the world it runs in not at all: run make_http_request( offers no ports, hovering an action name says "identifier", and a flow that names a11.sdk.AudioBuffer gets no more help than one that names a11.sdk.Typo. The tools cannot fix that by importing a registry, because a11::flow_lang links nothing but Abseil and nlohmann on purpose – so what the world contains arrives as data.
Where the data comes from. A snapshot generated from the live registries (scripts/generate_flow_catalogue.py -> testdata/flow/catalogue.json) is embedded, so the standalone a11-flow is useful with nothing configured. A frontend that has a live registry – a11 flow serve running inside a process that imported the SDK, an IDE that knows which registry an inline flow is attached to – passes its own with each request or once per session, and that is merged over the snapshot. Neither is privileged: the snapshot is a default, and a name given twice takes the later description.
|
inlineconstexpr |
The format field of the catalogue envelope.
|
inlineconstexpr |