At work, I’m working on the flow compiler, which compile from flow documents into ETA flow descriptors. You can read more details in this article.
Flow documents are a collection of nodes and edges, which are JSON objects. They are used to describe the flow of an automation chatbot. The flow compiler takes a flow document and compile it into an ETA flow descriptor, that is used by the ETA engine to run the flow. ETA is short for “Event-Action-Trigger”, a programming paradigm that is used to describe how to react (“action”) with each event matching a specific condition (“trigger”).
In addition to writing the flow compiler, I also created a tool to visualize the flow documents and ETA flow descriptors. The tool is written in Go for backend, svelte and vite for frontend. It uses Svelvet to visualize the diagram and elkjs to layout the diagram.
And say thanks to all the people who contributed to the open source projects that I used in this project.
A flow document
Compile a flow document to a ETA flow descriptor
An ETA flow descriptor