There once was an idea of an entity interface description format or language, but so far it hasn't been necessary. Time to add an _interface variable to Spec:Context. It is also mentioned in the whitepaper.

Interfaces are the logical next step after psyctext and arbitrary slash commands. psyctext allows you to output any kind of ad-hoc information to the user without the client having to know all the involved methods. Commands allow the user to control remote applications without the client having to understand what these do.

The interface goes further by defining the semantics of parameters of commands such that a client can generate automated graphical user interface elements when communicating in a context with local extensions.

This is achieved by means of signatures. As a side effect, when signatures have been exchanged, the names of variables in the protocol can be optimized away.

TODO: There is no syntax for exchanging signatures between nodes yet.

See also

For more interfaces, see also API, Client etc.