[api] refactor all the things

- better names for client and server
- interactions are cleaner
- the thing actually works
- more doc
[api] add logger level enum

- enum for future work of filter by level
[node] update package.json

formatted logically, fixed scripts