Expand description
Room filesystem path resolution.
All persistent state lives under ~/.room/:
~/.room/state/— tokens, cursors, subscriptions (0700)~/.room/data/— chat files (default, overridable via--data-dir)
Ephemeral runtime files (sockets, PID, meta) use the platform-native temporary directory:
- macOS:
$TMPDIR(per-user, e.g./var/folders/...) - Linux:
$XDG_RUNTIME_DIR/room/or/tmp/fallback
Functions§
- broker_
event_ filters_ path - Broker event-filter-map file path:
<state_dir>/<room_id>.event_filters. - broker_
subscriptions_ path - Broker subscription-map file path:
<state_dir>/<room_id>.subscriptions. - broker_
tokens_ path - Broker token-map file path:
<state_dir>/<room_id>.tokens. - cursor_
path - Cursor file path for a given room/user pair.
- effective_
socket_ path - Resolve the effective daemon socket path.
- ensure_
room_ dirs - Ensure
~/.room/state/and~/.room/data/exist. - global_
token_ path - Global token file path for a user (room-independent).
- legacy_
token_ dir - Directory that contained per-room token files in older daemon versions.
- room_
data_ dir - Default directory for chat files:
~/.room/data/. - room_
home - Root of all persistent room state:
~/.room/. - room_
meta_ path - Platform-native meta file path for a single-room broker.
- room_
pid_ path - PID file for the daemon process:
~/.room/roomd.pid. - room_
plugins_ dir - Directory for installed plugin shared libraries and metadata.
- room_
runtime_ dir - Platform-native runtime directory for ephemeral room files (sockets, PID, meta).
- room_
single_ socket_ path - Socket path for a standalone single-room broker (test fixtures only).
- room_
socket_ path - Platform-native socket path for the multi-room daemon.
- room_
state_ dir - Directory for persistent state files (tokens, cursors, subscriptions).
- system_
tokens_ path - System-level token persistence path:
~/.room/state/tokens.json. - token_
path - Token file path for a given room/user pair (legacy, per-room tokens).