npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@eventloom/runtime

v0.1.7

Published

Append-only event-log runtime for multi-agent AI systems

Readme

Eventloom

npm version license: MIT node >=20 GitHub

Eventloom is a local-first TypeScript runtime for multi-agent systems built around an append-only event log.

Site: syndicalt.github.io/eventloom | Package: @eventloom/runtime | Repository: syndicalt/eventloom | License: MIT

Instead of treating an agent run as a linear system/user/assistant transcript, Eventloom models runtime state as typed events. Actors receive mailbox items, emit structured intentions, and an orchestrator validates those intentions before appending accepted events. Projections rebuild state from the log, so a run can be replayed and inspected after the fact.

Eventloom is currently a runtime prototype. It is designed for local development, deterministic replay, and integration experiments with Pathlight.

MVP Quickstart

Use Eventloom as a local black box recorder for agent work:

mkdir -p .eventloom

npx eventloom append .eventloom/agent-work.jsonl goal.created \
  --actor user \
  --payload '{"title":"Ship a scoped agent task"}'

npx eventloom append .eventloom/agent-work.jsonl task.proposed \
  --actor codex \
  --payload '{"taskId":"task_demo","title":"Make a focused change"}'

npx eventloom append .eventloom/agent-work.jsonl task.claimed \
  --actor codex \
  --payload '{"taskId":"task_demo"}'

npx eventloom visualize .eventloom/agent-work.jsonl
npx eventloom handoff .eventloom/agent-work.jsonl

Optional MCP server for editor and agent clients:

npx @eventloom/mcp --root .

Optional Pathlight export when a collector is running:

npx eventloom export pathlight .eventloom/agent-work.jsonl \
  --base-url http://localhost:4100 \
  --trace-name eventloom-agent-work

Optional HALO export for agent failure-mode analysis:

npx eventloom export halo .eventloom/agent-work.jsonl \
  --out eventloom-halo-traces.jsonl \
  --project-id eventloom \
  --service-name eventloom-agent-work

What It Does

  • Appends sealed events to a JSONL event log.
  • Verifies a tamper-evident hash chain.
  • Summarizes handoffs from goals, tasks, decisions, verification events, model/tool telemetry, reasoning summaries, and observability gaps.
  • Builds Capture, Replay, and Handoff visualizer models from local logs.
  • Provides starter templates for coding, review, release, and research tasks.
  • Runs deterministic actor workflows.
  • Validates actor intentions before accepting state changes.
  • Records model, tool, and reasoning-summary telemetry during actor turns, including prompt versions, summaries, token counts, exit codes, result counts, excerpts, and failure details.
  • Rebuilds task, research, and effect projections from the log.
  • Supports human-in-the-loop approval events.
  • Exports actor turns and runtime events to Pathlight traces.
  • Exports external agent journals to Pathlight task lifecycle spans.
  • Exports Eventloom logs to HALO-compatible OpenTelemetry JSONL traces.
  • Provides a package API for embedding Eventloom in TypeScript code.

Quick Start

Install from npm:

npm install @eventloom/runtime

Run the installed CLI:

npx eventloom run software-work /tmp/eventloom-software.jsonl
npx eventloom replay /tmp/eventloom-software.jsonl
npx eventloom templates coding-task

Use the package from TypeScript:

import { createRuntime } from "@eventloom/runtime";

const runtime = createRuntime("/tmp/eventloom.jsonl");
await runtime.runBuiltIn("software-work");

const replay = await runtime.replay();
console.log(replay.integrity.ok);

Develop Locally

npm install
npm test
npm run build

Run a deterministic software-work workflow:

npm run eventloom -- run software-work /tmp/eventloom-software.jsonl
npm run eventloom -- replay /tmp/eventloom-software.jsonl

Run a research workflow:

npm run eventloom -- run research-pipeline /tmp/eventloom-research.jsonl
npm run eventloom -- timeline /tmp/eventloom-research.jsonl

Run a human approval workflow:

npm run eventloom -- run human-ops /tmp/eventloom-human-ops.jsonl
npm run eventloom -- append /tmp/eventloom-human-ops.jsonl approval.granted --actor human --thread thread_ops --payload '{"effectId":"effect_runtime_mitigation","approvalId":"approval_runtime_mitigation"}'
npm run eventloom -- run human-ops /tmp/eventloom-human-ops.jsonl --resume

Use as a Library

import { createRuntime } from "@eventloom/runtime";

const runtime = createRuntime("/tmp/eventloom.jsonl");
await runtime.runBuiltIn("research-pipeline");

const replay = await runtime.replay();
console.log(replay.integrity.ok);
console.log(replay.projection.research);

The npm package is published as @eventloom/runtime. See Package API for the full package-facing API.

The MCP server package lives in packages/mcp as @eventloom/mcp. It exposes Eventloom log operations and Pathlight/HALO export to local MCP clients over stdio. See MCP Setup for editor setup and MCP Package Design for the tool contract.

Documentation

Project Layout

src/           Runtime and CLI source
tests/         Vitest unit and integration tests
packages/mcp/  MCP stdio server package
fixtures/      Sample event logs
docs/          User, technical, and planning docs

Status

The original prototype roadmap is implemented:

  • Local JSONL event log
  • Deterministic projections
  • Actors and intention validation
  • Orchestrated software-work workflow
  • CLI inspection surface
  • Pathlight export bridge
  • Multi-agent research workflow
  • Human-in-the-loop effect approval workflow
  • Runtime provenance metadata
  • Public package API
  • HALO trace export bridge
  • Rich model, tool, reasoning, and verification telemetry export
  • Agent integration workflow and Codex skill
  • MCP stdio server package
  • MCP Pathlight and HALO export tools
  • Cross-process append locking for local JSONL logs