pub fn client_session_end(
endpoint: Option<&str>,
session_id: &str,
) -> Result<Option<SessionStats>, String>Expand description
End a session — daemon-unreachable is treated as a successful no-op.
Thin String-error wrapper around session_end_idempotent. All in-process
callers (Python bindings, soldr, future tools) route through here, so the
idempotency contract that #151 / #159 established for the CLI subprocess
path applies equally to library users. Without this, soldr’s at-exit
zccache session-end from rust-plan save fails Windows CI with
“cannot connect to daemon at \.\pipe\zccache-…” when the daemon already
exited — every workspace test passed but teardown failed.