@rivus/runtime
v0.21.2
Published
Execution core, Pi/ACP adapters, memory, and tool brokerage for Rivus.
Downloads
0
Readme
@rivus/runtime
Standalone agent execution runtime for Rivus, including the Pi and ACP adapters, memory, tool execution, and run history.
Use the root entrypoint for execution contracts, @rivus/runtime/pi for Pi assembly, and @rivus/runtime/acp for ACP.
createAgentHarness returns the canonical Effect Harness; its session handles, event/update handlers and injected
Clock/Run ID ports compose Effect directly. Promise Harness clients, runtime conveniences, event constructors,
projection helpers and generic Clock/Run ID factories are not public entrypoints. Infer private options and results
from the retained Factory/Port signatures instead of importing implementation modules.
Pi assembly owns SDK model, resource and session creation. createSession({ sessionCwd }) honors an explicit working
directory with or without sessionDirectory; omitting both options preserves the SDK defaults.
Pi and ACP loops implement the same native Effect contract. SDK session, plugin callback and stdio transport APIs retain
their real asynchronous boundaries. Pi still validates SDK-managed history when changing a live Session's model.
Runtime-only applications supply their loop and ports without installing Gateway or Agent. The Agent SDK does not re-export execution helpers; consume this package for runtime behavior.
Memory consumers open openJsonlAgentMemoryRepository and inject it into createMemoryService with an identity source.
createRivusMemoryToolDescriptor and createProjectMemoryPromptPreparer use the canonical Effect service directly;
Legacy Memory DTOs, Promise services/handles and compaction aliases are removed. The JSONL v1 format is unchanged.
Tool Broker, Ledger, policy and approval ports use Effect. Pi runs the workflow only at its SDK execute callback,
using unwrapExit to preserve failure identity. Legacy tool authority, Promise Ledger and Pi Proxy aliases are removed;
open the canonical openJsonlToolOperationLedger and inject it directly. The existing operation file format is unchanged.
