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

@cybernetyx1/atlasflow-runtime

v0.1.8

Published

Portable TypeScript runtime for AtlasFlow agents, sessions, tools, sandboxes, routing, and persistence.

Readme

@cybernetyx1/atlasflow-runtime

The portable TypeScript runtime and SDK used inside AtlasFlow agent code — define agents, tools, channels, commands, and durable runs.

Install

npm install @cybernetyx1/atlasflow-runtime

Part of the AtlasFlow monorepo. Proprietary.

Usage

Define a tool with defineTool, then build an agent with defineAgent / createAgent. Channels (defineChannel) receive inbound events, commands (defineCommand) expose callable operations, and invokeAgent runs an agent durably.

Tool parameters are described once as a Valibot schema; the runtime infers the JSON Schema the model needs.

import { defineTool, defineAgent } from "@cybernetyx1/atlasflow-runtime";
import * as v from "valibot";

const addTool = defineTool({
  name: "add",
  description: "Add two numbers",
  parameters: v.object({ a: v.number(), b: v.number() }),
  execute({ a, b }) {
    return String(a + b);
  },
});

export const agent = defineAgent({
  name: "calculator",
  instructions: "You add numbers using the add tool.",
  tools: [addTool],
});
import { defineChannel, verifySlackRequestSignature } from "@cybernetyx1/atlasflow-runtime";

export const slackChannel = defineChannel({
  name: "slack",
  async handle(ctx) {
    const body = await ctx.text();
    // verify the signature, then return a dispatch describing the run to start
    return { continuationToken: "thread-1", agent: "calculator", message: body };
  },
});

Other primary entry points: defineAgentProfile, defineCommand, defineMemoryConnector, defineHttpConnection, defineSandbox, defineEval, personaAgent / parsePersonaManifest (persona compile target), startWorkflow / advanceWorkflow (authored workflows), invokeAgent / dispatchWorkflow / recoverRuns, builtinTools, connectMcpServer, observe / EventBus (events), and persistence adapters (inMemoryAdapter, kvAdapter). See src/index.ts for the full surface.

Run dispatch admission

POST /runs, POST /runs/:name, and the deprecated POST /workflows/:name alias accept Idempotency-Key. The key must contain 1-256 UTF-8 bytes and is scoped to the deployment's persistence store. The first request atomically admits one run. A retry with the same normalized execution input returns the same run id without executing again; the same key with different input returns 409 idempotency_conflict. Omitting the header preserves fresh-run behavior.

Payload identity is SHA-256 over canonical JSON. It includes the resolved run kind and name; agent input includes normalized message, payload, and images, while workflow input includes payload. Object keys are sorted, array order is preserved, and response-only wait controls are excluded. The raw idempotency key is not persisted—only its SHA-256 hash is stored with the run record.

Replay responses project the current durable run record rather than reproduce the original HTTP response body. A completed wait-mode replay returns the one persisted result value as data when it is a string or result otherwise, and does not include non-persisted usage. A wait-mode replay of an in-flight run returns 202 with its current queued, running, or waiting_approval status instead of attaching to the existing execution.

ATLASFLOW_API_KEY remains the primary bearer for every authenticated route. Set ATLASFLOW_DISPATCH_KEY to allow a scheduler or control plane to call only the three dispatch routes above. That credential is rejected by sessions, run/event reads, approvals, streams, and admin routes. A dispatch-key-only client therefore needs the primary key or a scoped token to poll GET /runs/:id.

Run completion export

RunCompletedV1 is the versioned, runtime-owned contract for exporting terminal run evidence to a managed control plane. Generated deployments enable the durable reconciler when ATLASFLOW_RUN_COMPLETION_URL and ATLASFLOW_RUN_COMPLETION_TOKEN are configured. Node requires Postgres; Cloudflare requires the Durable Object runtime. Receivers must durably deduplicate Idempotency-Key within the authenticated deployment principal before returning success. Managed deployments set ATLASFLOW_RELEASE_ID; the runtime snapshots it on run admission and exports it as immutable release provenance, so delayed delivery remains correct across redeploys. The wire contract is capped at 256 KiB. Oversized events and deterministic contract rejections are retained as dead-lettered outbox evidence instead of being retried forever.

License

Proprietary. © 2026 Cybernetyx. See LICENSE.