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/workflows

v1.0.0

Published

Workflow contracts and an in-memory workflow store for AgentPlat.

Readme

@agentplat/workflows

Workflow contracts and a deterministic V1 runner for long-running agentic processes.

Installation (developer preview)

Install the coordinated preview explicitly:

npm install @agentplat/workflows@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.

This package defines tasks, task runs, process definitions, stages, artifacts and workflow stores. It gives agentic products a durable vocabulary for orchestration, retries, handoffs, status tracking and output capture.

The existing contracts and InMemoryWorkflowStore remain available. The additive V1 surface provides validated task, wait, signal and generic gate DAGs, canonical definition/state digests, idempotent process operations and an InMemoryProcessRunnerV1 for local composition and conformance-oriented tests. Every task attempt is retained as a revisioned TaskRunV1 with its exact handler/prompt/model/policy/tool binding, input digest, stable idempotency key, usage and result references. Bounded leases support heartbeat renewal and generation-fenced takeover. An old owner receives cooperative abort and cannot settle after replacement. Ambiguous protected effects become indeterminate until explicit reconciliation; they are not silently retried.

import {
  createProcessDefinitionV1,
  InMemoryProcessRunnerV1,
} from "@agentplat/workflows";

const definition = createProcessDefinitionV1({
  processId: "process:review",
  version: "1",
  name: "Review process",
  stages: [
    {
      schemaVersion: 1,
      stageId: "prepare",
      name: "Prepare",
      kind: "task",
      taskDefinitionId: "task:prepare",
      taskDefinitionVersion: "1",
      dependsOn: [],
    },
    {
      schemaVersion: 1,
      stageId: "decision",
      name: "Decision",
      kind: "await_signal",
      signalType: "decision.recorded",
      dependsOn: [{ stageId: "prepare", outcomes: ["succeeded"] }],
    },
  ],
});

InMemoryProcessRunnerV1 is browser-safe and intentionally makes no restart, multi-process, durable timer or exactly-once external-effect claim. Effectful executors must honor the stable task idempotency identity and protected effects still require the existing AgentPlat action boundary. Durable integrations are available in @agentplat/workflows-postgres, @agentplat/workflows-rooms and @agentplat/workflows-temporal. See the component maturity matrix for evidence and integration obligations; the in-memory runner itself remains non-durable.

@agentplat/workflows/outcomes adds delayed outcome attribution, version-bound distribution summaries and a coverage monitor that distinguishes healthy, insufficient, stale and unavailable evidence. Outcome types, reasons, subjects and sources are opaque caller vocabulary; the package does not define a generic accuracy metric or treat missing outcomes as success.