ReadonlyinboxReadonlyoutboxReadonlyexclusivetrue when only one process can use the backend at a time (memory, file). A restarted
process then knows every lease of its instanceId is its own dead incarnation's.
ReadonlyscopeThe scope of this view (undefined = the unscoped tables).
ReadonlykvStaticopenOpen (or create) the journal at filePath.
Wait for pending writes and release the lock file. Idempotent; later writes reject (a
closed journal never writes without its lock). The bot does NOT call this on stop()
(a restart reuses the instance).
A view over the same KV holding only the records of name (tables inbox:<name> / outbox:<name>).
Called by bot.start() before anything is replayed.
Called by bot.stop() after the provider stopped.
DurabilityBackend persisted to a JSON file (single process).