Golang API

External agents in nodlin are all expected to communicate over the NATS messaging platform using JSON.
To simplify development, a library is provided (open source) to allow for the creation of nodes and relationships, evaluate expressions, create node ‘forms’, node images etc.
More specialised functions are also provided to assign actions, FYI’s etc.
A number of external agents (e.g. openAI) will also be open sourced as examples of external agents that you can utilise and modify that utilise the library.
Other APIs (e.g. typescript) will be provided as required in the future.
The interface follows a JSON message standard and therefore the use of the API is not enforced. There are however complexities in the communication that you would need to consider if you roll-your-own version. When status is communicated there are rules around the response containing additional command-ids and checkpoints that are required to be communicated with any response. These represent dependencies between additional requests that may have been created as part of processing. To avoid race conditions (where the responses may be processed out of order) we need to ensure that the nodlin server understands that these exist if these have not yet been processed. The nodlin server maintains a ’tree’ of these dependencies (not a stack), see Key principle 4: Parallel execution of change is a necessity.