Installation
ESM, Node.js 22.13 or later, the effect peer, and the same version of both packages.
@rivus/agent-kit
npm install @rivus/agent-kitESM only, no side effects, Node.js 22.13 or later.
Every entry except /node, /node/effect and /testing also bundles for browsers.
Effect entries need the host to install effect at exactly the version in peerDependencies.effect. Read it with:
npm view @rivus/agent-kit peerDependencies.effectPlain entries do not load this optional peer. The entry table's Runs in column on Introduction marks entries that need it with "with effect".
@rivus/agent-kit-collab
npm install @rivus/agent-kit @rivus/agent-kit-collab
# Read the exact effect peer version for /lease and /lanes, then install that version:
npm view @rivus/agent-kit-collab peerDependencies.effect
npm install --save-exact "effect@$(npm view @rivus/agent-kit-collab peerDependencies.effect)"Both packages use the same version. These docs follow the main branch; the npm release can lag behind until the next release. Each package's CHANGELOG lists what shipped.
For an older release, query npm view @rivus/agent-kit-collab@<version> peerDependencies.effect and use the same @<version> suffix in the install line's query.
@rivus/agent-kit is a peer dependency, so the process holds one copy of the platform types. The Effect entries /lease and /lanes need the host to install effect at exactly the version in peerDependencies.effect, as reported by the command above. Plain entries do not need this optional peer.
ESM only, no side effects, Node.js 22.13 or later on darwin or linux.
Platform limits
win32 is not supported: the platform cannot identify processes there (boot id, pid and start time), which leases and lock files need. A SQLite process lock is still taken, with holder undefined, as described in Process locks.
Every lock supports local directories only. Neither SQLite's locks nor lock files are reliable on NFS.
Holders are judged by host name, boot id, pid and start time, so all processes that share a lock must see one process table. Containers that share the host's name and kernel but not its PID namespace are not supported. A host renamed while it holds locks makes its holders look remote (judged by the TTL alone; a lock file of a dead holder then stays until removed).
Status is 0.x, with one lockstep release policy for this package and @rivus/agent-kit (same version). A minor release may contain breaking changes.