Session Lock Handle
interface SessionLockHandle
A handle to a held SessionLock, returned by a successful SessionLock.acquire. Ported from yorkie-js-sdk session-lock.ts (2291bf67/#1338).
release is non-suspending and idempotent so it can run from a non-cancellable teardown path (Client.detachInternal, including the keepalive NonCancellable/GlobalScope variants) and be called more than once (e.g. once from a failed-attach rollback and once from the eventual detachInternal) without effect beyond the first call.