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

@pi-harness/plugin-synapse

v0.1.33

Published

Visualize session relationships and linked work items without changing the transcript.

Downloads

895

Readme

@pi-harness/plugin-synapse

Synapse displays persisted Pi sessions and native fork relationships without changing the transcript.

Install

npm install --save-exact @pi-harness/plugin-synapse

Enable

Add the entry to the Cordis profile the harness starts from:

- id: synapse
  name: "@pi-harness/plugin-synapse"
  config: {}

The Pi Harness plugin marketplace installs and enables this package for you; the steps above are the manual equivalent.

Behavior and limits

synapse_session_map accepts an empty object and returns the complete displayed graph as JSON, including nodes, fork edges, the workspace, total inventory count, result truncation, metadata truncation and unavailable-metadata counts. The active runtime session manager determines the workspace and session directory. Before runtime initialization the native piSession manager supplies this context. No legacy report aliases are supported.

Panel polls reuse a detached snapshot for up to five seconds within the same session context. Explicit tool calls rescan. Session switches, plugin disposal and caller cancellation reject obsolete scans during directory discovery and file reads. This is a read-only map, not a session switcher or work-item editor.

maxSessions must be an integer from 1 to 2000 (default 500). Synapse enumerates every JSONL filename so total remains accurate, but reads at most 64 KiB for each journal header and retains only the newest maxSessions candidates in memory by filesystem modification time. The active persisted session reserves a place even when newer journals fill the limit. Selected journals are read in batches of eight with a 4 MiB per-file limit. Larger selected journals remain visible as header-only nodes with messagesTruncated: true; files that change identity, become malformed or cannot be read after discovery are omitted and counted in metadataUnavailable.

Node labels are limited to 120 UTF-16 units without splitting surrogate pairs. Only persisted sessions appear, and a parent outside the returned subset is counted as undisplayed, not proven missing. Fork edges describe separate native session files, not branches within one journal.

Directory access errors and paths that are not directories are surfaced instead of being treated as a successful empty map. A missing directory remains a normal empty inventory before the first persisted session. Custom shared directories require a non-empty journal cwd matching the active workspace; default per-workspace directories preserve legacy empty or stale stored cwd values for compatibility with Pi's native listing. Files are opened without following symbolic links and must remain regular files. Files can still change between bounded header discovery and selected metadata reads, so the map is not an atomic filesystem snapshot.

The panel shows at most eight nodes and five edges. Each node's branch count covers the displayed graph only. Files can change during enumeration, so the map is not an atomic filesystem snapshot.