Interface of AD4M Languages
Since there are a few different kinds of languages, this interface is split into optional sub-interfaces. The only required property is the name of the language.
The most usual kind of language is the "Expression Language", which is a language that can be used to create and share Expressions. For that, implement the expressionsAdapter and expressionUI interface.
The second most common kind of language is the "Link Language", which is a language that builds the core of AD4M Neighbourhoods. For that, implement the linksAdapter interface.
Optional adapter for direct messaging between agents
ExpressionAdapter implements means of getting an Expression by address and putting an expression
Interface for getting UI/web components for rendering Expressions of this Language
Optional adapter for getting all Expressions
Optional adapter for getting Expressions by author
Implementation of a Language that defines and stores Languages
Interface of LinkLanguages for the core implementation of Neighbourhoods
Interface for providing UI components for the settings of this Language
Readonly teardown: () =>
Optional function to make any cleanup/teardown if your language gets deleting in the ad4m-executor
Additional Interface of LinkLanguages that support telepresence features, that is:
- seeing who is online and getting a status
- sending/receiveing p2p signals to other online agents without affecting the shared Perspective of the Neighbourhood (see TelepresenceAdapter for more details)
All available interactions this agent could execute on given expression
Flagging expressions as immutable to enable expression caching in the ad4m-executor