Du könntest Dir mal andere Implementierungen anschauen und natürlich auch deren Dokumentation bzw.
API Signaturen um eine Vorstellung und auch Details erhalten. Keine Ahnung, ob sowas wie folgt eine gute Implementierung ist, vollständig usw., aber es wäre ein Anfang:
https://agea.github.io/CmisJS/classe...issession.html