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

@trama-dev/session

v0.1.5

Published

Agent session protocol for trama — multi-agent coordination with shared workspace

Downloads

25

Readme

@trama-dev/session

Multi-agent coordination for trama programs.

The session layer for trama — shared workspace, cooperative suspension, and structured program results for coordinating multiple agent-authored programs.

Usage

import { ctx, agent, tools, workspace } from "@trama-dev/runtime";
import { Session } from "@trama-dev/session";

const session = await Session.createTemp();

// Spawn participants — each is a full trama program
const handle = session.spawn("check-sql", {
  projectDir: "~/.trama/projects/check-sql",
});

const result = await handle.wait();
// { status: "done" | "yielded" | "failed", reason?, result? }

// Resume a yielded participant
if (result.status === "yielded") {
  const resumed = await handle.resume({ feedback: "approved" });
  await resumed.wait();
}

What the session layer provides

  • Shared workspace — participants read and write artifacts through a common directory with atomic writes and path guarding.
  • Structured resultsProgramResult with status, reason, and result fields. The session layer never reads state.json directly.
  • Yield/resume — participants can suspend cooperatively via ctx.yield() and be resumed with new args.
  • Failure isolation — each participant has its own trama lifecycle, repair loop, and state. A crashing participant doesn't corrupt the workspace or block others.

Design

The session layer is policy. The runtime is mechanism. The session manages coordination (who participates, when to resume). The runtime manages execution (state persistence, auto-repair, version history). This boundary is enforced: session depends on runtime, never the reverse.

See the main README for the full API reference, and docs/workspace-rfc.md for the design rationale.