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

@tinoy/pi-todo-parent

v0.3.0

Published

Give a child session a todo tool whose mutations are applied to the spawning session's todo list, without waking its model.

Readme

[!WARNING] Do not install anything here yet.

This is a fast-moving prototype: the interfaces change without notice, and nothing here is stable. Every package in this project is headed for a stable 1.0, but that is still some way off. Install one only if you intend to follow the code and expect breakage.

@tinoy/pi-todo-parent

Give a child session a todo tool whose mutations are applied to the spawning session's todo list, without waking its model.

pi install npm:@tinoy/pi-todo-parent

What it needs at call time

@juicesharp/rpiv-todo (its pure state reducer and branch replay) when a mutation is applied in the spawning session, and the pi-subagents supervisor-channel layout for the child-to-parent transport. That package is an OPTIONAL peer: it is reached through a guarded dynamic import, so a session without it still loads this extension, and the parent side answers a refusal naming the package and its install line instead of failing. The absence is reported once on the diagnostics log when this extension loads.

Registers

todo_parent, in a CHILD session (the marker PI_SUBAGENT_CHILD=1). The spawning session registers no tool: it runs the watcher that applies the requests.

Behaviour

A todo_parent call writes a request file into the supervisor channel directory and polls for the reply, so it is synchronous and bounded by a 15 s timeout. The spawning session appends a replay-compatible todo toolResult row to its own session branch — durable and replay-derivable — and then emits rpiv-todo:external-refresh.

The mutation is on the branch, not in the parent's live store: the installed rpiv-todo keeps its per-session state in a module-private map that no other extension can reach, so the parent's live todo tool and overlay see the entry at their next session start/compact/tree. A parent-side todo write before that appends a row from the stale cached view, which wins the replay and drops the child's entry. Every reply carries that note.

Caveats

No caveat rows declared: the neighbour this extension needs is not a nicety, so it is stated under "What it needs at call time" instead of a "works better with" row.

Dependencies

pi-supplied imports (@earendil-works/pi-coding-agent, typebox) are peer dependencies with a * range and are never bundled. @juicesharp/rpiv-todo is an optional peer. Plain dependencies: @tinoy/pi-ext-lib.

Licence

MIT — see the repository LICENSE.