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).
ReadonlykvA 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.
In-process durability backend — the default of
BotConfig.durabilityand the reference implementation of the journal contract.It gives retries, backoff, the dead-letter queue and idempotent sends within one process, but everything it holds is lost when the process dies: use
FileDurability(single process) or a store-backed backend (@botmesh/postgres-store,@botmesh/redis-store) to survive a crash.