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

@agentplat/sessions

v1.2.0

Published

Typed ephemeral multi-agent sessions for AgentPlat runtimes.

Readme

@agentplat/sessions

Typed, ephemeral multi-agent turn orchestration over an AgentRuntime. Sessions coordinate speakers, bounded history, stopping rules, usage and one unified event stream. They do not persist Rooms or grant tool permissions.

Installation (developer preview)

Install the coordinated preview explicitly:

npm install @agentplat/sessions@next

Keep all @agentplat/* packages on the same release version. npm's default latest tag can point to an older preview. See the release channels for distribution status and version selection.

import { createMultiAgentSession } from "@agentplat/sessions";

const session = createMultiAgentSession({
  runtime,
  tenant: { tenantId: "local" },
  speakers: [buyer, seller],
  maxRounds: 4,
  stopMarkers: ["DEAL AGREED"],
});

for await (const event of session.stream({ input: scenario, signal })) {
  // session_started, turn_started, token, turn_completed, stop_reason...
}

Use Agent Rooms when work must be durable, approval-gated or governed. An optional session sink can record an event trail without changing the scheduler contract.

For product-ready interactive sessions, the package also provides explicit live-to-fallback provider switching (fallbackPlatform), token and application-estimated cost guardrails, typed UI capability flags, and the buildScenarioInput helper for simple form-driven scenarios. Fallbacks emit turn_failed and provider_fallback; they are never silent.

Use @agentplat/sessions/http for a Fetch-compatible stop registry. Its local createMemorySessionRegistry({ ttlMs }) implementation cleans up idle handles, and handleSessionStop accepts an authorization hook. Use @agentplat/sessions-redis for a multi-instance pub/sub control path. The Redis adapter stores only owner leases; AbortController remains local to the process running the stream.

For browser clients, use createSessionEventReducer with subscribeAgentSse from @agentplat/streaming. Sessions can also emit append-only SessionEventRecord values through eventSink; choose sinkFailureMode: 'required' to fail closed when the sink is unavailable.